Opened 7 years ago
Last modified 3 years ago
#29222 new Bug
Substr on NULL values returns incorrect results with pattern lookups. — at Initial Version
Reported by: | Mariusz Felisiak | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | dev |
Severity: | Normal | Keywords: | Oracle |
Cc: | Mariusz Felisiak | Triage Stage: | Accepted |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
feb683c4c2c5ecfb61e4cb490c3e357450c0c0e8 revealed an unrelated issue on Oracle. SUBSTR(NULL, x, y)
returns NULL
on Oracle which can be concatenate with other strings, hence if we use it with pattern lookups then all rows match an query, e.g.
__startswith=Substr(sth, x, y)
->LIKE SUBSTR(sth, x, y) || '%'
->LIKE '%'
,__endswith=Substr(sth, x, y)
->LIKE '%' || SUBSTR(sth, x, y)
->LIKE '%'
,__contains=Substr(sth, x, y)
->LIKE '%' || SUBSTR(sth, x, y) || '%'
->LIKE '%%'
,
which is unexpected.
Note:
See TracTickets
for help on using tickets.