use of org.jumpmind.db.sql.DmlStatement in project symmetric-ds by JumpMind.
the class DbFill method deleteRandomRecord.
/**
* Delete a random row in the given table or delete all rows matching selectColumns
* in the given table.
*
* @param table Table to delete from.
* @param selectColumns If provided, the rows that match this criteria are deleted.
*/
private void deleteRandomRecord(ISqlTransaction tran, Table table) {
DmlStatement deleteStatement = createDeleteDmlStatement(table);
Row row = selectRandomRow(tran, table);
try {
tran.prepareAndExecute(deleteStatement.getSql(), row.toArray(table.getPrimaryKeyColumnNames()));
} catch (SqlException ex) {
log.info("Failed to delete from {}: {}", table.getName(), ex.getMessage());
if (continueOnError) {
if (debug) {
logRow(row);
log.info("", ex);
}
} else {
throw ex;
}
}
}
use of org.jumpmind.db.sql.DmlStatement in project symmetric-ds by JumpMind.
the class DbFill method createDynamicRandomDeleteSql.
public String createDynamicRandomDeleteSql(Table table) {
DmlStatement deleteStatement = createDeleteDmlStatement(table);
Row row = selectRandomRow(table);
return deleteStatement.buildDynamicDeleteSql(BinaryEncoding.HEX, row, false, true);
}
use of org.jumpmind.db.sql.DmlStatement in project symmetric-ds by JumpMind.
the class DbFill method createDynamicRandomInsertSql.
public String createDynamicRandomInsertSql(Table table) {
DmlStatement insertStatement = createInsertDmlStatement(table);
Row row = createRandomInsertValues(insertStatement, table);
return insertStatement.buildDynamicSql(BinaryEncoding.HEX, row, false, true);
}
use of org.jumpmind.db.sql.DmlStatement in project symmetric-ds by JumpMind.
the class DbFill method updateRandomRecord.
private void updateRandomRecord(Table table) {
DmlStatement updStatement = createUpdateDmlStatement(table);
Row row = createRandomUpdateValues(updStatement, table);
try {
platform.getSqlTemplate().update(updStatement.getSql(), row.toArray(table.getColumnNames()));
if (verbose) {
log.info("Successful update in " + table.getName());
}
} catch (SqlException ex) {
log.info("Failed to process {} with values of {}", updStatement.getSql(), ArrayUtils.toString(row.toArray(table.getColumnNames())));
if (continueOnError) {
if (debug) {
log.info("", ex);
}
} else {
throw ex;
}
}
}
use of org.jumpmind.db.sql.DmlStatement in project symmetric-ds by JumpMind.
the class DbFill method createDynamicRandomUpdateSql.
public String createDynamicRandomUpdateSql(Table table) {
DmlStatement updStatement = createUpdateDmlStatement(table);
Row row = createRandomUpdateValues(updStatement, table);
return updStatement.buildDynamicSql(BinaryEncoding.HEX, row, false, true);
}
Aggregations