Class SimpleDmlParser
- java.lang.Object
-
- io.debezium.connector.oracle.logminer.parser.SimpleDmlParser
-
- All Implemented Interfaces:
DmlParser
public class SimpleDmlParser extends Object implements DmlParser
This class does parsing of simple DML: insert, update, delete. LogMiner supplies very simple syntax , that this parser should be sufficient to parse those. It does no support joins, merge, sub-selects and other complicated cases, which should be OK for LogMiner case
-
-
Field Summary
Fields Modifier and Type Field Description private StringaliasNameprotected StringcatalogNameprivate OracleValueConvertersconverterprivate static org.slf4j.LoggerLOGGERprivate Map<String,LogMinerColumnValueWrapper>newColumnValuesprivate Map<String,LogMinerColumnValueWrapper>oldColumnValuesprivate net.sf.jsqlparser.parser.CCJSqlParserManagerpmprotected Tabletable
-
Constructor Summary
Constructors Constructor Description SimpleDmlParser(String catalogName, OracleValueConverters converter)Constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static Object[]getColumnValueArray(Map<String,LogMinerColumnValueWrapper> map, boolean processed)private voidinitColumns(Table table, String tableName)LogMinerDmlEntryparse(String dmlContent, Table table, String txId)This parses a DMLprivate voidparseDelete(Table table, net.sf.jsqlparser.statement.delete.Delete st)private voidparseInsert(Table table, net.sf.jsqlparser.statement.insert.Insert st)private voidparseUpdate(Table table, net.sf.jsqlparser.statement.update.Update st)private voidparseWhereClause(net.sf.jsqlparser.expression.Expression logicalExpression)private voidsetNewValues(List<net.sf.jsqlparser.expression.Expression> expressions, List<net.sf.jsqlparser.schema.Column> columns)
-
-
-
Field Detail
-
LOGGER
private static final org.slf4j.Logger LOGGER
-
catalogName
protected final String catalogName
-
converter
private final OracleValueConverters converter
-
pm
private final net.sf.jsqlparser.parser.CCJSqlParserManager pm
-
newColumnValues
private final Map<String,LogMinerColumnValueWrapper> newColumnValues
-
oldColumnValues
private final Map<String,LogMinerColumnValueWrapper> oldColumnValues
-
table
protected Table table
-
aliasName
private String aliasName
-
-
Constructor Detail
-
SimpleDmlParser
public SimpleDmlParser(String catalogName, OracleValueConverters converter)
Constructor- Parameters:
catalogName- database nameconverter- value converter
-
-
Method Detail
-
parse
public LogMinerDmlEntry parse(String dmlContent, Table table, String txId)
This parses a DML
-
getColumnValueArray
private static Object[] getColumnValueArray(Map<String,LogMinerColumnValueWrapper> map, boolean processed)
-
parseUpdate
private void parseUpdate(Table table, net.sf.jsqlparser.statement.update.Update st) throws net.sf.jsqlparser.JSQLParserException
- Throws:
net.sf.jsqlparser.JSQLParserException
-
parseInsert
private void parseInsert(Table table, net.sf.jsqlparser.statement.insert.Insert st)
-
parseDelete
private void parseDelete(Table table, net.sf.jsqlparser.statement.delete.Delete st)
-
setNewValues
private void setNewValues(List<net.sf.jsqlparser.expression.Expression> expressions, List<net.sf.jsqlparser.schema.Column> columns)
-
parseWhereClause
private void parseWhereClause(net.sf.jsqlparser.expression.Expression logicalExpression)
-
-