Bug #75912
closed
PostgreSQL: Argument of AND must be type boolean, not type integer
Added by Jan Pascal Maas over 8 years ago.
Updated about 2 years ago.
Category:
Database API (Doctrine DBAL)
Description
Just ran into this issue with error #1421053336 with current LTS version (7.6.5) and this query:
SELECT "uid" FROM "pages" WHERE "pid" = 7 AND "pages"."deleted" = 0 AND 1
Happened directly after I inserted an record onto my page. Postgres log tells me:
ERROR: argument of AND must be type boolean, not type integer at character 77.
Looks like this is caused by line 1535 in the QueryGenerator:
$res = $databaseConnection->exec_SELECTquery('uid', 'pages', 'pid=' . $id . ' ' . BackendUtility::deleteClause('pages') . ' AND ' . $perms_clause);
Quick and dirty fix: remove the "AND $perms_clause" part. But I believe that the issue lies in the deep as it might cause side effects.
Best regards
- Status changed from New to Accepted
- Assignee set to Morton Jonuschat
- Target version set to Candidate for patchlevel
Probably due to wrong usage of the page permissions methods in the QueryGenerator. Statement is "wrong" on MySQL as well, it just doesn't complain.
- Status changed from Accepted to Under Review
- Status changed from Under Review to Resolved
- % Done changed from 0 to 100
- Status changed from Resolved to Closed
- % Done changed from 100 to 0
- TYPO3 Version changed from 7 to 9
- PHP Version changed from 5.6 to 7.4
- Is Regression changed from No to Yes
I fearr this bug seems to be back.. TYPO3 9.5.24, postgresql..
(1/3) Doctrine\DBAL\Exception\DriverException
An exception occurred while executing 'SELECT "uid" FROM "pages" WHERE ("pid" = ?) AND ("sys_language_uid" = 0) AND (1) AND ("pages"."deleted" = 0) ORDER BY "uid" ASC' with params [21]: SQLSTATE42804: Datatype mismatch: 7 ERROR: argument of AND must be type boolean, not type integer LINE 1: ...RE ("pid" = $1) AND ("sys_language_uid" = 0) AND (1) AND ("p... ^
Hey.
Could you please raise a fresh issue if this is still an issue and link thin one? New notes on closed issues are likely to be overlooked.
- Related to Bug #102397: PostgreSQL: Argument of AND must be type boolean, not type integer added
Also available in: Atom
PDF