CLEAR SET NULL ON SET VARCHARMAPPING OFF CREATE CURSOR BYBYBUG (AB C(10) NULL,dField D,tField T,iField I,nField n(10,2),yField Y) * FIXED LENGHT STRING INDEX ON 'XX'+AB TAG T1 * SOME FIXED LENGHT EXPRESSIONS THAT VARCHARMAPPING ON map to VarChar * AND THAT RUSHMORE SKIP when ANSI is OFF INDEX ON 0h32+AB TAG T2 && ANSI OFF SKIP THIS INDEX ON 'A'+0h32+AB TAG T3 && ANSI OFF SKIP THIS INDEX ON 0h32+'A'+AB TAG T4 && ANSI OFF SKIP THIS * Next one is a UT's known issue INDEX ON STR(iField) TAG T5 && ANSI OFF SKIP THIS INDEX ON SPACE(INT(1)) TAG T6 && ANSI OFF SKIP THIS * ALL TRANSFORM, WITH A FIXED MASK ALSO INDEX ON TRANSFORM(iField,"9999") TAG T7 && ANSI OFF SKIP THIS INDEX ON TRANSFORM(nField,"9999.99") TAG T8 && ANSI OFF SKIP THIS INDEX ON TRANSFORM(yField,"@R $99999999.99") TAG T9 && ANSI OFF SKIP THIS SYS(3054,11) SET ANSI OFF ? "ANSI",SET("Ansi") Test() SET ANSI ON ? "ANSI",SET("Ansi") Test() SYS(3054,0) PROCEDURE test SELECT * FROM BYBYBUG WHERE 'XX'+AB ='X' INTO ARRAY GRRR SELECT * FROM BYBYBUG WHERE 0h32+AB ='X' INTO ARRAY GRRR SELECT * FROM BYBYBUG WHERE 'A'+0h32+AB ='X' INTO ARRAY GRRR SELECT * FROM BYBYBUG WHERE 0h32+'A'+AB ='X' INTO ARRAY GRRR SELECT * FROM BYBYBUG WHERE STR(iField) ='X' INTO ARRAY GRRR SELECT * FROM BYBYBUG WHERE SPACE(INT(1)) ='X' INTO ARRAY GRRR SELECT * FROM BYBYBUG WHERE TRANSFORM(iField,"9999") ='X' INTO ARRAY GRRR SELECT * FROM BYBYBUG WHERE TRANSFORM(nField,"9999.99") ='X' INTO ARRAY GRRR SELECT * FROM BYBYBUG WHERE TRANSFORM(yField,"@R $99999999.99") ='X' INTO ARRAY GRRRand others: which ?