Menu

#471 TZDefaultIdentifierConvertor.GetIdentifierCase error

Unknown
closed
None
Bug Report
2021-01-23
2021-01-06
No

When using MySQL with table case sensitivity and mixed case table names, TZDefaultIdentifierConvertor.GetIdentifierCase() will always return lowercase identifiers,

ZDbcMetadata, around line 5158:

    if Metadata.GetDatabaseInfo.StoresUpperCaseIdentifiers and (Result <> icUpper) then
      S := UpperCase(Value)
    else if not Metadata.GetDatabaseInfo.StoresUpperCaseIdentifiers and (Result <> icLower) then
      s := LowerCase(Value)
    else S := Value;

The first else block looks like a copy-paste error; it should ask for StoresLowerCaseIdentifiers.

Discussion

  • marsupilami79

    marsupilami79 - 2021-01-08

    Hello Leonardo,

    I applied your patch from the forums in [r7204]. Currently I am waiting for the results of the test suites.

    Best regards,

    Jan

     

    Related

    Commit: [r7204]

  • Mark Ford

    Mark Ford - 2021-01-08

    Those changes look good but note that the MySQL Metadata does not currently support mixed case at all as it doesn't properly handle MySQL's "lower_case_table_names" setting.

     
  • EgonHugeist

    EgonHugeist - 2021-01-23
    • status: open --> closed
    • assigned_to: marsupilami79
     
  • EgonHugeist

    EgonHugeist - 2021-01-23

    Patch applied by Jan, thanks leus.
    Regards, Michael

     

Log in to post a comment.

MongoDB Logo MongoDB