21%let testcaslib=Public;
24 table.caslibInfo result=r / ;
26 do row over r.CASLibInfo;
27 if upcase(row.Name)=upcase(
"&testcaslib") then found=1;
30 print "ERROR: caslib &testcaslib not available";
34%put NOTE: Using testcaslib=&testcaslib;
41 load data=sashelp.baseball
42 outcaslib="&testcaslib" casout="&tab1" replace;
43 save casdata="&tab1" incaslib="&testcaslib"
44 casout="&tab1..sashdat" outcaslib="&testcaslib" replace;
45 droptable casdata="&tab1" incaslib="&testcaslib" quiet;
48libname mylib cas caslib="&testcaslib";
52%put TEST 1 - load a table that is not in memory;
58 table.tableExists result=r /
59 caslib="&testcaslib" name="&tab1";
60 if r.exists > 0 then call symputx('_tabexists','1');
64 iftrue=(&_tabexists=0),
65 desc=Check table is not in memory before mv_castabload
68%mv_castabload(lib=mylib, table=&tab1, mdebug=1)
72 table.tableExists result=r /
73 caslib="&testcaslib" name="&tab1";
74 if r.exists > 0 then call symputx('_tabexists','1');
78 iftrue=(&_tabexists=1),
79 desc=Check table is in memory after mv_castabload
84%put TEST 2 - reload fetches a fresh copy and discards in-memory changes;
95 load data=work.extra casout="&tab1"
96 outcaslib="&testcaslib" append;
101 select count(*) into :_modified
103 where name='TESTROW';
107 iftrue=(&_modified=1),
108 desc=Check sentinel row is present in memory before reload
113 droptable casdata="&tab1" incaslib="&testcaslib" quiet;
114 droptable casdata="&tab1" incaslib="&testcaslib" quiet;
117%mp_assertscope(SNAPSHOT)
119%mv_castabload(lib=mylib, table=&tab1, mdebug=1)
121%mp_assertscope(COMPARE,
122 desc=Check mv_castabload does not leak macro variables into GLOBAL scope
127 select count(*) into :_after
129 where name='TESTROW';
134 desc=Check sentinel row is absent after reload from source
144 droptable casdata="&tab1" incaslib="&testcaslib" quiet;
145 droptable casdata="&tab1" incaslib="&testcaslib" quiet;
146 deletesource casdata="&tab1..sashdat"
147 incaslib="&testcaslib" quiet;