assertEquals (type.typeAt(6), MNumeric.BIGINT.instance(false));
}
private Schema caoiSchema() {
TestAISBuilder builder = new TestAISBuilder(TestTypesRegistry.MCOMPAT);
builder.table("schema", "customer");
builder.column("schema", "customer", "customer_id", 0, "MCOMPAT", "int", false);
builder.column("schema", "customer", "customer_name", 1, "MCOMPAT", "varchar", 64L, null, false);
builder.pk("schema", "customer");
builder.indexColumn("schema", "customer", Index.PRIMARY, "customer_id", 0, true, null);
builder.table("schema", "order");
builder.column("schema", "order", "order_id", 0, "MCOMPAT", "int", false);
builder.column("schema", "order", "customer_id", 1, "MCOMPAT", "int", false);
builder.column("schema", "order", "order_date", 2, "MCOMPAT", "int", false);
builder.pk("schema", "order");
builder.indexColumn("schema", "order", Index.PRIMARY, "order_id", 0, true, null);
builder.table("schema", "item");
builder.column("schema", "item", "item_id", 0, "MCOMPAT", "int", false);
builder.column("schema", "item", "order_id", 1, "MCOMPAT", "int", false);
builder.column("schema", "item", "quantity", 2, "MCOMPAT", "int", false);
builder.pk("schema", "item");
builder.indexColumn("schema", "item", Index.PRIMARY, "item_id", 0, true, null);
builder.joinTables("co", "schema", "customer", "schema", "order");
builder.joinColumns("co", "schema", "customer", "customer_id", "schema", "order", "customer_id");
builder.joinTables("oi", "schema", "order", "schema", "item");
builder.joinColumns("oi", "schema", "order", "order_id", "schema", "item", "item_id");
builder.table("schema", "state");
builder.column("schema", "state", "code", 0, "MCOMPAT", "varchar", 2L, null, false);
builder.column("schema", "state", "name", 1, "MCOMPAT", "varchar", 50L, null, false);
builder.table("schema", "address");
builder.column("schema", "address", "customer_id", 0, "MCOMPAT", "int", false);
builder.column("schema", "address", "location", 1, "MCOMPAT", "varchar", 50L, null, false);
builder.column("schema", "address", "zipcode", 2, "MCOMPAT", "int", false);
builder.joinTables("ca", "schema", "customer", "schema", "address");
builder.joinColumns("ca", "schema", "customer", "customer_id", "schema", "address", "customer_id");
builder.basicSchemaIsComplete();
builder.createGroup("group", "groupschema");
builder.addJoinToGroup("group", "co", 0);
builder.addJoinToGroup("group", "oi", 0);
builder.addJoinToGroup("group", "ca", 0);
builder.createGroup("state", "schema");
builder.addTableToGroup("state", "schema", "state");
builder.groupingIsComplete();
SchemaFactory factory = new SchemaFactory ("schema");
factory.buildRowDefs(builder.akibanInformationSchema());
return new Schema(builder.akibanInformationSchema());
}