[jOOQ/jOOQ#9413] Add support for RDB in Firebird code
This commit is contained in:
parent
e7d63e271c
commit
b8ab91eac5
@ -57,7 +57,6 @@ import java.util.List;
|
||||
import org.jooq.DSLContext;
|
||||
import org.jooq.Field;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.Record2;
|
||||
import org.jooq.Record3;
|
||||
import org.jooq.Result;
|
||||
import org.jooq.SQLDialect;
|
||||
@ -235,15 +234,17 @@ public class FirebirdDatabase extends AbstractDatabase {
|
||||
protected List<TableDefinition> getTables0() throws SQLException {
|
||||
List<TableDefinition> result = new ArrayList<>();
|
||||
|
||||
for (Record2<String, Boolean> record : create()
|
||||
for (Record3<String, Boolean, String> record : create()
|
||||
.select(
|
||||
RDB$RELATIONS.RDB$RELATION_NAME.trim(),
|
||||
inline(false).as("table_valued_function"))
|
||||
inline(false).as("table_valued_function"),
|
||||
RDB$RELATIONS.RDB$DESCRIPTION.trim())
|
||||
.from(RDB$RELATIONS)
|
||||
.unionAll(
|
||||
select(
|
||||
RDB$PROCEDURES.RDB$PROCEDURE_NAME.trim(),
|
||||
inline(true).as("table_valued_function"))
|
||||
inline(true).as("table_valued_function"),
|
||||
inline(""))
|
||||
.from(RDB$PROCEDURES)
|
||||
|
||||
// "selectable" procedures
|
||||
@ -254,12 +255,10 @@ public class FirebirdDatabase extends AbstractDatabase {
|
||||
)
|
||||
.orderBy(1)) {
|
||||
|
||||
if (record.value2()) {
|
||||
if (record.value2())
|
||||
result.add(new FirebirdTableValuedFunction(getSchemata().get(0), record.value1(), ""));
|
||||
}
|
||||
else {
|
||||
result.add(new FirebirdTableDefinition(getSchemata().get(0), record.value1(), ""));
|
||||
}
|
||||
else
|
||||
result.add(new FirebirdTableDefinition(getSchemata().get(0), record.value1(), record.value3()));
|
||||
}
|
||||
|
||||
return result;
|
||||
|
||||
@ -92,7 +92,8 @@ public class FirebirdTableDefinition extends AbstractTableDefinition {
|
||||
f.RDB$FIELD_PRECISION,
|
||||
FIELD_SCALE(f).as("FIELD_SCALE"),
|
||||
FIELD_TYPE(f).as("FIELD_TYPE"),
|
||||
f.RDB$FIELD_SUB_TYPE)
|
||||
f.RDB$FIELD_SUB_TYPE,
|
||||
r.RDB$DESCRIPTION)
|
||||
.from(r)
|
||||
.leftOuterJoin(f).on(r.RDB$FIELD_SOURCE.eq(f.RDB$FIELD_NAME))
|
||||
.where(r.RDB$RELATION_NAME.eq(getName()))
|
||||
@ -122,7 +123,7 @@ public class FirebirdTableDefinition extends AbstractTableDefinition {
|
||||
record.get(r.RDB$FIELD_POSITION),
|
||||
type,
|
||||
false,
|
||||
null
|
||||
record.get(r.RDB$DESCRIPTION)
|
||||
);
|
||||
|
||||
result.add(column);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user