|
@@ -25,7 +25,7 @@ import com.alibaba.otter.canal.client.adapter.es.config.SchemaItem.TableItem;
|
|
|
|
|
|
/**
|
|
|
* ES同步指定sql格式解析
|
|
|
- *
|
|
|
+ *
|
|
|
* @author rewerma 2018-10-26 下午03:45:49
|
|
|
* @version 1.0.0
|
|
|
*/
|
|
@@ -33,7 +33,7 @@ public class SqlParser {
|
|
|
|
|
|
/**
|
|
|
* 解析sql
|
|
|
- *
|
|
|
+ *
|
|
|
* @param sql sql
|
|
|
* @return 视图对象
|
|
|
*/
|
|
@@ -66,7 +66,7 @@ public class SqlParser {
|
|
|
|
|
|
/**
|
|
|
* 归集字段
|
|
|
- *
|
|
|
+ *
|
|
|
* @param sqlSelectQueryBlock sqlSelectQueryBlock
|
|
|
* @return 字段属性列表
|
|
|
*/
|
|
@@ -74,6 +74,7 @@ public class SqlParser {
|
|
|
return sqlSelectQueryBlock.getSelectList().stream().map(selectItem -> {
|
|
|
FieldItem fieldItem = new FieldItem();
|
|
|
fieldItem.setFieldName(selectItem.getAlias());
|
|
|
+ fieldItem.setExpr(selectItem.toString());
|
|
|
visitColumn(selectItem.getExpr(), fieldItem);
|
|
|
return fieldItem;
|
|
|
}).collect(Collectors.toList());
|
|
@@ -81,7 +82,7 @@ public class SqlParser {
|
|
|
|
|
|
/**
|
|
|
* 解析字段
|
|
|
- *
|
|
|
+ *
|
|
|
* @param expr sql expr
|
|
|
* @param fieldItem 字段属性
|
|
|
*/
|
|
@@ -91,6 +92,7 @@ public class SqlParser {
|
|
|
SQLIdentifierExpr identifierExpr = (SQLIdentifierExpr) expr;
|
|
|
if (fieldItem.getFieldName() == null) {
|
|
|
fieldItem.setFieldName(identifierExpr.getName());
|
|
|
+ fieldItem.setExpr(identifierExpr.toString());
|
|
|
}
|
|
|
ColumnItem columnItem = new ColumnItem();
|
|
|
columnItem.setColumnName(identifierExpr.getName());
|
|
@@ -101,6 +103,7 @@ public class SqlParser {
|
|
|
SQLPropertyExpr sqlPropertyExpr = (SQLPropertyExpr) expr;
|
|
|
if (fieldItem.getFieldName() == null) {
|
|
|
fieldItem.setFieldName(sqlPropertyExpr.getName());
|
|
|
+ fieldItem.setExpr(sqlPropertyExpr.toString());
|
|
|
}
|
|
|
fieldItem.getOwners().add(sqlPropertyExpr.getOwnernName());
|
|
|
ColumnItem columnItem = new ColumnItem();
|
|
@@ -123,7 +126,7 @@ public class SqlParser {
|
|
|
|
|
|
/**
|
|
|
* 解析表
|
|
|
- *
|
|
|
+ *
|
|
|
* @param schemaItem 视图对象
|
|
|
* @param sqlTableSource sqlTableSource
|
|
|
* @param tableItems 表对象列表
|
|
@@ -178,7 +181,7 @@ public class SqlParser {
|
|
|
|
|
|
/**
|
|
|
* 解析on条件
|
|
|
- *
|
|
|
+ *
|
|
|
* @param expr sql expr
|
|
|
* @param tableItem 表对象
|
|
|
*/
|