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