提交 d40b1ca1 编写于 作者: L liipx

main parser replace vitess to tidb & fix test sqls

上级 6b0730ac
......@@ -2185,7 +2185,7 @@ func (q *Query4Audit) RuleCompareWithFunction() Rule {
}
*/
// func(a) between func(c) and func(d)
// func(a) between func(c) and func(d)
case *sqlparser.RangeCond:
switch n.Left.(type) {
case *sqlparser.SQLVal, *sqlparser.ColName:
......@@ -3236,7 +3236,7 @@ func RuleMySQLError(item string, err error) Rule {
case "ERR.000":
return Rule{
Item: item,
Summary: "MySQL执行出错 " + err.Error(),
Summary: "no available MySQL environment, sql parse failed: " + err.Error(),
Severity: "L8",
Content: err.Error(),
}
......
......@@ -1164,7 +1164,7 @@ func TestRuleRecursiveDependency(t *testing.T) {
`ALTER TABLE tbl2 add FOREIGN KEY (p_id) REFERENCES tab1(p_id);`,
},
{
`ALTER TABLE tbl2 ADD KEY (p_id) p_id;`,
`ALTER TABLE tbl2 ADD KEY p_id (p_id);`,
},
}
for _, sql := range sqls[0] {
......@@ -2128,7 +2128,7 @@ func TestRuleVarcharVSChar(t *testing.T) {
func TestRuleCreateDualTable(t *testing.T) {
common.Log.Debug("Entering function: %s", common.GetFunctionName())
sqls := []string{
`create table dual(id int, primary key (id));`,
"create table `dual`(id int, primary key (id));",
}
for _, sql := range sqls {
q, err := NewQuery4Audit(sql)
......
......@@ -42,7 +42,7 @@ type Query4Audit struct {
// NewQuery4Audit return a struct for Query4Audit
func NewQuery4Audit(sql string, options ...string) (*Query4Audit, error) {
var err, tiErr error
var err, vErr error
var charset string
var collation string
......@@ -56,14 +56,14 @@ func NewQuery4Audit(sql string, options ...string) (*Query4Audit, error) {
q := &Query4Audit{Query: sql}
// vitess语法解析
q.Stmt, err = sqlparser.Parse(sql)
q.Stmt, vErr = sqlparser.Parse(sql)
if vErr != nil {
common.Log.Warn("NewQuery4Audit vitess parse Error: %s", vErr.Error())
}
// TiDB 语法解析仅作为补充,不检查语法错误
// TODO: charset, collation
q.TiStmt, tiErr = ast.TiParse(sql, charset, collation)
if tiErr != nil {
common.Log.Warn("NewQuery4Audit ast.Tiparse Error: %s", tiErr.Error())
}
q.TiStmt, err = ast.TiParse(sql, charset, collation)
return q, err
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册