Uploaded image for project: 'COmanage'
  1. COmanage
  2. CO-2217

Update DBAL to Handle Indexes Based on SQL Expressions

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Major
    • COmanage Match Future
    • COmanage Match 1.0.0 (Suitable Pear)
    • Match
    • None

    Description

      DBAL $Table->addIndex() does not support creating indexes using SQL expressions (or at least if it does, it is not clearly documented, since DBAL's documentation is... sparse).

      Matchgrids use two special indexes: NULLS FIRST to sort out unresolved Match Requests (via resolution_time), and LOWER(attribute) for case-insensitive indexes. MatchgridBuilder::configToSchema() currently implements workarounds to manually construct these indexes, but this mechanism is fragile, and in particular is problematic if an Attribute is flagged as Case Insensitive after the initial Matchgrid is built.

      Ideally, DBAL could be patched (upstream) to support expressions in index construction.

      (Alternately, Match could store the lowercase value in the Matchgrid instead, but then if the Attribute configuration flipped from Case Sensitive to Case Insensitive each value would need to be re-stored, and there would be no way to flip the configuration back.)

      Attachments

        Issue Links

          Activity

            People

              benn.oshrin@at.internet2.edu Benn Oshrin (internet2.edu)
              benn.oshrin@at.internet2.edu Benn Oshrin (internet2.edu)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: