[#3019] Bad SQL rendered from HSQLDBDatabase when loading check

constraints - Regenerated schema
This commit is contained in:
Lukas Eder 2014-02-10 10:43:40 +01:00
parent b0a498bde9
commit 9aae9b02c7
2 changed files with 9 additions and 3 deletions

View File

@ -42,6 +42,7 @@
package org.jooq.util.hsqldb;
import static org.jooq.impl.DSL.field;
import static org.jooq.impl.DSL.fieldByName;
import static org.jooq.impl.DSL.nvl;
import static org.jooq.util.hsqldb.information_schema.Tables.CHECK_CONSTRAINTS;
import static org.jooq.util.hsqldb.information_schema.Tables.ELEMENT_TYPES;
@ -58,6 +59,7 @@ import java.util.ArrayList;
import java.util.List;
import org.jooq.DSLContext;
import org.jooq.Field;
import org.jooq.Record;
import org.jooq.Record4;
import org.jooq.Result;
@ -189,11 +191,14 @@ public class HSQLDBDatabase extends AbstractDatabase {
TableConstraints tc = TABLE_CONSTRAINTS.as("tc");
CheckConstraints cc = CHECK_CONSTRAINTS.as("cc");
// [#2808] [#3019] Workaround for bad handling of JOIN .. USING
Field<String> constraintName = fieldByName(String.class, cc.CONSTRAINT_NAME.getName());
for (Record record : create()
.select(
tc.TABLE_SCHEMA,
tc.TABLE_NAME,
cc.CONSTRAINT_NAME,
constraintName,
cc.CHECK_CLAUSE
)
.from(tc)
@ -209,7 +214,7 @@ public class HSQLDBDatabase extends AbstractDatabase {
relations.addCheckConstraint(table, new DefaultCheckConstraintDefinition(
schema,
table,
record.getValue(cc.CONSTRAINT_NAME),
record.getValue(constraintName),
record.getValue(cc.CHECK_CLAUSE)
));
}

View File

@ -116,7 +116,8 @@ CREATE TABLE t_booleans (
c_boolean char(1),
n_boolean int,
CONSTRAINT pk_t_booleans PRIMARY KEY (id)
CONSTRAINT pk_t_booleans PRIMARY KEY (id),
CONSTRAINT ck_one_zero CHECK (one_zero IN (0, 1))
)
/