DBZ-7693 Move MySQL-specific behavior to MySQL impl
This commit is contained in:
parent
1a8cbfc915
commit
23677ba2cb
@ -16,6 +16,7 @@
|
||||
|
||||
import org.antlr.v4.runtime.CharStream;
|
||||
import org.antlr.v4.runtime.CommonTokenStream;
|
||||
import org.antlr.v4.runtime.misc.Interval;
|
||||
import org.antlr.v4.runtime.tree.ParseTree;
|
||||
|
||||
import com.mysql.cj.CharsetMapping;
|
||||
@ -31,6 +32,8 @@
|
||||
import io.debezium.ddl.parser.mysql.generated.MySqlParser;
|
||||
import io.debezium.ddl.parser.mysql.generated.MySqlParser.CharsetNameContext;
|
||||
import io.debezium.ddl.parser.mysql.generated.MySqlParser.CollationNameContext;
|
||||
import io.debezium.ddl.parser.mysql.generated.MySqlParser.RenameTableClauseContext;
|
||||
import io.debezium.ddl.parser.mysql.generated.MySqlParser.RenameTableContext;
|
||||
import io.debezium.relational.Column;
|
||||
import io.debezium.relational.ColumnEditor;
|
||||
import io.debezium.relational.SystemVariables;
|
||||
@ -463,4 +466,19 @@ else if (collationNode != null && collationNode.getText() != null) {
|
||||
}
|
||||
return charsetName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Signal an alter table event to ddl changes listener.
|
||||
*
|
||||
* @param id the table identifier; may not be null
|
||||
* @param previousId the previous name of the view if it was renamed, or null if it was not renamed
|
||||
* @param ctx the start of the statement; may not be null
|
||||
*/
|
||||
public void signalAlterTable(TableId id, TableId previousId, RenameTableClauseContext ctx) {
|
||||
final RenameTableContext parent = (RenameTableContext) ctx.getParent();
|
||||
Interval interval = new Interval(ctx.getParent().start.getStartIndex(),
|
||||
parent.renameTableClause().get(0).start.getStartIndex() - 1);
|
||||
String prefix = ctx.getParent().start.getInputStream().getText(interval);
|
||||
signalAlterTable(id, previousId, prefix + getText(ctx));
|
||||
}
|
||||
}
|
||||
|
@ -20,8 +20,6 @@
|
||||
import org.antlr.v4.runtime.tree.ParseTree;
|
||||
import org.antlr.v4.runtime.tree.ParseTreeWalker;
|
||||
|
||||
import io.debezium.ddl.parser.mysql.generated.MySqlParser;
|
||||
import io.debezium.ddl.parser.mysql.generated.MySqlParser.RenameTableContext;
|
||||
import io.debezium.relational.TableId;
|
||||
import io.debezium.relational.Tables;
|
||||
import io.debezium.relational.ddl.AbstractDdlParser;
|
||||
@ -242,21 +240,6 @@ public void signalCreateTable(TableId id, ParserRuleContext ctx) {
|
||||
signalCreateTable(id, getText(ctx));
|
||||
}
|
||||
|
||||
/**
|
||||
* Signal an alter table event to ddl changes listener.
|
||||
*
|
||||
* @param id the table identifier; may not be null
|
||||
* @param previousId the previous name of the view if it was renamed, or null if it was not renamed
|
||||
* @param ctx the start of the statement; may not be null
|
||||
*/
|
||||
public void signalAlterTable(TableId id, TableId previousId, MySqlParser.RenameTableClauseContext ctx) {
|
||||
final RenameTableContext parent = (RenameTableContext) ctx.getParent();
|
||||
Interval interval = new Interval(ctx.getParent().start.getStartIndex(),
|
||||
parent.renameTableClause().get(0).start.getStartIndex() - 1);
|
||||
String prefix = ctx.getParent().start.getInputStream().getText(interval);
|
||||
signalAlterTable(id, previousId, prefix + getText(ctx));
|
||||
}
|
||||
|
||||
/**
|
||||
* Signal an alter table event to ddl changes listener.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user