User tests: Successful: Unsuccessful:
Pull Request for Issue #45839 .
This pull request adds missing names quotes to the column alias "newPublished" of the subquery used in the "recursiveUpdatePublishedColumn" in the "Joomla\CMS\Table\Nested" table class and corrects casing for the later use of that column alias so that the query works without any error on any database environment, regardless of case-sensitivity of column names.
On MySQL or MariaDB it might need a special environment to be able to reproduce the issue, e.g. a database server where the "information_schema" database uses a case-sensitive collation.
You could do that by changing the collation of the "information_schema" database and convert all its tables to the same collation as it has now but without the "_ci" at the end so that it is case-insensitive.
But you should make a backup so you can later restore the original state as it is not recommended to change the character set and collation of the "information_schema" database.
Then you can try to reproduce the issue.
On PostgreSQL there was no error because the 2 mistakes fixed by this PR compensate each other:
So on PostgreSQL you can only check if everything works as before.
See issue #45839 .
No such error.
Please select:
Documentation link for docs.joomla.org:
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
Status | New | ⇒ | Pending |
Category | ⇒ | Libraries |
Title |
|
P.S.: The connection collation has absolutely nothing to do with it.
I have not managed to duplicate the error even after creating a database from the command line with case-sensitive collation:
CREATE DATABASE joomla53 CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs;
When Joomla 5.3.3-dev is installed, the database connection_collation is automatically set to be case-insensitive:
I am guessing the server variable collation_connection should somehow be set in the command line session before creating the database, just to make the operations involving column aliases case-sensitive.