if (!isConfigured()) {
return;
}
JdbcDataContext dc = new JdbcDataContext(getConnection());
final Schema schema = dc.getDefaultSchema();
try {
dc.executeUpdate(new UpdateScript() {
@Override
public void run(UpdateCallback cb) {
Table table = cb.createTable(schema, "my_table").withColumn("id").ofType(ColumnType.INTEGER)
.ofNativeType("SERIAL").nullable(false).withColumn("person name").ofSize(255)
.withColumn("age").ofType(ColumnType.INTEGER).execute();
assertEquals("[id, person name, age]", Arrays.toString(table.getColumnNames()));
assertEquals(
"Column[name=id,columnNumber=0,type=INTEGER,nullable=false,nativeType=serial,columnSize=10]",
table.getColumnByName("id").toString());
assertEquals(
"Column[name=person name,columnNumber=1,type=VARCHAR,nullable=true,nativeType=varchar,columnSize=255]",
table.getColumnByName("person name").toString());
assertEquals(
"Column[name=age,columnNumber=2,type=INTEGER,nullable=true,nativeType=int4,columnSize=10]",
table.getColumnByName("age").toString());
cb.insertInto(table).value("person name", "John Doe").value("age", 42).execute();
cb.insertInto(table).value("age", 43).value("person name", "Jane Doe").execute();
}
});
final Table table = schema.getTableByName("my_table");
Query query = dc.query().from(table).select(table.getColumns()).toQuery();
DataSet ds = dc.executeQuery(query);
assertTrue(ds.next());
assertEquals("Row[values=[1, John Doe, 42]]", ds.getRow().toString());
assertTrue(ds.next());