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.