[Solved] SQLite - StoresLowerCaseIdentifiers

The forum for ZeosLib 7.2 Report problems. Ask for help, post proposals for the new version and Zeoslib 7.2 features here. This is a forum that will be edited once the 7.2.x version goes into RC/stable!!

My personal intention for 7.2 is to speed up the internals as optimal a possible for all IDE's. Hope you can help?! Have fun with testing 7.2
Post Reply
naumov13
Fresh Boarder
Fresh Boarder
Posts: 16
Joined: 19.09.2019, 14:33

[Solved] SQLite - StoresLowerCaseIdentifiers

Post by naumov13 »

Hello.

I found such a problem that the TZConnection.GetColumnNames method does not work correctly for tables containing uppercase characters, such as T01.

My environment:
Windows 8.1 x64
Delphi 2007
ZEOS version: 7.2.10-stable
Database driver: SQLite (sqlite3.dll v3.34.1)
At the same time, with ZEOS-7.1.4 everything works well.

While researching the problem, I found the following three methods

Code: Select all

TZAbstractDatabaseInfo.StoresMixedCaseIdentifiers
TZAbstractDatabaseInfo.StoresUpperCaseIdentifiers
TZAbstractDatabaseInfo.StoresLowerCaseIdentifiers
If I understood correctly, only one of them should return true, and the other two should return false.

For zeos- 7.1.4 (as well as 7.2.1-rc), this was the case:

Code: Select all

upper = false
lower = false
mixed = true
Then, in version 7.2.4 this was changed (I think this is wrong)

Code: Select all

upper = false
lower = false -> true
mixed = true -> false
Then, in version 7.2.8 this was fixed (but not completely)

Code: Select all

upper = false
lower = true
mixed = false -> true
As a result, both functions now return true, which is contrary to reality.
And when the GetColumnNames method works, it thinks that the table name T01 needs to be converted to lowercase.

Tell me, am I right in my guesses?
If I'm right, I guess a fix is needed for 7.2 and 8.0 branches.
Last edited by naumov13 on 27.03.2021, 08:23, edited 2 times in total.
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1956
Joined: 17.01.2011, 14:17

Re: SQLite - StoresLowerCaseIdentifiers

Post by marsupilami »

Hello,

could you please open a bugreport on Sourceforge for this? See https://sourceforge.net/p/zeoslib/tickets/

Best regards,

Jan
naumov13
Fresh Boarder
Fresh Boarder
Posts: 16
Joined: 19.09.2019, 14:33

Re: SQLite - StoresLowerCaseIdentifiers

Post by naumov13 »

marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1956
Joined: 17.01.2011, 14:17

Re: SQLite - StoresLowerCaseIdentifiers

Post by marsupilami »

Thank you :)
naumov13
Fresh Boarder
Fresh Boarder
Posts: 16
Joined: 19.09.2019, 14:33

Re: SQLite - StoresLowerCaseIdentifiers

Post by naumov13 »

Fixed in r7395.

Are there plans to update the 7.2 release in the future?
Maybe 7.2.11 or 7.2.12?

I am currently considering whether to keep my projects on stable 7.2 or switch to trunk (8.0) and use it.
marsupilami
Platinum Boarder
Platinum Boarder
Posts: 1956
Joined: 17.01.2011, 14:17

Re: [Solved] SQLite - StoresLowerCaseIdentifiers

Post by marsupilami »

Hello, I think there will be another 7.2 version. But I assume that once we release Zeos 8.0, there will be no more patches for 7.2 that are worth to be released.
If you plan to switch, please switch to the 8.0-patches branch.
Post Reply