Subject Re: Case sensisitive table and field names
Author grimcomp
Hi Helen

I noticed when I did a search of the messages that you have been asked a similar question before. In this reply you said.

As Martijn said, it will be a case-sensitivity problem that will be solved (immediately) by using quoted delimiters and (robustly) by rebuilding the database without case-sensitive identifiers.

So I have a new question?

How do I rebuild the database with case-sensitive identifiers and will this solve the problem.

If I may ask, what part of australia do you come from.

Many Thanks

--- In ib-support@y..., Helen Borrie <helebor@t...> wrote:
> At 07:29 AM 28-08-02 +0000, you wrote:
> >Does Firebird support Mixedcase Table and Field names in SQL Statements
> >without using delimiters. I have created a Dialec 3 Database with a Table
> >called IOPorts with fields PortAddr, CurValue, OldValue, Etc all in mixed case.
> >
> >If I do a select on this table it fails with Table IOBoards not found, If
> >I delimit 'IOBoards' it works. This seems like strange behaviour to me.
> If you want to have case-sensitive identifiers, then you have no option but
> to use double-quote identifiers.
> Firebird by default treats all identifiers as case-insensitive and stores
> them in upper case. It looks as if you have been the victim of a database
> admin tool that forces quoted identifiers by default and either doesn't
> give you Firebird's default option or does give you the option and you
> didn't take it.
> >I want to convert my existing applications running against Sybase Anywhere
> >to Firebird but this problem means that I would have to change ALL my SQL
> >queries. I know I could get around the problem by converting all the
> >table and field names to upper-case but I don't like that naming style.
> As long as your Sybase tables don't contain illegal characters or use
> keywords, you can script the identifiers in CamelCase; but the fact
> remains that they will be stored in upper case unless they are
> double-quoted; and that will make them case-sensitive.
> So, without double-quoting, your existing queries will work just fine if
> you use CamelCase; but database admin tools will display them in uppercase
> because that is how they are stored.
> >I'm not up on SQL standards but my unstanding was that only reserved words
> >or names containing spaces needed to be delimited with ".
> Correct.
> >I have not used any other SQL database that required Uppercase Table and
> >Field names to work properly.
> Firebird's default is not to require them; but you have to choose your
> tools carefully.
> >If this capability is not supported at the moment will it be in the future.
> Not applicable.
> heLen