Details
-
Task
-
Status: Closed (View Workflow)
-
P2
-
Resolution: Done
-
None
-
-
Core: Platform - Sprint 56, Core: Platform - Sprint 57, CP: ready for planning, CP: sprint 70, CP: sprint 69, CP: sprint 71, CP: sprint 72, CP: sprint 73, CP: sprint 74, CP: sprint 75, CP: sprint 76, CP: sprint 77, CP: sprint 78
-
8
-
Core: Platform
Description
UI inventory uses CQL queries like the below, a view is required:
((title="*" or contributors adj "\"name\": \"*\"" or identifiers adj "\"value\": \"*\"")) and holdingsRecords.permanentLocationId="fcd64ce1-6995-48f0-840e-89ffa2288371" sortby title
Smallest testcase triggering the view:
holdingsRecords.permanentLocationId="fcd64ce1-6995-48f0-840e-89ffa2288371"
Resulting SQL:
lower(f_unaccent(instance_holding_view.ho_jsonb->>'permanentLocationId')) ~ lower(f_unaccent('(^|[[:punct:]]|[[:space:]]|(?=[[:punct:]]|[[:space:]]))fcd64ce1-6995-48f0-840e-89ffa2288371($|[[:punct:]]|[[:space:]]|(?<=[[:punct:]]|[[:space:]]))'))
Expected:
The generated Query should not use a view but a nested subquery that performs filtering by permanentLocationId, similar to:
_id IN (SELECT (jsonb->>'instanceId')::UUID from holdings_record WHERE jsonb->>'permanentLocationId' = 'fcd64ce1-6995-48f0-840e-89ffa2288371')
Acceptance criteria:
- CQL2PG and RMB that support generation of nested subqueries when a foreign key filtering is invoked in CQL
- mod-inventory-storage version that supports filtering by location combined with searching for titles, contributors and identifiers and does not use a view but a SQL subquery
TestRail: Results
Attachments
Issue Links
- blocks
-
RMB-441 Consider to use = over LIKE when search term has no wildcard
-
- Closed
-
-
UXPROD-1820 RMB 27 release features and core module rollout (performance, virtual indexes, search enhancements)
-
- Closed
-
-
UXPROD-2119 RMB 28 release features and core module rollout (performance, virtual indexes, search enhancements)
-
- Closed
-
- is blocked by
-
CQLPG-95 SPIKE: design foreign key search support
-
- Closed
-
-
FOLIO-1920 SPIKE: optimize query instance by location
-
- Closed
-
-
FOLIO-2255 Update perf test data to populate foreign key data
-
- Closed
-
-
MODINVSTOR-339 Use new foreign key for holdings and bar code search
-
- Closed
-
-
MODINVSTOR-368 Upgrade to RMB 27.1.1
-
- Closed
-
-
MODINVSTOR-403 Upgrade to RMB 29.1.0
-
- Closed
-
-
RMB-395 support nested sub queries across multiple tables
-
- Closed
-
-
RMB-468 Foreign key field index
-
- Closed
-
-
RMB-497 Replace JSQL parser by using SqlSelect from CQL2PgJSON
-
- Closed
-
-
RMB-506 estimate hit counts
-
- Closed
-
-
RMB-526 Upgrade failing: pgpsql , create or replace count_estimate_smart2
-
- Closed
-
- is duplicated by
-
MODINVSTOR-185 Analyze filtering by location
-
- Closed
-
- relates to
-
CQLPG-82 Allow CQL2PGJSON to specify the path for the 'schema.json' file
-
- Closed
-
-
FOLIO-2328 verify performance of filtering instances by item.effectiveLocationId
-
- Closed
-
-
MODINVSTOR-185 Analyze filtering by location
-
- Closed
-
-
MODINVSTOR-255 GET 200 - instance-storage by source: query=source=abc takes 360 s
-
- Closed
-
-
MODINVSTOR-273 SPIKE: analyze instance storage API location filter performance
-
- Closed
-
-
RMB-486 Use indexed id fields in foreign tables: holdingsRecords.permanentLocationId==abc*
-
- Closed
-
-
CHAL-92 In Inventory, filtering on Location takes up to one minute
-
- Closed
-
-
CQLPG-37 Schema driven CQL generation and PGFT support
-
- Closed
-
-
FOLIO-1771 clean up and isolate tests
-
- Closed
-
-
MODINVSTOR-215 use sort or search index depending on the result size
-
- Closed
-
-
MODINVSTOR-246 filtering /instance-storage/instances by 'query=id=xxx' does not perform
-
- Closed
-
-
MODINVSTOR-336 GET inventory_items?query=(status.name=="Available") slow
-
- Closed
-
-
MODINVSTOR-368 Upgrade to RMB 27.1.1
-
- Closed
-
-
RMB-457 option to enable: analyze explain queries
-
- Closed
-
-
STSMACOM-259 Instance search result total is wrong when there are 10K+ records in Inventory
-
- Closed
-