Thanks. Appreciate the quick and comprehensive response. Can you explain 
this a bit more: "It is possible to specify them in the default Regular 
compatibility mode "

Just curious, since the settings can't persist... what would happen if, in 
default mode, I created MyTable and also "mytable" and then later, 
connected with CASE_INSENSITIVE_IDENTIFIERS and queried SELECT * FROM 
MYTABLE ?

On Friday, January 13, 2023 at 2:12:31 AM UTC-8 Evgenij Ryazanov wrote:

> Hello!
>
> These settings aren't related to each other.
>
> IGNORE_CASE is about *data types* and their *values*. It replaces CHARACTER 
> VARYING (VARCHAR) columns in DDL commands with VARCHAR_IGNORECASE data 
> type. This legacy setting should never be used, it is much better to 
> specify some case-insensitive database collation if you need it.
>
> DATABASE_TO_UPPER, DATABASE_TO_LOWER, and CASE_INSENSITIVE_IDENTIFIERS 
> settings change treatment of *identifiers*. H2 by default is fully 
> compliant with the SQL Standard here. It means all unquoted identifiers are 
> converted to upper case. id, ID, Id, "ID" (and also non-standard 
> MySQL-style `ID` and `id`) are equal to each other, but "id" is an 
> another identifier. Some other database systems historically process 
> identifiers in their own special way and sometimes this way also depends on 
> their environment. That's why these settings can be set separately from 
> compatibility modes. Values of these settings, however, aren't persisted 
> and you must always specify them with the same values in JDBC URL.
>
> It is possible to specify them in the default Regular compatibility mode 
> too, but, again, the default behavior is already correct and compliant with 
> the Standard.
>

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/h2-database/a5e3949e-5a54-457e-93e8-5f1a9b851a40n%40googlegroups.com.

Reply via email to