Project

General

Profile

Actions

Bug #98570

closed

PageTreeFilter does not work similar to MySQL/MariaDB with PostgreSQL

Added by Stefan Bürk almost 2 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2022-10-10
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
11
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

MySQL/MariaDB relates 'LIKE' comparision to be case-sensitive or
case-insensitive based on collation (connection/field). This defaults
to case-insensitive for nearly all dbms server installations and
how TYPO3 is shipped.

PostgresSQL however does a case-sensitive comparision if the 'LIKE'
keyword is used. To mirror the mostly-to-expect default from the
MySQL/MariaDB world and search case-insensitive, the 'ILIKE' keyword
must be used.

To level-off how like() and notLike() ExpressionBuilder methods builds
and behavious cross-dbms, 'ILIKE' should be used for PostgresSQL.

SQLite does a case-insenstive LIKE comparision by default. However, this
only works for ascii char based search strings, non-ascii chars are searched
case-sensitive. This is how SQLite operates in most compilations. SQLite may
be compiled with ICU extensions and should then respect non-ascii searches
in the same way. Same limitation applies for UPPER and LOWER, so they
cannot be used as a workaround. Thus SQLite cannot and should not be adopted.

We should consider to state some limitation with SQLite as DBMS backend more
activly in the documentation and install/requirement places.

Actions

Also available in: Atom PDF