fillModes( keys, true, defaultModeNames, modeTypes, queryData );
fillModes( values, false, defaultModeNames, modeTypes, queryData );
StringBuffer queryBuffer = new StringBuffer("INSERT INTO ");
StringBuffer valueBuffer = new StringBuffer(") VALUES (");
AutoIncrementModule dah;
queryBuffer.append(table.getAttribute("name"));
queryBuffer.append(" (");
int actualColumns = 0;
for (int i = 0; i < queryData.columns.length; i++) {
if ( actualColumns > 0 ) {
queryBuffer.append( ", " );
valueBuffer.append( ", " );
}
if ( queryData.columns[i].isKey && queryData.columns[i].isAutoIncrement ) {
ComponentSelector autoincrSelector = null;
AutoIncrementModule autoincr = null;
try {
autoincrSelector=(ComponentSelector) this.manager.lookup(DATABASE_MODULE_SELECTOR);
if (queryData.columns[i].mode != null && autoincrSelector != null && autoincrSelector.hasComponent(queryData.columns[i].mode)){
autoincr = (AutoIncrementModule) autoincrSelector.select(queryData.columns[i].mode);
}
if ( autoincr.includeInQuery() ) {
actualColumns++;
queryBuffer.append( queryData.columns[i].columnConf.getAttribute( "name" ) );
if ( autoincr.includeAsValue() ) {
valueBuffer.append( "?" );
} else {
valueBuffer.append(
autoincr.getSubquery( table, queryData.columns[i].columnConf,
queryData.columns[i].modeConf ) );
}
}
} finally {