Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
soar
提交
442f4147
S
soar
项目概览
Xiaomi
/
soar
大约 2 年 前同步成功
通知
467
Star
8513
Fork
1329
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
soar
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
442f4147
编写于
1月 05, 2019
作者:
martianzhang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
vendor daily update
1. update vendor 2. `use db` can't be explain, it will print err log at explain.go
上级
af21009e
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
144 addition
and
59 deletion
+144
-59
database/explain.go
database/explain.go
+3
-0
vendor/github.com/pingcap/parser/ast/dml.go
vendor/github.com/pingcap/parser/ast/dml.go
+61
-3
vendor/github.com/pingcap/parser/ast/functions.go
vendor/github.com/pingcap/parser/ast/functions.go
+25
-1
vendor/vendor.json
vendor/vendor.json
+55
-55
未找到文件。
database/explain.go
浏览文件 @
442f4147
...
...
@@ -1059,6 +1059,9 @@ func (db *Connector) Explain(sql string, explainType int, formatType int) (exp *
// 执行EXPLAIN请求
exp
.
SQL
=
db
.
explainQuery
(
sql
,
explainType
,
formatType
)
if
exp
.
SQL
==
""
{
return
exp
,
nil
}
res
,
err
:=
db
.
Query
(
exp
.
SQL
)
if
err
!=
nil
{
return
exp
,
err
...
...
vendor/github.com/pingcap/parser/ast/dml.go
浏览文件 @
442f4147
...
...
@@ -1399,7 +1399,39 @@ type WindowSpec struct {
// Restore implements Node interface.
func
(
n
*
WindowSpec
)
Restore
(
ctx
*
RestoreCtx
)
error
{
return
errors
.
New
(
"Not implemented"
)
if
name
:=
n
.
Name
.
String
();
name
!=
""
{
ctx
.
WriteName
(
name
)
ctx
.
WriteKeyWord
(
" AS "
)
}
ctx
.
WritePlain
(
"("
)
sep
:=
""
if
refName
:=
n
.
Ref
.
String
();
refName
!=
""
{
ctx
.
WriteName
(
refName
)
sep
=
" "
}
if
n
.
PartitionBy
!=
nil
{
ctx
.
WritePlain
(
sep
)
if
err
:=
n
.
PartitionBy
.
Restore
(
ctx
);
err
!=
nil
{
return
errors
.
Annotate
(
err
,
"An error occurred while restore WindowSpec.PartitionBy"
)
}
sep
=
" "
}
if
n
.
OrderBy
!=
nil
{
ctx
.
WritePlain
(
sep
)
if
err
:=
n
.
OrderBy
.
Restore
(
ctx
);
err
!=
nil
{
return
errors
.
Annotate
(
err
,
"An error occurred while restore WindowSpec.OrderBy"
)
}
sep
=
" "
}
if
n
.
Frame
!=
nil
{
ctx
.
WritePlain
(
sep
)
if
err
:=
n
.
Frame
.
Restore
(
ctx
);
err
!=
nil
{
return
errors
.
Annotate
(
err
,
"An error occurred while restore WindowSpec.Frame"
)
}
}
ctx
.
WritePlain
(
")"
)
return
nil
}
// Accept implements Node Accept interface.
...
...
@@ -1442,7 +1474,16 @@ type PartitionByClause struct {
// Restore implements Node interface.
func
(
n
*
PartitionByClause
)
Restore
(
ctx
*
RestoreCtx
)
error
{
return
errors
.
New
(
"Not implemented"
)
ctx
.
WriteKeyWord
(
"PARTITION BY "
)
for
i
,
v
:=
range
n
.
Items
{
if
i
!=
0
{
ctx
.
WritePlain
(
", "
)
}
if
err
:=
v
.
Restore
(
ctx
);
err
!=
nil
{
return
errors
.
Annotatef
(
err
,
"An error occurred while restore PartitionByClause.Items[%d]"
,
i
)
}
}
return
nil
}
// Accept implements Node Accept interface.
...
...
@@ -1483,7 +1524,24 @@ type FrameClause struct {
// Restore implements Node interface.
func
(
n
*
FrameClause
)
Restore
(
ctx
*
RestoreCtx
)
error
{
return
errors
.
New
(
"Not implemented"
)
switch
n
.
Type
{
case
Rows
:
ctx
.
WriteKeyWord
(
"ROWS"
)
case
Ranges
:
ctx
.
WriteKeyWord
(
"RANGE"
)
default
:
return
errors
.
New
(
"Unsupported window function frame type"
)
}
ctx
.
WriteKeyWord
(
" BETWEEN "
)
if
err
:=
n
.
Extent
.
Start
.
Restore
(
ctx
);
err
!=
nil
{
return
errors
.
Annotate
(
err
,
"An error occurred while restore FrameClause.Extent.Start"
)
}
ctx
.
WriteKeyWord
(
" AND "
)
if
err
:=
n
.
Extent
.
End
.
Restore
(
ctx
);
err
!=
nil
{
return
errors
.
Annotate
(
err
,
"An error occurred while restore FrameClause.Extent.End"
)
}
return
nil
}
// Accept implements Node Accept interface.
...
...
vendor/github.com/pingcap/parser/ast/functions.go
浏览文件 @
442f4147
...
...
@@ -725,7 +725,31 @@ type WindowFuncExpr struct {
// Restore implements Node interface.
func
(
n
*
WindowFuncExpr
)
Restore
(
ctx
*
RestoreCtx
)
error
{
return
errors
.
New
(
"Not implemented"
)
ctx
.
WriteKeyWord
(
n
.
F
)
ctx
.
WritePlain
(
"("
)
for
i
,
v
:=
range
n
.
Args
{
if
i
!=
0
{
ctx
.
WritePlain
(
", "
)
}
else
if
n
.
Distinct
{
ctx
.
WriteKeyWord
(
"DISTINCT "
)
}
if
err
:=
v
.
Restore
(
ctx
);
err
!=
nil
{
return
errors
.
Annotatef
(
err
,
"An error occurred while restore WindowFuncExpr.Args[%d]"
,
i
)
}
}
ctx
.
WritePlain
(
")"
)
if
n
.
FromLast
{
ctx
.
WriteKeyWord
(
" FROM LAST"
)
}
if
n
.
IgnoreNull
{
ctx
.
WriteKeyWord
(
" IGNORE NULLS"
)
}
ctx
.
WriteKeyWord
(
" OVER "
)
if
err
:=
n
.
Spec
.
Restore
(
ctx
);
err
!=
nil
{
return
errors
.
Annotate
(
err
,
"An error occurred while restore WindowFuncExpr.Spec"
)
}
return
nil
}
// Format formats the window function expression into a Writer.
...
...
vendor/vendor.json
浏览文件 @
442f4147
...
...
@@ -113,104 +113,104 @@
{
"checksumSHA1"
:
"oPVvRBag6XbaB4dN38RkdejKr70="
,
"path"
:
"github.com/pingcap/parser"
,
"revision"
:
"
24cab7ea76283def175c657d7572bf4764fead4c
"
,
"revisionTime"
:
"2019-01-0
4T04:24:18
Z"
"revision"
:
"
5f15dc90ca5964d59634063e29c22ff6c7d9e49e
"
,
"revisionTime"
:
"2019-01-0
5T06:04:45
Z"
},
{
"checksumSHA1"
:
"
8hcQ9TZ4Uy3ucYasBUPUTA/Km34
="
,
"checksumSHA1"
:
"
+KVexpbQ1kxBZA/iUahnFkIUGsU
="
,
"path"
:
"github.com/pingcap/parser/ast"
,
"revision"
:
"
24cab7ea76283def175c657d7572bf4764fead4c
"
,
"revisionTime"
:
"2019-01-0
4T04:24:18
Z"
"revision"
:
"
5f15dc90ca5964d59634063e29c22ff6c7d9e49e
"
,
"revisionTime"
:
"2019-01-0
5T06:04:45
Z"
},
{
"checksumSHA1"
:
"skWGV4FNvD3vr+5olepaPPnylUw="
,
"path"
:
"github.com/pingcap/parser/auth"
,
"revision"
:
"
24cab7ea76283def175c657d7572bf4764fead4c
"
,
"revisionTime"
:
"2019-01-0
4T04:24:18
Z"
"revision"
:
"
5f15dc90ca5964d59634063e29c22ff6c7d9e49e
"
,
"revisionTime"
:
"2019-01-0
5T06:04:45
Z"
},
{
"checksumSHA1"
:
"t4UHo966WzU9Z0IJkyGHRp0loOk="
,
"path"
:
"github.com/pingcap/parser/charset"
,
"revision"
:
"
24cab7ea76283def175c657d7572bf4764fead4c
"
,
"revisionTime"
:
"2019-01-0
4T04:24:18
Z"
"revision"
:
"
5f15dc90ca5964d59634063e29c22ff6c7d9e49e
"
,
"revisionTime"
:
"2019-01-0
5T06:04:45
Z"
},
{
"checksumSHA1"
:
"SInoXbsRe0tnBwmatmtZYfSFbdk="
,
"path"
:
"github.com/pingcap/parser/format"
,
"revision"
:
"
24cab7ea76283def175c657d7572bf4764fead4c
"
,
"revisionTime"
:
"2019-01-0
4T04:24:18
Z"
"revision"
:
"
5f15dc90ca5964d59634063e29c22ff6c7d9e49e
"
,
"revisionTime"
:
"2019-01-0
5T06:04:45
Z"
},
{
"checksumSHA1"
:
"ZADwr2/PcEd9VI3XF9OvN4HkJ+8="
,
"path"
:
"github.com/pingcap/parser/model"
,
"revision"
:
"
24cab7ea76283def175c657d7572bf4764fead4c
"
,
"revisionTime"
:
"2019-01-0
4T04:24:18
Z"
"revision"
:
"
5f15dc90ca5964d59634063e29c22ff6c7d9e49e
"
,
"revisionTime"
:
"2019-01-0
5T06:04:45
Z"
},
{
"checksumSHA1"
:
"kkqyRzO7TCqnABxjJEo+JclJZLM="
,
"path"
:
"github.com/pingcap/parser/mysql"
,
"revision"
:
"
24cab7ea76283def175c657d7572bf4764fead4c
"
,
"revisionTime"
:
"2019-01-0
4T04:24:18
Z"
"revision"
:
"
5f15dc90ca5964d59634063e29c22ff6c7d9e49e
"
,
"revisionTime"
:
"2019-01-0
5T06:04:45
Z"
},
{
"checksumSHA1"
:
"mxpiJJ3b08I0o0Sd2rJLYMwz7uw="
,
"path"
:
"github.com/pingcap/parser/opcode"
,
"revision"
:
"
24cab7ea76283def175c657d7572bf4764fead4c
"
,
"revisionTime"
:
"2019-01-0
4T04:24:18
Z"
"revision"
:
"
5f15dc90ca5964d59634063e29c22ff6c7d9e49e
"
,
"revisionTime"
:
"2019-01-0
5T06:04:45
Z"
},
{
"checksumSHA1"
:
"XvnUllvwMYd6HrMvMiKnn4cGN2M="
,
"path"
:
"github.com/pingcap/parser/terror"
,
"revision"
:
"
24cab7ea76283def175c657d7572bf4764fead4c
"
,
"revisionTime"
:
"2019-01-0
4T04:24:18
Z"
"revision"
:
"
5f15dc90ca5964d59634063e29c22ff6c7d9e49e
"
,
"revisionTime"
:
"2019-01-0
5T06:04:45
Z"
},
{
"checksumSHA1"
:
"CpuZhpMNeho4tIFPwY2GUDvuEfQ="
,
"path"
:
"github.com/pingcap/parser/types"
,
"revision"
:
"
24cab7ea76283def175c657d7572bf4764fead4c
"
,
"revisionTime"
:
"2019-01-0
4T04:24:18
Z"
"revision"
:
"
5f15dc90ca5964d59634063e29c22ff6c7d9e49e
"
,
"revisionTime"
:
"2019-01-0
5T06:04:45
Z"
},
{
"checksumSHA1"
:
"MxoLdFWi8nwd0uqTJnYqw+JaDAY="
,
"path"
:
"github.com/pingcap/tidb/sessionctx/stmtctx"
,
"revision"
:
"
7ee6811d9777bc2ae281292bf2f6313abb64b5c3
"
,
"revisionTime"
:
"2019-01-0
4T07:15:18
Z"
"revision"
:
"
081a2c5cccf4d82ca2ad33cdc9f2f21d3319e2d5
"
,
"revisionTime"
:
"2019-01-0
5T02:32:10
Z"
},
{
"checksumSHA1"
:
"wlD7aGqTJ5eBQYK0ub4b2Ick1j8="
,
"path"
:
"github.com/pingcap/tidb/types"
,
"revision"
:
"
7ee6811d9777bc2ae281292bf2f6313abb64b5c3
"
,
"revisionTime"
:
"2019-01-0
4T07:15:18
Z"
"revision"
:
"
081a2c5cccf4d82ca2ad33cdc9f2f21d3319e2d5
"
,
"revisionTime"
:
"2019-01-0
5T02:32:10
Z"
},
{
"checksumSHA1"
:
"DWVD7+ygtT66IQ+cqXmMJ5OVqUk="
,
"path"
:
"github.com/pingcap/tidb/types/json"
,
"revision"
:
"
7ee6811d9777bc2ae281292bf2f6313abb64b5c3
"
,
"revisionTime"
:
"2019-01-0
4T07:15:18
Z"
"revision"
:
"
081a2c5cccf4d82ca2ad33cdc9f2f21d3319e2d5
"
,
"revisionTime"
:
"2019-01-0
5T02:32:10
Z"
},
{
"checksumSHA1"
:
"6vi/eCZXqNTa5eAUpxDZet4LPlY="
,
"path"
:
"github.com/pingcap/tidb/types/parser_driver"
,
"revision"
:
"
7ee6811d9777bc2ae281292bf2f6313abb64b5c3
"
,
"revisionTime"
:
"2019-01-0
4T07:15:18
Z"
"revision"
:
"
081a2c5cccf4d82ca2ad33cdc9f2f21d3319e2d5
"
,
"revisionTime"
:
"2019-01-0
5T02:32:10
Z"
},
{
"checksumSHA1"
:
"SS7twHZofFKr8w/pwIKmkp3u5qU="
,
"path"
:
"github.com/pingcap/tidb/util/execdetails"
,
"revision"
:
"
7ee6811d9777bc2ae281292bf2f6313abb64b5c3
"
,
"revisionTime"
:
"2019-01-0
4T07:15:18
Z"
"revision"
:
"
081a2c5cccf4d82ca2ad33cdc9f2f21d3319e2d5
"
,
"revisionTime"
:
"2019-01-0
5T02:32:10
Z"
},
{
"checksumSHA1"
:
"nUC7zVoAMNR2a+z2iGqHoN2AkFE="
,
"path"
:
"github.com/pingcap/tidb/util/hack"
,
"revision"
:
"
7ee6811d9777bc2ae281292bf2f6313abb64b5c3
"
,
"revisionTime"
:
"2019-01-0
4T07:15:18
Z"
"revision"
:
"
081a2c5cccf4d82ca2ad33cdc9f2f21d3319e2d5
"
,
"revisionTime"
:
"2019-01-0
5T02:32:10
Z"
},
{
"checksumSHA1"
:
"xSyepiuqsoaaeDch7cXeumvVHKM="
,
"path"
:
"github.com/pingcap/tidb/util/memory"
,
"revision"
:
"
7ee6811d9777bc2ae281292bf2f6313abb64b5c3
"
,
"revisionTime"
:
"2019-01-0
4T07:15:18
Z"
"revision"
:
"
081a2c5cccf4d82ca2ad33cdc9f2f21d3319e2d5
"
,
"revisionTime"
:
"2019-01-0
5T02:32:10
Z"
},
{
"checksumSHA1"
:
"SmYeIK/fIYXNu8IKxD6HOVQVTuU="
,
...
...
@@ -407,62 +407,62 @@
{
"checksumSHA1"
:
"aKn1oKcY74N8TRLm3Ayt7Q4bbI4="
,
"path"
:
"vitess.io/vitess/go/bytes2"
,
"revision"
:
"
6cf46db00d35072b69e7dcbec207d99836da0419
"
,
"revisionTime"
:
"2019-01-0
3T03:49:25
Z"
"revision"
:
"
ae79dd48f3157c96d083c890f670011cdebf0a2b
"
,
"revisionTime"
:
"2019-01-0
4T23:32:40
Z"
},
{
"checksumSHA1"
:
"JVCEN4UGRmg3TofIBdzZMZ3G0Ww="
,
"path"
:
"vitess.io/vitess/go/hack"
,
"revision"
:
"
6cf46db00d35072b69e7dcbec207d99836da0419
"
,
"revisionTime"
:
"2019-01-0
3T03:49:25
Z"
"revision"
:
"
ae79dd48f3157c96d083c890f670011cdebf0a2b
"
,
"revisionTime"
:
"2019-01-0
4T23:32:40
Z"
},
{
"checksumSHA1"
:
"F5pcGq+2W1FHEjgktTdKOE6W8mk="
,
"path"
:
"vitess.io/vitess/go/sqltypes"
,
"revision"
:
"
6cf46db00d35072b69e7dcbec207d99836da0419
"
,
"revisionTime"
:
"2019-01-0
3T03:49:25
Z"
"revision"
:
"
ae79dd48f3157c96d083c890f670011cdebf0a2b
"
,
"revisionTime"
:
"2019-01-0
4T23:32:40
Z"
},
{
"checksumSHA1"
:
"ntFIQYkBS51G6y+FEkjFW40+HOU="
,
"path"
:
"vitess.io/vitess/go/vt/log"
,
"revision"
:
"
6cf46db00d35072b69e7dcbec207d99836da0419
"
,
"revisionTime"
:
"2019-01-0
3T03:49:25
Z"
"revision"
:
"
ae79dd48f3157c96d083c890f670011cdebf0a2b
"
,
"revisionTime"
:
"2019-01-0
4T23:32:40
Z"
},
{
"checksumSHA1"
:
"HHIcl3lpWkzLARkkNv94fVaObjo="
,
"path"
:
"vitess.io/vitess/go/vt/proto/query"
,
"revision"
:
"
6cf46db00d35072b69e7dcbec207d99836da0419
"
,
"revisionTime"
:
"2019-01-0
3T03:49:25
Z"
"revision"
:
"
ae79dd48f3157c96d083c890f670011cdebf0a2b
"
,
"revisionTime"
:
"2019-01-0
4T23:32:40
Z"
},
{
"checksumSHA1"
:
"YLWTmL+rvz0htn0niRMrIUI6rKc="
,
"path"
:
"vitess.io/vitess/go/vt/proto/topodata"
,
"revision"
:
"
6cf46db00d35072b69e7dcbec207d99836da0419
"
,
"revisionTime"
:
"2019-01-0
3T03:49:25
Z"
"revision"
:
"
ae79dd48f3157c96d083c890f670011cdebf0a2b
"
,
"revisionTime"
:
"2019-01-0
4T23:32:40
Z"
},
{
"checksumSHA1"
:
"tNNlcSFFnlOauS2hXnrz/zA/wfk="
,
"path"
:
"vitess.io/vitess/go/vt/proto/vtgate"
,
"revision"
:
"
6cf46db00d35072b69e7dcbec207d99836da0419
"
,
"revisionTime"
:
"2019-01-0
3T03:49:25
Z"
"revision"
:
"
ae79dd48f3157c96d083c890f670011cdebf0a2b
"
,
"revisionTime"
:
"2019-01-0
4T23:32:40
Z"
},
{
"checksumSHA1"
:
"qz32abYdmm9NfKTc++K0l1EvXXM="
,
"path"
:
"vitess.io/vitess/go/vt/proto/vtrpc"
,
"revision"
:
"
6cf46db00d35072b69e7dcbec207d99836da0419
"
,
"revisionTime"
:
"2019-01-0
3T03:49:25
Z"
"revision"
:
"
ae79dd48f3157c96d083c890f670011cdebf0a2b
"
,
"revisionTime"
:
"2019-01-0
4T23:32:40
Z"
},
{
"checksumSHA1"
:
"IDe+9Bn42lZVsuoYO/epdguiErk="
,
"path"
:
"vitess.io/vitess/go/vt/sqlparser"
,
"revision"
:
"
6cf46db00d35072b69e7dcbec207d99836da0419
"
,
"revisionTime"
:
"2019-01-0
3T03:49:25
Z"
"revision"
:
"
ae79dd48f3157c96d083c890f670011cdebf0a2b
"
,
"revisionTime"
:
"2019-01-0
4T23:32:40
Z"
},
{
"checksumSHA1"
:
"Jx+gOh/kiBDSZxEIWHyYn9brjdo="
,
"path"
:
"vitess.io/vitess/go/vt/vterrors"
,
"revision"
:
"
6cf46db00d35072b69e7dcbec207d99836da0419
"
,
"revisionTime"
:
"2019-01-0
3T03:49:25
Z"
"revision"
:
"
ae79dd48f3157c96d083c890f670011cdebf0a2b
"
,
"revisionTime"
:
"2019-01-0
4T23:32:40
Z"
}
],
"rootPath"
:
"github.com/XiaoMi/soar"
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录