Subject RE: SQL dialect?
Author Svein Erling Tysvær
Hi Jacob!

>Hi - I'm in the process of migrating a Delphi 2007 BDE application (recently migrated from Delphi 1!) with approx 250 forms and 88 Paradox tables to
>Firebird using IBObjects.
>
>What SQL dialect do you recommend? Is there any reason not to use dialect 3?

No, not when converting from Paradox to Firebird. Dialect 1 is less strict with SQL syntax and could serve as an intermediate step if translating form an old InterBase version (IB 6 or older). I'm not certain whether there are any reserved words in dialect 3 that aren't reserved in dialect 1, but it would anyway be better to change the name of the column(s) in such cases. So dialect 3 should be preferred.

>My application language is Danish, and I need in-case-sensitive sorting on database queries. Do I need Unicode for that? As a default database character
>set, or table char set? The Danish character set is the basic a-z with 3 additional letters æ, ø, å.

You can of course use Unicode, but you can also use something like CHARACTER SET ISO8859_1 COLLATE DA_DA (or CHARACTER SET WIN1252 COLLATE PXW_NORDAN4, I've never used WIN1252 myself). I think those are case sensitive collations, so you will have to use a 'shadow column', which basically is an indexed column populated through a trigger with the upper (or lower) case equivalent of the column of interest. Then you just set one property in IBO and searches on the case sensitive column is automatically diverted to the upper cased column. Alternatively, you can use an expression index (available from Firebird 2 onwards, I think).

>My application is not Unicode-ready in general, I haven't paid attention to that yet. Do I need to deal with that now?

Deal with it when you want, there should be no problem as long as you don't upgrade your Delphi version and only have Danish characters.

HTH,
Set