/** * Wrap a <code>DROP .. IF EXISTS</code> statement with * <code>BEGIN EXECUTE IMMEDIATE '...' EXCEPTION WHEN ... END;</code>, if * <code>IF EXISTS</code> is not supported. */ static final void beginTryCatch(Context<?> ctx, DDLStatementType type) { beginTryCatch(ctx, type, null, null); }
@Override public final void accept(Context<?> ctx) { if (ifNotExists && !supportsIfNotExists(ctx)) { Tools.beginTryCatch(ctx, DDLStatementType.CREATE_SEQUENCE); accept0(ctx); Tools.endTryCatch(ctx, DDLStatementType.CREATE_SEQUENCE); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifExists && !supportsIfExists(ctx)) { Tools.beginTryCatch(ctx, DDLStatementType.DROP_SCHEMA); accept0(ctx); Tools.endTryCatch(ctx, DDLStatementType.DROP_SCHEMA); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifNotExists && !supportsIfNotExists(ctx)) { Tools.beginTryCatch(ctx, DDLStatementType.CREATE_SCHEMA); accept0(ctx); Tools.endTryCatch(ctx, DDLStatementType.CREATE_SCHEMA); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifExists && !supportsIfExists(ctx)) { Tools.beginTryCatch(ctx, DDLStatementType.DROP_TABLE); accept0(ctx); Tools.endTryCatch(ctx, DDLStatementType.DROP_TABLE); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifExists && !supportsIfExists(ctx)) { beginTryCatch(ctx, DDLStatementType.ALTER_INDEX); accept0(ctx); endTryCatch(ctx, DDLStatementType.ALTER_INDEX); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifExists && !supportsIfExists(ctx)) { beginTryCatch(ctx, DDLStatementType.ALTER_VIEW); accept0(ctx); endTryCatch(ctx, DDLStatementType.ALTER_VIEW); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifNotExists && !supportsIfNotExists(ctx)) { Tools.beginTryCatch(ctx, DDLStatementType.CREATE_VIEW); accept0(ctx); Tools.endTryCatch(ctx, DDLStatementType.CREATE_VIEW); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifNotExists && !supportsIfNotExists(ctx)) { Tools.beginTryCatch(ctx, DDLStatementType.CREATE_TABLE); accept0(ctx); Tools.endTryCatch(ctx, DDLStatementType.CREATE_TABLE); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifExists && !supportsIfExists(ctx)) { Tools.beginTryCatch(ctx, DDLStatementType.DROP_SEQUENCE); accept0(ctx); Tools.endTryCatch(ctx, DDLStatementType.DROP_SEQUENCE); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifNotExists && !supportsIfNotExists(ctx)) { Tools.beginTryCatch(ctx, DDLStatementType.CREATE_INDEX); accept0(ctx); Tools.endTryCatch(ctx, DDLStatementType.CREATE_INDEX); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifExists && !supportsIfExists(ctx)) { beginTryCatch(ctx, DDLStatementType.ALTER_SEQUENCE); accept0(ctx); endTryCatch(ctx, DDLStatementType.ALTER_SEQUENCE); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifExists && !supportsIfExists(ctx)) { beginTryCatch(ctx, DDLStatementType.DROP_INDEX); accept0(ctx); endTryCatch(ctx, DDLStatementType.DROP_INDEX); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if (ifExists && !supportsIfExists(ctx)) { Tools.beginTryCatch(ctx, DDLStatementType.DROP_VIEW); accept0(ctx); Tools.endTryCatch(ctx, DDLStatementType.DROP_VIEW); } else { accept0(ctx); } }
@Override public final void accept(Context<?> ctx) { if ((ifExists && !supportsIfExists(ctx)) || ((ifExistsColumn || ifNotExistsColumn) && !supportsIfExistsColumn(ctx))) { beginTryCatch(ctx, DDLStatementType.ALTER_TABLE, ifExists ? TRUE : null, ifExistsColumn ? TRUE : ifNotExistsColumn ? FALSE : null); accept0(ctx); endTryCatch(ctx, DDLStatementType.ALTER_TABLE, ifExists ? TRUE : null, ifExistsColumn ? TRUE : ifNotExistsColumn ? FALSE : null); } else { accept0(ctx); } }