Fix testGetGeneratedKeysSingleLong

This commit is contained in:
Travis Burtrum 2018-09-24 00:30:16 -04:00
parent 05d6c4c4be
commit 268b0500f1
1 changed files with 51 additions and 42 deletions

View File

@ -468,50 +468,59 @@ public class QueryMapperTest {
return; return;
final QueryMapper qm = ((QueryMapperQmDao)this.qm).getQm(); final QueryMapper qm = ((QueryMapperQmDao)this.qm).getQm();
// auto increment stuff for getGeneratedKeys, how obnoxious are these subtle differences... try {
if(isWrapperFor(qm.getConnection(), classForName("org.sqlite.SQLiteConnection"))) { // auto increment stuff for getGeneratedKeys, how obnoxious are these subtle differences...
qm.executeUpdate("CREATE TABLE a_thaoeu_table(\n" + if (isWrapperFor(qm.getConnection(), classForName("org.sqlite.SQLiteConnection"))) {
" a_thaoeu_table_no INTEGER PRIMARY KEY AUTOINCREMENT,\n" + qm.executeUpdate("CREATE TABLE a_thaoeu_table(\n" +
" a_thaoeu_table_val NUMERIC\n" + " a_thaoeu_table_no INTEGER PRIMARY KEY AUTOINCREMENT,\n" +
")"); " a_thaoeu_table_val NUMERIC\n" +
} else if(isWrapperFor(qm.getConnection(), classForName("org.mariadb.jdbc.MariaDbPooledConnection"))) { ")");
qm.executeUpdate("CREATE TABLE a_thaoeu_table(\n" + } else if (isWrapperFor(qm.getConnection(), classForName("org.mariadb.jdbc.MariaDbPooledConnection"))) {
" a_thaoeu_table_no INTEGER PRIMARY KEY AUTO_INCREMENT,\n" + qm.executeUpdate("CREATE TABLE a_thaoeu_table(\n" +
" a_thaoeu_table_val NUMERIC\n" + " a_thaoeu_table_no INTEGER PRIMARY KEY AUTO_INCREMENT,\n" +
")"); " a_thaoeu_table_val NUMERIC\n" +
} else if(isWrapperFor(qm.getConnection(), postgreConnection)) { ")");
qm.executeUpdate("CREATE TABLE a_thaoeu_table(\n" + } else if (isWrapperFor(qm.getConnection(), postgreConnection)) {
" a_thaoeu_table_no SERIAL PRIMARY KEY,\n" + qm.executeUpdate("CREATE TABLE a_thaoeu_table(\n" +
" a_thaoeu_table_val NUMERIC\n" + " a_thaoeu_table_no SERIAL PRIMARY KEY,\n" +
")"); " a_thaoeu_table_val NUMERIC\n" +
} else if(isWrapperFor(qm.getConnection(), mssqlConnection)) { ")");
qm.executeUpdate("CREATE TABLE a_thaoeu_table(\n" + } else if (isWrapperFor(qm.getConnection(), mssqlConnection)) {
" a_thaoeu_table_no INTEGER IDENTITY(1,1) PRIMARY KEY,\n" + qm.executeUpdate("CREATE TABLE a_thaoeu_table(\n" +
" a_thaoeu_table_val NUMERIC\n" + " a_thaoeu_table_no INTEGER IDENTITY(1,1) PRIMARY KEY,\n" +
")"); " a_thaoeu_table_val NUMERIC\n" +
} else if(isWrapperFor(qm.getConnection(), oracleConnection)) { ")");
qm.executeUpdate("CREATE TABLE a_thaoeu_table(\n" + } else if (isWrapperFor(qm.getConnection(), oracleConnection)) {
" a_thaoeu_table_no INTEGER PRIMARY KEY,\n" + qm.executeUpdate("CREATE TABLE a_thaoeu_table(\n" +
" a_thaoeu_table_val NUMERIC\n" + " a_thaoeu_table_no INTEGER PRIMARY KEY,\n" +
")"); " a_thaoeu_table_val NUMERIC\n" +
qm.executeUpdate("CREATE SEQUENCE a_thaoeu_table_seq\n" + ")");
"MINVALUE 1\n" + qm.executeUpdate("CREATE SEQUENCE a_thaoeu_table_seq\n" +
"START WITH 1\n" + "MINVALUE 1\n" +
"INCREMENT BY 1\n" + "START WITH 1\n" +
"CACHE 10"); "INCREMENT BY 1\n" +
// so different we have to do test here "CACHE 10");
for(long expected = 1; expected < 5; ++expected) { // so different we have to do test here
final long autoTableNo = qm.insertGetGeneratedKey("INSERT INTO a_thaoeu_table (a_thaoeu_table_no, a_thaoeu_table_val) VALUES (a_thaoeu_table_seq.nextval, ?)", expected * 2); for (long expected = 1; expected < 5; ++expected) {
final long autoTableNo = qm.insertGetGeneratedKey("INSERT INTO a_thaoeu_table (a_thaoeu_table_no, a_thaoeu_table_val) VALUES (a_thaoeu_table_seq.nextval, ?)", expected * 2);
assertEquals(expected, autoTableNo);
}
return;
} else {
return; // can't do test...
}
for (long expected = 1; expected < 5; ++expected) {
final long autoTableNo = qm.insertGetGeneratedKey("INSERT INTO a_thaoeu_table (a_thaoeu_table_val) VALUES (?)", expected * 2);
assertEquals(expected, autoTableNo); assertEquals(expected, autoTableNo);
} }
return; } finally {
} else { try {
return; // can't do test... qm.executeUpdate("DROP TABLE a_thaoeu_table");
} qm.executeUpdate("DROP SEQUENCE a_thaoeu_table_seq");
} catch(Exception e) {
for(long expected = 1; expected < 5; ++expected) { // ignore
final long autoTableNo = qm.insertGetGeneratedKey("INSERT INTO a_thaoeu_table (a_thaoeu_table_val) VALUES (?)", expected * 2); }
assertEquals(expected, autoTableNo);
} }
} }