A character string consisting of a comma-separated list of the index or indexes the query uses at the level of join specified.
Data type: CHARACTER
Access: Read-only
Applies to: Query object handle
If the index or indexes do not have bracketing, the first entry in the list is the CHARACTER string "WHOLE-INDEX," and the second entry in the list is name of the index.
Before you use INDEX-INFORMATION on a dynamic query, you must prepare the query using the QUERY-PREPARE method.
Before you can use the INDEX-INFORMATION attribute on a static query, you must define the query using the DEFINE QUERY statement's RCODE-INFORMATION option.
The following example prints out the PREPARE-STRING, analyzes the INDEX-INFORMATION, and prints a list of bracketed and whole-index indexes:
r-iinfo.p
DEFINE VARIABLE hQuery AS HANDLE NO-UNDO. DEFINE VARIABLE ix AS INTEGER NO-UNDO. DEFINE VARIABLE jx AS INTEGER NO-UNDO. DEFINE QUERY q FOR Customer, Order, OrderLine SCROLLING. hQuery = QUERY q:HANDLE. hQuery:QUERY-PREPARE("FOR EACH Customer WHERE Customer.CustNum < 3, EACH Order OF Customer, EACH OrderLine"). hQuery:QUERY-OPEN. MESSAGE "prepare string is" hQuery:PREPARE-STRING. REPEAT ix = 1 TO hQuery:NUM-BUFFERS: jx = LOOKUP("WHOLE-INDEX", hQuery:INDEX-INFORMATION(ix)). IF jx > 0 THEN MESSAGE "inefficient index" ENTRY(jx + 1, hQuery:INDEX-INFORMATION(ix)). ELSE MESSAGE "bracketed index use of" hQuery:INDEX-INFORMATION(ix). END. |