Related: irods/python-irodsclient#600
Add to GenQuery 1 & 2 and/or specific query related docs( as well as in any more general DB / query related sections that might exist ) a general caution against depending on lexicographical order in result sets from any query in iRODS.
This is because:
In default installations of MySQL, select 1 where 'a' = 'A' yields a row containing 1 (ie, the condition is true). However, PostgreSQL considers 'A' > 'a' as being true, whereas SQLite3 evaluates 'a' > 'A' as true.
This will affect, at the very least, any of the following:
- sorting in ORDER BY
- result sets depending on > , = and < and similar operators when comparing strings
- result sets depending on
BETWEEN string comparisons.
Related: irods/python-irodsclient#600
Add to GenQuery 1 & 2 and/or specific query related docs( as well as in any more general DB / query related sections that might exist ) a general caution against depending on lexicographical order in result sets from any query in iRODS.
This is because:
In default installations of MySQL,
select 1 where 'a' = 'A'yields a row containing 1 (ie, the condition is true). However, PostgreSQL considers'A' > 'a'as being true, whereas SQLite3 evaluates'a' > 'A'as true.This will affect, at the very least, any of the following:
BETWEENstring comparisons.