Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Xiaomi
soar
提交
c4a2acf3
S
soar
项目概览
Xiaomi
/
soar
大约 1 年 前同步成功
通知
388
Star
8512
Fork
1328
代码
文件
提交
分支
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c4a2acf3
编写于
11月 30, 2018
作者:
L
liipx
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of github.com:XiaoMi/soar
上级
323d130e
4b47de6c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
9 addition
and
5 deletion
+9
-5
cmd/soar/soar.go
cmd/soar/soar.go
+5
-4
env/env.go
env/env.go
+4
-1
未找到文件。
cmd/soar/soar.go
浏览文件 @
c4a2acf3
...
...
@@ -192,9 +192,7 @@ func main() {
os
.
Exit
(
1
)
}
// tidb parser 语法检查给出的建议 ERR.000
if
common
.
Config
.
TestDSN
.
Disable
{
mysqlSuggest
[
"ERR.000"
]
=
advisor
.
RuleMySQLError
(
"ERR.000"
,
syntaxErr
)
}
mysqlSuggest
[
"ERR.000"
]
=
advisor
.
RuleMySQLError
(
"ERR.000"
,
syntaxErr
)
}
// 如果只想检查语法直接跳过后面的步骤
if
common
.
Config
.
OnlySyntaxCheck
{
...
...
@@ -255,6 +253,9 @@ func main() {
}
default
:
// vEnv.VEnvBuild 阶段给出的 ERROR 是 ERR.001
if
_
,
ok
:=
mysqlSuggest
[
"ERR.000"
];
ok
{
delete
(
mysqlSuggest
,
"ERR.000"
)
}
mysqlSuggest
[
"ERR.001"
]
=
advisor
.
RuleMySQLError
(
"ERR.001"
,
vEnv
.
Error
)
common
.
Log
.
Error
(
"BuildVirtualEnv DDL Execute Error : %v"
,
vEnv
.
Error
)
}
...
...
@@ -277,7 +278,7 @@ func main() {
explainInfo
,
err
:=
rEnv
.
Explain
(
q
.
Query
,
database
.
ExplainType
[
common
.
Config
.
ExplainType
],
database
.
ExplainFormatType
[
common
.
Config
.
ExplainFormat
])
if
err
!=
nil
&&
strings
.
HasPrefix
(
vEnv
.
Database
,
"optimizer_"
)
{
if
err
!=
nil
{
// 线上环境执行失败才到测试环境 EXPLAIN,比如在用户提供建表语句及查询语句的场景
common
.
Log
.
Warn
(
"rEnv.Explain Warn: %v"
,
err
)
explainInfo
,
err
=
vEnv
.
Explain
(
q
.
Query
,
...
...
env/env.go
浏览文件 @
c4a2acf3
...
...
@@ -122,6 +122,7 @@ func (ve VirtualEnv) RealDB(hash string) string {
if
_
,
ok
:=
ve
.
hash2Db
[
hash
];
ok
{
return
ve
.
hash2Db
[
hash
]
}
common
.
Log
.
Error
(
"RealDB, missing hash map: %s"
,
hash
)
return
hash
}
...
...
@@ -355,7 +356,9 @@ func (ve VirtualEnv) createDatabase(rEnv database.Connector, dbName string) erro
}
// optimizer_YYMMDDHHmmss_xxxx
dbHash
:=
fmt
.
Sprintf
(
"optimizer_%s_%s"
,
time
.
Now
()
.
Format
(
"060102150405"
),
uniuri
.
New
())
dbHash
:=
fmt
.
Sprintf
(
"optimizer_%s_%s"
,
// Total 39 bytes
time
.
Now
()
.
Format
(
"060102150405"
),
// 12 Bytes 20180102030405
strings
.
ToLower
(
uniuri
.
New
()))
// 16 Bytes random string
common
.
Log
.
Debug
(
"createDatabase, mapping `%s` :`%s`-->`%s`"
,
dbName
,
dbName
,
dbHash
)
ddl
,
err
:=
rEnv
.
ShowCreateDatabase
(
dbName
)
if
err
!=
nil
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录