Changes between Initial Version and Version 1 of Ticket #27321


Ignore:
Timestamp:
Oct 7, 2016, 11:03:22 AM (8 years ago)
Author:
Adam Johnson
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #27321 – Description

    initial v1  
    1 #26781 added `test_alter_db_table_case` which presumes that table names are case sensitive. MySQL and MariaDB rely on the underlying filesystem to provide case sensitivity, as well as a setting, as per https://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html and https://mariadb.com/kb/en/mariadb/identifier-case-sensitivity/ . Thus it fails on OS X where the default filesystem is case insensitive, with:
     1#26781 added the `ignores_quoted_identifier_case` database feature, which defaults to `False`, so it's `False` for the MySQL backend. Unfortunately this can't be determined without reference to the filesystem that the tables are stored on - MySQL and MariaDB rely on the underlying filesystem to provide case sensitivity, as well as a setting, as per https://dev.mysql.com/doc/refman/5.7/en/identifier-case-sensitivity.html and https://mariadb.com/kb/en/mariadb/identifier-case-sensitivity/ .
     2
     3Thus the added test, `test_alter_db_table_case`, fails on OS X where the default filesystem is case insensitive, with:
    24
    35{{{
     
    57}}}
    68
    7 I can't find any good information on whether PostgreSQL depends on filesystem case sensitive or not. All the results I found in five minutes of Googling seem to relate to whether it's syntactically case sensitive, and suggest it lowercases all table names in queries unless they are double-quoted, which would make renaming a table to uppercase a no-op.
     9I can't find any good information on whether PostgreSQL depends on filesystem case sensitive or not. All the results I found in five minutes of Googling seem to relate to whether it's syntactically case sensitive, and suggest it lowercases all table names in queries unless they are double-quoted, which would make renaming a table to uppercase a no-op anyway?
    810
    9 This would mean `ignores_quoted_identifier_case` should be `True` for MySQL with its data directory mounted on a case insensitive filesystem. The only way to reliably check this would be to try create two tables with names that differ only in case and seeing if the second one failed..
     11`ignores_quoted_identifier_case` should be `True` for MySQL when its data directory is mounted on a case insensitive filesystem. The only way to reliably check this that I can think of would be to try create two tables with names that differ only in case and seeing if the second one failed, which is kind of nasty.
Back to Top