@Override public void enterDropView(MySqlParser.DropViewContext ctx) { ctx.fullId().stream().map(parser::parseQualifiedTableId).forEach(tableId -> { parser.databaseTables().removeTable(tableId); parser.signalDropView(tableId, ctx); }); super.enterDropView(ctx); } }
protected void parseDropView(Marker start) { tokens.consume("VIEW"); tokens.canConsume("IF", "EXISTS"); TableId tableId = parseQualifiedTableName(start); databaseTables.removeTable(tableId); // ignore the rest ... consumeRemainingStatement(start); signalDropView(tableId, start); }
protected void parseDropTable(Marker start) { tokens.canConsume("TEMPORARY"); tokens.consume("TABLE"); tokens.canConsume("IF", "EXISTS"); TableId tableId = parseQualifiedTableName(start); databaseTables.removeTable(tableId); // ignore the rest ... consumeRemainingStatement(start); signalDropTable(tableId, start); }
protected void parseDropTable(Marker start) { tokens.canConsume("TEMPORARY"); tokens.consume("TABLE"); tokens.canConsume("IF", "EXISTS"); String statementPrefix = statement(start); List<TableId> ids = parseQualifiedTableNames(start); boolean restrict = tokens.canConsume("RESTRICT"); boolean cascade = tokens.canConsume("CASCADE"); ids.forEach(tableId -> { databaseTables.removeTable(tableId); signalDropTable(tableId, statementPrefix + tableId + (restrict ? " RESTRICT" : cascade ? " CASCADE" : "")); }); debugParsed(start); }
@Override public void enterDropTable(MySqlParser.DropTableContext ctx) { Interval interval = new Interval(ctx.start.getStartIndex(), ctx.tables().start.getStartIndex() - 1); String prefix = ctx.start.getInputStream().getText(interval); ctx.tables().tableName().forEach(tableNameContext -> { TableId tableId = parser.parseQualifiedTableId(tableNameContext.fullId()); parser.databaseTables().removeTable(tableId); parser.signalDropTable(tableId, prefix + tableId.table() + (ctx.dropType != null ? " " + ctx.dropType.getText() : "")); }); super.enterDropTable(ctx); } }
schema.removeTable(entry.getId());
protected void parseDropView(Marker start) { if (skipViews) { consumeRemainingStatement(start); debugSkipped(start); return; } tokens.consume("VIEW"); tokens.canConsume("IF", "EXISTS"); String statementPrefix = statement(start); List<TableId> ids = parseQualifiedTableNames(start); boolean restrict = tokens.canConsume("RESTRICT"); boolean cascade = tokens.canConsume("CASCADE"); ids.forEach(tableId -> { databaseTables.removeTable(tableId); signalDropView(tableId, statementPrefix + tableId + (restrict ? " RESTRICT" : cascade ? " CASCADE" : "")); }); debugParsed(start); }
protected void parseDropView(Marker start) { tokens.consume("VIEW"); tokens.canConsume("IF", "EXISTS"); TableId tableId = parseQualifiedTableName(start); databaseTables.removeTable(tableId); // ignore the rest ... consumeRemainingStatement(start); signalDropView(tableId, start); }
protected void parseDropTable(Marker start) { tokens.canConsume("TEMPORARY"); tokens.consume("TABLE"); tokens.canConsume("IF", "EXISTS"); TableId tableId = parseQualifiedTableName(start); databaseTables.removeTable(tableId); // ignore the rest ... consumeRemainingStatement(start); signalDropTable(tableId, start); }
schema.removeTable(entry.getId());
tables.removeTable(tableId);