Type[] colTypes = baseTable.getColumnTypes();
int[] columnMap = insertColumnMap;
//
Expression[] list = insertExpression.nodes;
RowSetNavigatorClient newData = new RowSetNavigatorClient(list.length);
for (int j = 0; j < list.length; j++) {
Expression[] rowArgs = list[j].nodes;
Object[] data = baseTable.getNewRowData(session);
session.sessionData.startRowProcessing();
for (int i = 0; i < rowArgs.length; i++) {
Expression e = rowArgs[i];
int colIndex = columnMap[i];
if (e.getType() == OpTypes.DEFAULT) {
if (baseTable.identityColumn == colIndex) {
continue;
}
data[colIndex] =
baseTable.colDefaults[colIndex].getValue(session);
continue;
}
data[colIndex] = colTypes[colIndex].convertToType(session,
e.getValue(session), e.getDataType());
}
newData.add(data);
}
return newData;
}