{
ExecIndexRow keyRow1 = null;
ExecRow row;
DataValueDescriptor idOrderable;
DataValueDescriptor columnNameOrderable;
TabInfo ti = getNonCoreTI(SYSSTATEMENTS_CATALOG_NUM);
SYSSTATEMENTSRowFactory rf = (SYSSTATEMENTSRowFactory) ti.getCatalogRowFactory();
int[] updCols;
if (recompile)
{
if(firstCompilation)
{
updCols = new int[] {SYSSTATEMENTSRowFactory.SYSSTATEMENTS_VALID,
SYSSTATEMENTSRowFactory.SYSSTATEMENTS_LASTCOMPILED,
SYSSTATEMENTSRowFactory.SYSSTATEMENTS_USINGTEXT,
SYSSTATEMENTSRowFactory.SYSSTATEMENTS_CONSTANTSTATE,
SYSSTATEMENTSRowFactory.SYSSTATEMENTS_INITIALLY_COMPILABLE};
}else
{
updCols = new int[] {SYSSTATEMENTSRowFactory.SYSSTATEMENTS_VALID,
SYSSTATEMENTSRowFactory.SYSSTATEMENTS_LASTCOMPILED,
SYSSTATEMENTSRowFactory.SYSSTATEMENTS_USINGTEXT,
SYSSTATEMENTSRowFactory.SYSSTATEMENTS_CONSTANTSTATE };
}
}
else
{
updCols = new int[] {SYSSTATEMENTSRowFactory.SYSSTATEMENTS_VALID} ;
}
idOrderable = getValueAsDVD(spsd.getUUID());
/* Set up the start/stop position for the scan */
keyRow1 = (ExecIndexRow) exFactory.getIndexableRow(1);
keyRow1.setColumn(1, idOrderable);
row = rf.makeSYSSTATEMENTSrow(false, // don't compile
spsd);
/*
** Not updating any indexes
*/
boolean[] bArray = new boolean[2];
/*
** Partial update
*/
ti.updateRow(keyRow1, row,
SYSSTATEMENTSRowFactory.SYSSTATEMENTS_INDEX1_ID,
bArray,
updCols,
tc,
wait);