yjp 1 жил өмнө
parent
commit
663e41a76d
2 өөрчлөгдсөн 12 нэмэгдсэн , 46 устгасан
  1. 12 45
      sql_parser.go
  2. 0 1
      v1.go

+ 12 - 45
sql_parser.go

@@ -109,60 +109,27 @@ func insertWalk(sql string) (*insertClause, error) {
 	w := &walk.AstWalker{
 		Fn: func(ctx interface{}, node interface{}) (stop bool) {
 			realNode := node.(*tree.Insert)
-
 			// 获取table
 			tableFmtCtx := tree.NewFmtCtx(tree.FmtSimple)
 			realNode.Table.Format(tableFmtCtx)
 			clause.table = tableFmtCtx.String()
 
-			// 解析rows
-			rowsStatement, err := parser.Parse(realNode.Rows.String())
-			if err != nil {
-				walkFuncErr = err
-				return true
-			}
-
-			var rowsWalkFuncErr error
-			values := make([]clauseTableRowValue, 0)
-
-			rowsWalker := &walk.AstWalker{Fn: func(ctx interface{}, node interface{}) (stop bool) {
-				switch rowsNode := node.(type) {
-				case *tree.ValuesClause:
-					for _, row := range rowsNode.Rows {
-						for _, column := range row {
-							columnValue, err := parseValueExpr(column)
-							if err != nil {
-								rowsWalkFuncErr = err
-								return true
-							}
-
-							values = append(values, *columnValue)
-						}
+			// 获取table row
+			clause.tableRow = make(map[string]clauseTableRowValue)
+			columns := realNode.Columns.ToStrings()
+			valuesClause := realNode.Rows.Select.(*tree.ValuesClause)
+			for _, row := range valuesClause.Rows {
+				for i, column := range row {
+					columnValue, err := parseValueExpr(column)
+					if err != nil {
+						walkFuncErr = err
+						return true
 					}
-				}
-
-				return false
-			}}
 
-			_, err = rowsWalker.Walk(rowsStatement, nil)
-			if err != nil {
-				walkFuncErr = err
-				return true
-			}
-
-			if rowsWalkFuncErr != nil {
-				walkFuncErr = rowsWalkFuncErr
-				return true
-			}
-
-			// 组装columnValues
-			tableRows := make(map[string]clauseTableRowValue)
-			for i, column := range realNode.Columns.ToStrings() {
-				tableRows[column] = values[i]
+					clause.tableRow[columns[i]] = *columnValue
+				}
 			}
 
-			clause.tableRow = tableRows
-
 			return false
 		},
 	}

+ 0 - 1
v1.go

@@ -228,7 +228,6 @@ func doSelect(dpsClient client.Client, version string, clause *selectClause) ([]
 		Select:                nil,
 		Where:                 nil,
 		OrderBy:               nil,
-		Or:                    nil,
 		GroupBy:               nil,
 		Joins:                 nil,
 		Having:                nil,