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 h2-database+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/h2-database/a01867ed-f497-4a74-a5f1-042f2315e2c3n%40googlegroups.com.

Reply via email to