USE PAGE.DBF INDEX PAGEI.CDX ORDER PAGERNAME ALIAS OPENDIR SELECT PAGERNAME, PAGERTYPE, PAGERATTN, PAGERSTAT, PAGERSTATD, PAGERFWDNU, PAGERFWDNA, PAGERGROUP, PAGERIVR, ATTNUSRDEF FROM OPENDIR INTO ARRAY dirArrayLocal WHERE UPPER(PAGERNAME) = "MYNAMEHERE"However, with my application, the same (?!) logic does not optimize.
>CREATE TABLE Page ( PAGERNAME C(20)) >INDEX ON PAGERNAME TAG PAGERNAME >... >Using index tag Pagername to rushmore optimize table opendir >Rushmore optimization level for table opendir: full >>
>>LOCAL ARRAY dirArrayLocal[1] >>LOCAL m.showrushmore >> >>* Diagnostic to verify SQL optimization. >>SYS(3054, 1, "showRushmore") >> >>SET DEFAULT TO z:\xx\xxdb >>SET OPTIMIZE ON >>SET DELETED OFF >> >>TRY >> *USE PAGE.DBF INDEX PAGEI.CDX ORDER PAGERNAME ALIAS OPENDIR >> USE PAGE.DBF ORDER PAGERNAME ALIAS OPENDIR >> >>*!* SELECT OPENDIR >>*!* SET ORDER TO PAGERNAME >> >> *SELECT TOP 1 PAGERNAME, PAGERTYPE, PAGERATTN, PAGERSTAT, PAGERSTATD, PAGERFWDNU, PAGERFWDNA, PAGERGROUP, PAGERIVR, ATTNUSRDEF > FROM OPENDIR INTO ARRAY dirArrayLocal WHERE PAGERNAME = "MYNAMEHERE" ORDER BY PAGERNAME >> SELECT TOP 1 PAGERNAME FROM OPENDIR INTO ARRAY dirArrayLocal >WHERE PAGERNAME = "MYNAMEHERE" ORDER BY PAGERNAME >> ? _TALLY >> ? showrushmore >> >> UPDATE openDir SET PAGERSTAT = "mystatushere",PAGERSTATD = "",PAGERFWDNU = "",PAGERFWDNU = "",PAGERFWDNA = "" >WHERE PAGERNAME = "MYNAMEHERE" >> ? _TALLY >> ? showrushmore >> >>CATCH TO oErr >> ? ( "Program Error: " + ALLTRIM(STR(oErr.ERRORNO)) ; >> + CHR(13) + CHR(10) + " " + oErr.MESSAGE ; >> + CHR(13) + CHR(10) + " at line " + ALLTRIM(STR(oErr.LINENO)) ; >> + CHR(13) + CHR(10) + " in " + oErr.PROCEDURE ) >>ENDTRY >> >>CLOSE DATABASES >>>>