Skip to content

Documentation should indicate against relying on case-insensitivity when collating DB results #417

Description

@d-w-moore

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions