瀏覽代碼

修复null值情况

life 1 年之前
父節點
當前提交
15d99c9fd7

+ 7 - 4
dbsyncer-connector/dbsyncer-connector-oracle/src/main/java/org/dbsyncer/connector/oracle/logminer/parser/AbstractParser.java

@@ -32,14 +32,16 @@ public abstract class AbstractParser implements Parser {
         if (expression instanceof IsNullExpression) {
             IsNullExpression isNullExpression = (IsNullExpression) expression;
             Column column = (Column) isNullExpression.getLeftExpression();
-            columnMap.put(StringUtil.replace(column.getColumnName(), StringUtil.DOUBLE_QUOTATION, StringUtil.EMPTY), null);
+            columnMap.put(StringUtil.replace(column.getColumnName(), StringUtil.DOUBLE_QUOTATION,
+                    StringUtil.EMPTY), expression);
             return;
         }
 
         BinaryExpression binaryExpression = (BinaryExpression) expression;
         if (binaryExpression.getLeftExpression() instanceof Column) {
             Column column = (Column) binaryExpression.getLeftExpression();
-            columnMap.put(StringUtil.replace(column.getColumnName(), StringUtil.DOUBLE_QUOTATION, StringUtil.EMPTY), binaryExpression.getRightExpression());
+            columnMap.put(StringUtil.replace(column.getColumnName(), StringUtil.DOUBLE_QUOTATION,
+                    StringUtil.EMPTY), binaryExpression.getRightExpression());
             return;
         }
         findColumn(binaryExpression.getLeftExpression());
@@ -50,8 +52,9 @@ public abstract class AbstractParser implements Parser {
         List<Object> data = new LinkedList<>();
         //需要进行数据库类型
         for (Field field : fields) {
-           OracleColumnValue oracleColumnValue = new OracleColumnValue(columnMap.get(field.getName()));
-            switch (field.getType()){
+            OracleColumnValue oracleColumnValue = new OracleColumnValue(
+                    columnMap.get(field.getName()));
+            switch (field.getType()) {
                 case Types.BIGINT:
                     data.add(oracleColumnValue.asBigInteger());
                     break;