提交 22a2a71c 编写于 作者: martianzhang's avatar martianzhang

cspell check update, fix spell error

上级 017cce79
...@@ -76,7 +76,7 @@ func GetMeta(stmt sqlparser.Statement, meta common.Meta) common.Meta { ...@@ -76,7 +76,7 @@ func GetMeta(stmt sqlparser.Statement, meta common.Meta) common.Meta {
err := sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) { err := sqlparser.Walk(func(node sqlparser.SQLNode) (kontinue bool, err error) {
switch expr := node.(type) { switch expr := node.(type) {
case *sqlparser.DDL: case *sqlparser.DDL:
// 如果SQL是一个DDL,则不需要继续遍历语法树了 // 如果 SQL 是一个 DDL,则不需要继续遍历语法树了
for _, tb := range expr.FromTables { for _, tb := range expr.FromTables {
appendTable(tb, "", meta) appendTable(tb, "", meta)
} }
...@@ -196,7 +196,7 @@ var inEqOperators = map[string]string{ ...@@ -196,7 +196,7 @@ var inEqOperators = map[string]string{
// 比如"not in",比如"exists"、 "not exists"等 // 比如"not in",比如"exists"、 "not exists"等
} }
// FindColumn 从传入的node中获取所有可能加索引的的column信息 // FindColumn 从传入的 node 中获取所有可能加索引的的 column 信息
func FindColumn(node sqlparser.SQLNode) []*common.Column { func FindColumn(node sqlparser.SQLNode) []*common.Column {
common.Log.Debug("Enter: FindColumn, Caller: %s", common.Caller()) common.Log.Debug("Enter: FindColumn, Caller: %s", common.Caller())
var result []*common.Column var result []*common.Column
...@@ -228,7 +228,7 @@ func inEqIndexAble(node sqlparser.SQLNode) bool { ...@@ -228,7 +228,7 @@ func inEqIndexAble(node sqlparser.SQLNode) bool {
switch expr := node.(type) { switch expr := node.(type) {
case *sqlparser.ComparisonExpr: case *sqlparser.ComparisonExpr:
// like前百分号查询无法使用索引 // like前百分号查询无法使用索引
// TODO date类型的like属于隐式数据类型转换,会导致无法使用索引 // TODO: date 类型的 like 属于隐式数据类型转换,会导致无法使用索引
if expr.Operator == "like" || expr.Operator == "not like" { if expr.Operator == "like" || expr.Operator == "not like" {
switch right := expr.Right.(type) { switch right := expr.Right.(type) {
case *sqlparser.SQLVal: case *sqlparser.SQLVal:
...@@ -326,7 +326,7 @@ func FindEQColsInWhere(node sqlparser.SQLNode) []*common.Column { ...@@ -326,7 +326,7 @@ func FindEQColsInWhere(node sqlparser.SQLNode) []*common.Column {
// FindINEQColsInWhere 获取非等值条件中可能需要加索引的列 // FindINEQColsInWhere 获取非等值条件中可能需要加索引的列
// 将所有值得加索引的condition条件信息进行过滤 // 将所有值得加索引的condition条件信息进行过滤
// TODO: 将where条件中隐含的join条件合并到join condition中 // TODO: 将 where 条件中隐含的 join 条件合并到 join condition中
func FindINEQColsInWhere(node sqlparser.SQLNode) []*common.Column { func FindINEQColsInWhere(node sqlparser.SQLNode) []*common.Column {
common.Log.Debug("Enter: FindINEQColsInWhere(), Caller: %s", common.Caller()) common.Log.Debug("Enter: FindINEQColsInWhere(), Caller: %s", common.Caller())
var columns []*common.Column var columns []*common.Column
...@@ -520,8 +520,8 @@ func findJoinTable(expr sqlparser.TableExpr, meta common.Meta) { ...@@ -520,8 +520,8 @@ func findJoinTable(expr sqlparser.TableExpr, meta common.Meta) {
} }
// FindJoinCols 获取 join condition 中使用到的列(必须是 `列 operator 列` 的情况。 // FindJoinCols 获取 join condition 中使用到的列(必须是 `列 operator 列` 的情况。
// 如果列对应的值或是function,则应该移到where condition中) // 如果列对应的值或是 function,则应该移到where condition中)
// 某些where条件隐含在Join条件中(INNER JOIN) // 某些 where 条件隐含在 join 条件中(INNER JOIN)
func FindJoinCols(node sqlparser.SQLNode) [][]*common.Column { func FindJoinCols(node sqlparser.SQLNode) [][]*common.Column {
common.Log.Debug("Enter: FindJoinCols(), Caller: %s", common.Caller()) common.Log.Debug("Enter: FindJoinCols(), Caller: %s", common.Caller())
var columns [][]*common.Column var columns [][]*common.Column
...@@ -658,7 +658,7 @@ func FindSubquery(depth int, node sqlparser.SQLNode, queries ...string) []string ...@@ -658,7 +658,7 @@ func FindSubquery(depth int, node sqlparser.SQLNode, queries ...string) []string
return queries return queries
} }
// FindAllCondition 获取AST中所有的condition条件 // FindAllCondition 获取 AST 中所有的 condition 条件
func FindAllCondition(node sqlparser.SQLNode) []interface{} { func FindAllCondition(node sqlparser.SQLNode) []interface{} {
common.Log.Debug("Enter: FindAllCondition(), Caller: %s", common.Caller()) common.Log.Debug("Enter: FindAllCondition(), Caller: %s", common.Caller())
var conditions []interface{} var conditions []interface{}
...@@ -673,7 +673,7 @@ func FindAllCondition(node sqlparser.SQLNode) []interface{} { ...@@ -673,7 +673,7 @@ func FindAllCondition(node sqlparser.SQLNode) []interface{} {
return conditions return conditions
} }
// FindAllCols 获取AST中某个节点下所有的columns // FindAllCols 获取 AST 中某个节点下所有的 columns
func FindAllCols(node sqlparser.SQLNode, targets ...string) []*common.Column { func FindAllCols(node sqlparser.SQLNode, targets ...string) []*common.Column {
var result []*common.Column var result []*common.Column
// 获取节点内所有的列 // 获取节点内所有的列
...@@ -744,7 +744,7 @@ func GetSubqueryDepth(node sqlparser.SQLNode) int { ...@@ -744,7 +744,7 @@ func GetSubqueryDepth(node sqlparser.SQLNode) int {
return depth return depth
} }
// getColumnName 获取node中Column具体的定义以及名称 // getColumnName 获取 node 中 column 具体的定义以及名称
func getColumnName(node sqlparser.SQLNode) (*sqlparser.ColName, string) { func getColumnName(node sqlparser.SQLNode) (*sqlparser.ColName, string) {
var colName *sqlparser.ColName var colName *sqlparser.ColName
str := "" str := ""
......
...@@ -65,9 +65,9 @@ func TestFindCondition(t *testing.T) { ...@@ -65,9 +65,9 @@ func TestFindCondition(t *testing.T) {
} }
eq := FindEQColsInWhere(stmt) eq := FindEQColsInWhere(stmt)
inEq := FindINEQColsInWhere(stmt) inEq := FindINEQColsInWhere(stmt)
fmt.Println("WherEQ:") fmt.Println("WhereEQ:")
pretty.Println(eq) pretty.Println(eq)
fmt.Println("WherINEQ:") fmt.Println("WhereINEQ:")
pretty.Println(inEq) pretty.Println(inEq)
fmt.Println() fmt.Println()
} }
......
...@@ -28,7 +28,7 @@ import ( ...@@ -28,7 +28,7 @@ import (
// NodeItem 链表节点 // NodeItem 链表节点
type NodeItem struct { type NodeItem struct {
ID int // NodeItem在List中的编号,与顺序有关 ID int // NodeItem 在 List 中的编号,与顺序有关
Prev *NodeItem // 前一个节点 Prev *NodeItem // 前一个节点
Self sqlparser.SQLNode // 自身指向的AST Node Self sqlparser.SQLNode // 自身指向的AST Node
Next *NodeItem // 后一个节点 Next *NodeItem // 后一个节点
......
...@@ -29,7 +29,7 @@ import ( ...@@ -29,7 +29,7 @@ import (
// Pretty 格式化输出SQL // Pretty 格式化输出SQL
func Pretty(sql string, method string) (output string) { func Pretty(sql string, method string) (output string) {
common.Log.Debug("Pretty, Query: %s, method: %s", sql, method) common.Log.Debug("Pretty, Query: %s, method: %s", sql, method)
// 超出 Config.MaxPrettySQLLength 长度的SQL会对其指纹进行pretty // 超出 Config.MaxPrettySQLLength 长度的 SQL 会对其指纹进行 pretty
if len(sql) > common.Config.MaxPrettySQLLength { if len(sql) > common.Config.MaxPrettySQLLength {
fingerprint := query.Fingerprint(sql) fingerprint := query.Fingerprint(sql)
// 超出 Config.MaxFpPrettySqlLength 长度的指纹不会进行pretty // 超出 Config.MaxFpPrettySqlLength 长度的指纹不会进行pretty
......
...@@ -107,7 +107,7 @@ var TestSqlsPretty = []string{ ...@@ -107,7 +107,7 @@ var TestSqlsPretty = []string{
"ALTER TABLE T2 ADD COLUMN D int FIRST;", "ALTER TABLE T2 ADD COLUMN D int FIRST;",
"ALTER TABLE T2 ADD COLUMN E int AFTER D;", "ALTER TABLE T2 ADD COLUMN E int AFTER D;",
// RENMAE COLUMN // RENAME COLUMN
"ALTER TABLE t1 RENAME COLUMN a TO b", "ALTER TABLE t1 RENAME COLUMN a TO b",
// RENAME INDEX // RENAME INDEX
......
...@@ -300,7 +300,7 @@ func (rw *Rewrite) RewriteDelimiter() *Rewrite { ...@@ -300,7 +300,7 @@ func (rw *Rewrite) RewriteDelimiter() *Rewrite {
return rw return rw
} }
// RewriteStandard standard: 使用vitess提供的String功能将抽象语法树转写回SQL,注意:这可能转写失败。 // RewriteStandard standard: 使用 vitess 提供的 String 功能将抽象语法树转写回 SQL,注意:这可能转写失败。
func (rw *Rewrite) RewriteStandard() *Rewrite { func (rw *Rewrite) RewriteStandard() *Rewrite {
if _, err := sqlparser.Parse(rw.SQL); err == nil { if _, err := sqlparser.Parse(rw.SQL); err == nil {
rw.NewSQL = sqlparser.String(rw.Stmt) rw.NewSQL = sqlparser.String(rw.Stmt)
...@@ -313,7 +313,7 @@ func (rw *Rewrite) RewriteAlwaysTrue() (reWriter *Rewrite) { ...@@ -313,7 +313,7 @@ func (rw *Rewrite) RewriteAlwaysTrue() (reWriter *Rewrite) {
array := NewNodeList(rw.Stmt) array := NewNodeList(rw.Stmt)
tNode := array.Head tNode := array.Head
for { for {
omitAwaysTrue(tNode) omitAlwaysTrue(tNode)
tNode = tNode.Next tNode = tNode.Next
if tNode == nil { if tNode == nil {
break break
...@@ -380,8 +380,8 @@ func isAlwaysTrue(expr *sqlparser.ComparisonExpr) bool { ...@@ -380,8 +380,8 @@ func isAlwaysTrue(expr *sqlparser.ComparisonExpr) bool {
return result return result
} }
// omitAwaysTrue 移除AST中的恒真条件 // omitAlwaysTrue 移除AST中的恒真条件
func omitAwaysTrue(node *NodeItem) { func omitAlwaysTrue(node *NodeItem) {
if node == nil { if node == nil {
return return
} }
...@@ -568,7 +568,7 @@ func omitAwaysTrue(node *NodeItem) { ...@@ -568,7 +568,7 @@ func omitAwaysTrue(node *NodeItem) {
} }
} }
omitAwaysTrue(node.Prev) omitAlwaysTrue(node.Prev)
} }
// RewriteCountStar countstar: 将COUNT(col)改写为COUNT(*) // RewriteCountStar countstar: 将COUNT(col)改写为COUNT(*)
...@@ -594,7 +594,7 @@ func (rw *Rewrite) RewriteCountStar() *Rewrite { ...@@ -594,7 +594,7 @@ func (rw *Rewrite) RewriteCountStar() *Rewrite {
return rw return rw
} }
// RewriteInnoDB innodb: 为未指定Engine的表默认添加InnoDB引擎,将其他存储引擎转为InnoDB // RewriteInnoDB InnoDB: 为未指定 Engine 的表默认添加 InnoDB 引擎,将其他存储引擎转为 InnoDB
func (rw *Rewrite) RewriteInnoDB() *Rewrite { func (rw *Rewrite) RewriteInnoDB() *Rewrite {
switch create := rw.Stmt.(type) { switch create := rw.Stmt.(type) {
case *sqlparser.DDL: case *sqlparser.DDL:
......
...@@ -48,7 +48,7 @@ var cacheHits int ...@@ -48,7 +48,7 @@ var cacheHits int
var cacheMisses int var cacheMisses int
var tokenCache map[string]Token var tokenCache map[string]Token
var tokenBoudaries = []string{",", ";", ":", ")", "(", ".", "=", "<", ">", "+", "-", "*", "/", "!", "^", "%", "|", "&", "#"} var tokenBoundaries = []string{",", ";", ":", ")", "(", ".", "=", "<", ">", "+", "-", "*", "/", "!", "^", "%", "|", "&", "#"}
var tokenReserved = []string{ var tokenReserved = []string{
"ACCESSIBLE", "ACTION", "AGAINST", "AGGREGATE", "ALGORITHM", "ALL", "ALTER", "ANALYSE", "ANALYZE", "AS", "ASC", "ACCESSIBLE", "ACTION", "AGAINST", "AGGREGATE", "ALGORITHM", "ALL", "ALTER", "ANALYSE", "ANALYZE", "AS", "ASC",
...@@ -117,14 +117,14 @@ var tokenReservedNewLine = []string{ ...@@ -117,14 +117,14 @@ var tokenReservedNewLine = []string{
} }
var regBoundariesString string var regBoundariesString string
var regResrvedToplevelString string var regReservedToplevelString string
var regReservedNewlineString string var regReservedNewlineString string
var regReservedString string var regReservedString string
var regFunctionString string var regFunctionString string
func init() { func init() {
var regs []string var regs []string
for _, reg := range tokenBoudaries { for _, reg := range tokenBoundaries {
regs = append(regs, regexp.QuoteMeta(reg)) regs = append(regs, regexp.QuoteMeta(reg))
} }
regBoundariesString = "(" + strings.Join(regs, "|") + ")" regBoundariesString = "(" + strings.Join(regs, "|") + ")"
...@@ -133,7 +133,7 @@ func init() { ...@@ -133,7 +133,7 @@ func init() {
for _, reg := range tokenReservedTopLevel { for _, reg := range tokenReservedTopLevel {
regs = append(regs, regexp.QuoteMeta(reg)) regs = append(regs, regexp.QuoteMeta(reg))
} }
regResrvedToplevelString = "(" + strings.Join(regs, "|") + ")" regReservedToplevelString = "(" + strings.Join(regs, "|") + ")"
regs = make([]string, 0) regs = make([]string, 0)
for _, reg := range tokenReservedNewLine { for _, reg := range tokenReservedNewLine {
...@@ -300,7 +300,7 @@ var TokenString = map[int]string{ ...@@ -300,7 +300,7 @@ var TokenString = map[int]string{
sqlparser.BIGINT: "bigint", sqlparser.BIGINT: "bigint",
sqlparser.INTNUM: "intnum", sqlparser.INTNUM: "intnum",
sqlparser.REAL: "real", sqlparser.REAL: "real",
sqlparser.DOUBLE: "bouble", sqlparser.DOUBLE: "double",
sqlparser.FLOAT_TYPE: "float_type", sqlparser.FLOAT_TYPE: "float_type",
sqlparser.DECIMAL: "decimal", sqlparser.DECIMAL: "decimal",
sqlparser.NUMERIC: "numeric", sqlparser.NUMERIC: "numeric",
...@@ -662,7 +662,7 @@ func IsMysqlKeyword(name string) bool { ...@@ -662,7 +662,7 @@ func IsMysqlKeyword(name string) bool {
return ok return ok
} }
// getNextToken 从buf中获取token // getNextToken 从 buf 中获取 token
func getNextToken(buf string, previous Token) Token { func getNextToken(buf string, previous Token) Token {
var typ int // TOKEN_TYPE var typ int // TOKEN_TYPE
...@@ -756,7 +756,7 @@ func getNextToken(buf string, previous Token) Token { ...@@ -756,7 +756,7 @@ func getNextToken(buf string, previous Token) Token {
// this makes it so in "mytable.from", "from" is not considered a reserved word // this makes it so in "mytable.from", "from" is not considered a reserved word
if previous.Val != "." { if previous.Val != "." {
// Top Level Reserved Word // Top Level Reserved Word
reservedToplevelReg := regexp.MustCompile(`^(` + regResrvedToplevelString + `)($|\s|` + regBoundariesString + `)`) reservedToplevelReg := regexp.MustCompile(`^(` + regReservedToplevelString + `)($|\s|` + regBoundariesString + `)`)
if reservedToplevelReg.MatchString(sqlUpper) { if reservedToplevelReg.MatchString(sqlUpper) {
return Token{ return Token{
Type: TokenTypeReservedToplevel, Type: TokenTypeReservedToplevel,
......
...@@ -1014,70 +1014,70 @@ ...@@ -1014,70 +1014,70 @@
"revisionTime": "2018-03-28T19:50:20Z" "revisionTime": "2018-03-28T19:50:20Z"
}, },
{ {
"checksumSHA1": "w8FCRjH70gM6QttB9QrEh9Y1x64=", "checksumSHA1": "q7Bd5YJHsxvzEpiOBaYn+wEpqyU=",
"path": "vitess.io/vitess", "path": "vitess.io/vitess",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
}, },
{ {
"checksumSHA1": "aKn1oKcY74N8TRLm3Ayt7Q4bbI4=", "checksumSHA1": "aKn1oKcY74N8TRLm3Ayt7Q4bbI4=",
"path": "vitess.io/vitess/go/bytes2", "path": "vitess.io/vitess/go/bytes2",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
}, },
{ {
"checksumSHA1": "JVCEN4UGRmg3TofIBdzZMZ3G0Ww=", "checksumSHA1": "JVCEN4UGRmg3TofIBdzZMZ3G0Ww=",
"path": "vitess.io/vitess/go/hack", "path": "vitess.io/vitess/go/hack",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
}, },
{ {
"checksumSHA1": "e1WJ7vCnVrlQQQlc6n/FewCDMso=", "checksumSHA1": "e1WJ7vCnVrlQQQlc6n/FewCDMso=",
"path": "vitess.io/vitess/go/sqltypes", "path": "vitess.io/vitess/go/sqltypes",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
}, },
{ {
"checksumSHA1": "ntFIQYkBS51G6y+FEkjFW40+HOU=", "checksumSHA1": "ntFIQYkBS51G6y+FEkjFW40+HOU=",
"path": "vitess.io/vitess/go/vt/log", "path": "vitess.io/vitess/go/vt/log",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
}, },
{ {
"checksumSHA1": "XozR8bmeSR5KTe/nlUJkpJY2HKI=", "checksumSHA1": "XozR8bmeSR5KTe/nlUJkpJY2HKI=",
"path": "vitess.io/vitess/go/vt/proto/query", "path": "vitess.io/vitess/go/vt/proto/query",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
}, },
{ {
"checksumSHA1": "OnWsUHLDKcO3spwH0jD55SvKD24=", "checksumSHA1": "OnWsUHLDKcO3spwH0jD55SvKD24=",
"path": "vitess.io/vitess/go/vt/proto/topodata", "path": "vitess.io/vitess/go/vt/proto/topodata",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
}, },
{ {
"checksumSHA1": "sBAuZ/itMR8U8qbK4yLHxkP6Cpc=", "checksumSHA1": "sBAuZ/itMR8U8qbK4yLHxkP6Cpc=",
"path": "vitess.io/vitess/go/vt/proto/vtgate", "path": "vitess.io/vitess/go/vt/proto/vtgate",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
}, },
{ {
"checksumSHA1": "pLWM+SPGZs3k+IhjktE/cGUlpM0=", "checksumSHA1": "pLWM+SPGZs3k+IhjktE/cGUlpM0=",
"path": "vitess.io/vitess/go/vt/proto/vtrpc", "path": "vitess.io/vitess/go/vt/proto/vtrpc",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
}, },
{ {
"checksumSHA1": "3ggEFYVEhMPxyhkKhRGw3x1eZ9M=", "checksumSHA1": "2ZBC/pPjs13cocUf8PoMSvAO5u4=",
"path": "vitess.io/vitess/go/vt/sqlparser", "path": "vitess.io/vitess/go/vt/sqlparser",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
}, },
{ {
"checksumSHA1": "oF4XzuOzwvj1iduX/lYqNSyY/HM=", "checksumSHA1": "oF4XzuOzwvj1iduX/lYqNSyY/HM=",
"path": "vitess.io/vitess/go/vt/vterrors", "path": "vitess.io/vitess/go/vt/vterrors",
"revision": "088b121f3ef2d0f0631499fcdf77eed9b701b5fe", "revision": "9b8d987d43a54eeacb96cbd3c6015781eaee2144",
"revisionTime": "2018-11-16T06:46:05Z" "revisionTime": "2018-11-16T22:45:52Z"
} }
], ],
"rootPath": "github.com/XiaoMi/soar" "rootPath": "github.com/XiaoMi/soar"
......
...@@ -8,6 +8,9 @@ ...@@ -8,6 +8,9 @@
# https://github.com/docker/hub-feedback/issues/292 is fixed. # https://github.com/docker/hub-feedback/issues/292 is fixed.
FROM vitess/bootstrap:mysql57 FROM vitess/bootstrap:mysql57
# Allows some docker builds to disable CGO
ARG CGO_ENABLED=0
# Re-copy sources from working tree # Re-copy sources from working tree
USER root USER root
COPY . /vt/src/vitess.io/vitess COPY . /vt/src/vitess.io/vitess
......
...@@ -3105,6 +3105,7 @@ type ConvertType struct { ...@@ -3105,6 +3105,7 @@ type ConvertType struct {
// this string is "character set" and this comment is required // this string is "character set" and this comment is required
const ( const (
CharacterSetStr = " character set" CharacterSetStr = " character set"
CharsetStr = "charset"
) )
// Format formats the node. // Format formats the node.
......
因为 它太大了无法显示 source diff 。你可以改为 查看blob
...@@ -180,7 +180,7 @@ func skipToEnd(yylex interface{}) { ...@@ -180,7 +180,7 @@ func skipToEnd(yylex interface{}) {
%token <bytes> NULLX AUTO_INCREMENT APPROXNUM SIGNED UNSIGNED ZEROFILL %token <bytes> NULLX AUTO_INCREMENT APPROXNUM SIGNED UNSIGNED ZEROFILL
// Supported SHOW tokens // Supported SHOW tokens
%token <bytes> COLLATION DATABASES TABLES VITESS_KEYSPACES VITESS_SHARDS VITESS_TABLETS VSCHEMA_TABLES VITESS_TARGET FULL PROCESSLIST COLUMNS FIELDS %token <bytes> COLLATION DATABASES TABLES VITESS_KEYSPACES VITESS_SHARDS VITESS_TABLETS VSCHEMA_TABLES VITESS_TARGET FULL PROCESSLIST COLUMNS FIELDS ENGINES PLUGINS
// SET tokens // SET tokens
%token <bytes> NAMES CHARSET GLOBAL SESSION ISOLATION LEVEL READ WRITE ONLY REPEATABLE COMMITTED UNCOMMITTED SERIALIZABLE %token <bytes> NAMES CHARSET GLOBAL SESSION ISOLATION LEVEL READ WRITE ONLY REPEATABLE COMMITTED UNCOMMITTED SERIALIZABLE
...@@ -1450,9 +1450,14 @@ show_statement: ...@@ -1450,9 +1450,14 @@ show_statement:
{ {
$$ = &Show{Type: string($2) + " " + string($3)} $$ = &Show{Type: string($2) + " " + string($3)}
} }
/* SHOW CHARACTER SET and SHOW CHARSET are equivalent */
| SHOW CHARACTER SET ddl_skip_to_end | SHOW CHARACTER SET ddl_skip_to_end
{ {
$$ = &Show{Type: string($2) + " " + string($3)} $$ = &Show{Type: CharsetStr}
}
| SHOW CHARSET ddl_skip_to_end
{
$$ = &Show{Type: string($2)}
} }
| SHOW CREATE DATABASE ddl_skip_to_end | SHOW CREATE DATABASE ddl_skip_to_end
{ {
...@@ -1483,6 +1488,10 @@ show_statement: ...@@ -1483,6 +1488,10 @@ show_statement:
{ {
$$ = &Show{Type: string($2)} $$ = &Show{Type: string($2)}
} }
| SHOW ENGINES
{
$$ = &Show{Type: string($2)}
}
| SHOW INDEX ddl_skip_to_end | SHOW INDEX ddl_skip_to_end
{ {
$$ = &Show{Type: string($2)} $$ = &Show{Type: string($2)}
...@@ -1491,6 +1500,10 @@ show_statement: ...@@ -1491,6 +1500,10 @@ show_statement:
{ {
$$ = &Show{Type: string($2)} $$ = &Show{Type: string($2)}
} }
| SHOW PLUGINS
{
$$ = &Show{Type: string($2)}
}
| SHOW PROCEDURE ddl_skip_to_end | SHOW PROCEDURE ddl_skip_to_end
{ {
$$ = &Show{Type: string($2)} $$ = &Show{Type: string($2)}
...@@ -3254,6 +3267,7 @@ non_reserved_keyword: ...@@ -3254,6 +3267,7 @@ non_reserved_keyword:
| DECIMAL | DECIMAL
| DOUBLE | DOUBLE
| DUPLICATE | DUPLICATE
| ENGINES
| ENUM | ENUM
| EXPANSION | EXPANSION
| FLOAT_TYPE | FLOAT_TYPE
...@@ -3292,6 +3306,7 @@ non_reserved_keyword: ...@@ -3292,6 +3306,7 @@ non_reserved_keyword:
| ONLY | ONLY
| OPTIMIZE | OPTIMIZE
| PARTITION | PARTITION
| PLUGINS
| POINT | POINT
| POLYGON | POLYGON
| PRIMARY | PRIMARY
......
...@@ -166,6 +166,7 @@ var keywords = map[string]int{ ...@@ -166,6 +166,7 @@ var keywords = map[string]int{
"elseif": UNUSED, "elseif": UNUSED,
"enclosed": UNUSED, "enclosed": UNUSED,
"end": END, "end": END,
"engines": ENGINES,
"enum": ENUM, "enum": ENUM,
"escape": ESCAPE, "escape": ESCAPE,
"escaped": UNUSED, "escaped": UNUSED,
...@@ -286,6 +287,7 @@ var keywords = map[string]int{ ...@@ -286,6 +287,7 @@ var keywords = map[string]int{
"outer": OUTER, "outer": OUTER,
"outfile": UNUSED, "outfile": UNUSED,
"partition": PARTITION, "partition": PARTITION,
"plugins": PLUGINS,
"point": POINT, "point": POINT,
"polygon": POLYGON, "polygon": POLYGON,
"precision": UNUSED, "precision": UNUSED,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册