diff --git a/sqle/driver/mysql/session/context.go b/sqle/driver/mysql/session/context.go index 7254a42aa..1ade61600 100644 --- a/sqle/driver/mysql/session/context.go +++ b/sqle/driver/mysql/session/context.go @@ -1094,6 +1094,10 @@ func (c *Context) GetExecutionPlan(sql string) ([]*executor.ExplainRecord, error return ep.Plan, nil } + if c.e == nil { + return nil, nil + } + r, err := c.fetchExecutionPlanWithWarnings(sql) if err != nil { return nil, err diff --git a/sqle/driver/mysql/util/visitor_test.go b/sqle/driver/mysql/util/visitor_test.go index 45ad01ad7..63882b8ff 100644 --- a/sqle/driver/mysql/util/visitor_test.go +++ b/sqle/driver/mysql/util/visitor_test.go @@ -207,7 +207,7 @@ func TestWhereStmtNotAlwaysTrue(t *testing.T) { t.Run(tt.input, func(t *testing.T) { stmt, err := parser.New().ParseOneStmt(tt.input, "", "") assert.NoError(t, err) - got := WhereStmtNotAlwaysTrue(stmt.(*ast.SelectStmt).Where) + got := !WhereStmtNotAlwaysTrue(stmt.(*ast.SelectStmt).Where) assert.Equal(t, tt.want, got) }) }