use of org.seasar.doma.internal.jdbc.mock.MockConfig in project doma by domaframework.
the class NativeSqlSelectTest method expression_concat_mssql2008.
@Test
void expression_concat_mssql2008() {
NativeSql nativeSql = new NativeSql(new MockConfig() {
@Override
public Dialect getDialect() {
return new Mssql2008Dialect();
}
});
Emp_ e = new Emp_();
Buildable<?> stmt = nativeSql.from(e).select(concat(e.name, "a"));
Sql<?> sql = stmt.asSql();
assertEquals("select (t0_.NAME + 'a') from EMP t0_", sql.getFormattedSql());
}
use of org.seasar.doma.internal.jdbc.mock.MockConfig in project doma by domaframework.
the class NativeSqlSelectTest method forUpdate_oracle_nowait.
@Test
void forUpdate_oracle_nowait() {
NativeSql nativeSql = new NativeSql(new MockConfig() {
@Override
public Dialect getDialect() {
return new OracleDialect();
}
});
Emp_ e = new Emp_();
Buildable<?> stmt = nativeSql.from(e).forUpdate(ForUpdateOption.noWait()).select(e.id);
Sql<?> sql = stmt.asSql();
assertEquals("select t0_.ID from EMP t0_ for update nowait", sql.getFormattedSql());
}
use of org.seasar.doma.internal.jdbc.mock.MockConfig in project doma by domaframework.
the class NativeSqlSelectTest method forUpdate_oracle_wait_withColumn.
@Test
void forUpdate_oracle_wait_withColumn() {
NativeSql nativeSql = new NativeSql(new MockConfig() {
@Override
public Dialect getDialect() {
return new OracleDialect();
}
});
Emp_ e = new Emp_();
Dept_ d = new Dept_();
Buildable<?> stmt = nativeSql.from(e).innerJoin(d, on -> on.eq(e.id, d.id)).forUpdate(ForUpdateOption.wait(5, e.id, d.id)).select(e.id);
Sql<?> sql = stmt.asSql();
assertEquals("select t0_.ID from EMP t0_ inner join CATA.DEPT t1_ on (t0_.ID = t1_.ID) for update of t0_.ID, t1_.ID wait 5", sql.getFormattedSql());
}
use of org.seasar.doma.internal.jdbc.mock.MockConfig in project doma by domaframework.
the class BuiltinIdentityIdGeneratorTest method test_identityReservationSql.
@Test
public void test_identityReservationSql() {
MockConfig config = new MockConfig();
config.setDialect(new PostgresDialect());
MockResultSet resultSet = config.dataSource.connection.preparedStatement.resultSet;
resultSet.rows.add(new RowData(11L));
resultSet.rows.add(new RowData(12L));
resultSet.rows.add(new RowData(13L));
EntityType<IdGeneratedEmp> entityType = _IdGeneratedEmp.getSingletonInternal();
BuiltinIdentityIdGenerator identityIdGenerator = new BuiltinIdentityIdGenerator();
IdGenerationConfig idGenerationConfig = new IdGenerationConfig(config, entityType, new ReservedIdProvider(config, entityType, 3));
Long value = identityIdGenerator.generatePreInsert(idGenerationConfig);
assertEquals(new Long(11), value);
assertEquals("select nextval(pg_catalog.pg_get_serial_sequence('\"CATA\".\"EMP\"', 'id')) from generate_series(1, 3)", config.dataSource.connection.preparedStatement.sql);
value = identityIdGenerator.generatePreInsert(idGenerationConfig);
assertEquals(new Long(12), value);
value = identityIdGenerator.generatePreInsert(idGenerationConfig);
assertEquals(new Long(13), value);
try {
identityIdGenerator.generatePreInsert(idGenerationConfig);
fail();
} catch (IllegalStateException e) {
System.out.println(e.getMessage());
}
}
use of org.seasar.doma.internal.jdbc.mock.MockConfig in project doma by domaframework.
the class BuiltinTableIdGeneratorTest method test.
@Test
public void test() {
MockConfig config = new MockConfig();
config.setDialect(new PostgresDialect());
MockConnection connection = new MockConnection();
MockConnection connection2 = new MockConnection();
MockResultSet resultSet2 = connection2.preparedStatement.resultSet;
resultSet2.rows.add(new RowData(11L));
final LinkedList<MockConnection> connections = new LinkedList<>();
connections.add(connection);
connections.add(connection2);
config.dataSource = new MockDataSource() {
@Override
public Connection getConnection() {
return connections.pop();
}
};
BuiltinTableIdGenerator idGenerator = new BuiltinTableIdGenerator();
idGenerator.setQualifiedTableName("aaa");
idGenerator.setPkColumnName("PK");
idGenerator.setPkColumnValue("EMP_ID");
idGenerator.setValueColumnName("VALUE");
idGenerator.setInitialValue(1);
idGenerator.setAllocationSize(1);
idGenerator.initialize();
IdGenerationConfig idGenerationConfig = new IdGenerationConfig(config, _IdGeneratedEmp.getSingletonInternal());
Long value = idGenerator.generatePreInsert(idGenerationConfig);
assertEquals(new Long(10), value);
assertEquals("update aaa set VALUE = VALUE + ? where PK = ?", connection.preparedStatement.sql);
assertEquals(2, connection.preparedStatement.bindValues.size());
assertEquals("select VALUE from aaa where PK = ?", connection2.preparedStatement.sql);
assertEquals(1, connection2.preparedStatement.bindValues.size());
}
Aggregations