The great MySQL and MSSQL made that choice that tables (by default) are
made case insensitive.
Meaning that 'foobar' is the same as 'FooBar'.
Today if you create a portal or a page 'toto' and then 'tOtO' it will
work for other databases but for MySQL or MSSQL it will fail.
We should prevent to have 2 portal names that are the same (case
insensitive). We can't do a simple JCR query (AFAIK) to verify if 2
portal names are the same (case insensitive), unless we try and catch an
error. But the error would only happen for those 2 and would potentially
make a migration from 1 DB to another difficult since they would react
differently.
The other option is to transform all ids to lowercase before storing in
Database so we are safe with all database. I actually think it would be
a good practice as those ids appear in the URL which are usually all in
lowercase.
Or if anyone think about any other option ?
Thomas.