[jOOQ/jOOQ#8528] Interpret TRUNCATE
This commit is contained in:
parent
b2af597638
commit
7d26f84235
@ -141,6 +141,8 @@ final class DDLInterpreter {
|
||||
accept0((AlterTableImpl) query);
|
||||
else if (query instanceof DropTableImpl)
|
||||
accept0((DropTableImpl) query);
|
||||
else if (query instanceof TruncateImpl)
|
||||
accept0((TruncateImpl<?>) query);
|
||||
|
||||
else if (query instanceof CreateViewImpl)
|
||||
accept0((CreateViewImpl<?>) query);
|
||||
@ -591,6 +593,18 @@ final class DDLInterpreter {
|
||||
drop(schema.tables, existing, query.$cascade());
|
||||
}
|
||||
|
||||
private final void accept0(TruncateImpl<?> query) {
|
||||
Table<?> table = query.$table();
|
||||
|
||||
MutableSchema schema = getSchema(table.getSchema());
|
||||
MutableTable existing = schema.table(table);
|
||||
|
||||
if (existing == null)
|
||||
throw tableNotExists(table);
|
||||
else if (!existing.options.type().isTable())
|
||||
throw objectNotTable(table);
|
||||
}
|
||||
|
||||
private final void accept0(CreateViewImpl<?> query) {
|
||||
Table<?> table = query.$view();
|
||||
MutableSchema schema = getSchema(table.getSchema());
|
||||
|
||||
@ -82,6 +82,12 @@ final class TruncateImpl<R extends Record> extends AbstractRowCountQuery impleme
|
||||
this.table = table;
|
||||
}
|
||||
|
||||
final Table<?> $table() { return table; }
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// XXX: DSL API
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public final TruncateFinalStep<R> cascade() {
|
||||
cascade = true;
|
||||
@ -106,6 +112,10 @@ final class TruncateImpl<R extends Record> extends AbstractRowCountQuery impleme
|
||||
return this;
|
||||
}
|
||||
|
||||
// ------------------------------------------------------------------------
|
||||
// XXX: QueryPart API
|
||||
// ------------------------------------------------------------------------
|
||||
|
||||
@Override
|
||||
public final void accept(Context<?> ctx) {
|
||||
switch (ctx.family()) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user