Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
ad6648af
C
ClickHouse
项目概览
2dot5
/
ClickHouse
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
ClickHouse
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ad6648af
编写于
3月 24, 2019
作者:
A
Alexey Milovidov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Moved more code to .cpp
上级
25ab402d
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
89 addition
and
76 deletion
+89
-76
dbms/src/Parsers/ASTColumnDeclaration.cpp
dbms/src/Parsers/ASTColumnDeclaration.cpp
+70
-0
dbms/src/Parsers/ASTColumnDeclaration.h
dbms/src/Parsers/ASTColumnDeclaration.h
+2
-62
dbms/src/Parsers/ASTCreateQuery.cpp
dbms/src/Parsers/ASTCreateQuery.cpp
+17
-0
dbms/src/Parsers/ASTCreateQuery.h
dbms/src/Parsers/ASTCreateQuery.h
+0
-14
未找到文件。
dbms/src/Parsers/ASTColumnDeclaration.cpp
0 → 100644
浏览文件 @
ad6648af
#include <Parsers/ASTColumnDeclaration.h>
namespace
DB
{
ASTPtr
ASTColumnDeclaration
::
clone
()
const
{
const
auto
res
=
std
::
make_shared
<
ASTColumnDeclaration
>
(
*
this
);
res
->
children
.
clear
();
if
(
type
)
{
res
->
type
=
type
;
res
->
children
.
push_back
(
res
->
type
);
}
if
(
default_expression
)
{
res
->
default_expression
=
default_expression
->
clone
();
res
->
children
.
push_back
(
res
->
default_expression
);
}
if
(
codec
)
{
res
->
codec
=
codec
->
clone
();
res
->
children
.
push_back
(
res
->
codec
);
}
if
(
comment
)
{
res
->
comment
=
comment
->
clone
();
res
->
children
.
push_back
(
res
->
comment
);
}
return
res
;
}
void
ASTColumnDeclaration
::
formatImpl
(
const
FormatSettings
&
settings
,
FormatState
&
state
,
FormatStateStacked
frame
)
const
{
frame
.
need_parens
=
false
;
std
::
string
indent_str
=
settings
.
one_line
?
""
:
std
::
string
(
4
*
frame
.
indent
,
' '
);
settings
.
ostr
<<
settings
.
nl_or_ws
<<
indent_str
<<
backQuoteIfNeed
(
name
);
if
(
type
)
{
settings
.
ostr
<<
' '
;
type
->
formatImpl
(
settings
,
state
,
frame
);
}
if
(
default_expression
)
{
settings
.
ostr
<<
' '
<<
(
settings
.
hilite
?
hilite_keyword
:
""
)
<<
default_specifier
<<
(
settings
.
hilite
?
hilite_none
:
""
)
<<
' '
;
default_expression
->
formatImpl
(
settings
,
state
,
frame
);
}
if
(
comment
)
{
settings
.
ostr
<<
' '
<<
(
settings
.
hilite
?
hilite_keyword
:
""
)
<<
"COMMENT"
<<
(
settings
.
hilite
?
hilite_none
:
""
)
<<
' '
;
comment
->
formatImpl
(
settings
,
state
,
frame
);
}
if
(
codec
)
{
settings
.
ostr
<<
' '
;
codec
->
formatImpl
(
settings
,
state
,
frame
);
}
}
}
dbms/src/Parsers/ASTColumnDeclaration.h
浏览文件 @
ad6648af
...
...
@@ -20,68 +20,8 @@ public:
String
getID
(
char
delim
)
const
override
{
return
"ColumnDeclaration"
+
(
delim
+
name
);
}
ASTPtr
clone
()
const
override
{
const
auto
res
=
std
::
make_shared
<
ASTColumnDeclaration
>
(
*
this
);
res
->
children
.
clear
();
if
(
type
)
{
res
->
type
=
type
;
res
->
children
.
push_back
(
res
->
type
);
}
if
(
default_expression
)
{
res
->
default_expression
=
default_expression
->
clone
();
res
->
children
.
push_back
(
res
->
default_expression
);
}
if
(
codec
)
{
res
->
codec
=
codec
->
clone
();
res
->
children
.
push_back
(
res
->
codec
);
}
if
(
comment
)
{
res
->
comment
=
comment
->
clone
();
res
->
children
.
push_back
(
res
->
comment
);
}
return
res
;
}
void
formatImpl
(
const
FormatSettings
&
settings
,
FormatState
&
state
,
FormatStateStacked
frame
)
const
override
{
frame
.
need_parens
=
false
;
std
::
string
indent_str
=
settings
.
one_line
?
""
:
std
::
string
(
4
*
frame
.
indent
,
' '
);
settings
.
ostr
<<
settings
.
nl_or_ws
<<
indent_str
<<
backQuoteIfNeed
(
name
);
if
(
type
)
{
settings
.
ostr
<<
' '
;
type
->
formatImpl
(
settings
,
state
,
frame
);
}
if
(
default_expression
)
{
settings
.
ostr
<<
' '
<<
(
settings
.
hilite
?
hilite_keyword
:
""
)
<<
default_specifier
<<
(
settings
.
hilite
?
hilite_none
:
""
)
<<
' '
;
default_expression
->
formatImpl
(
settings
,
state
,
frame
);
}
if
(
comment
)
{
settings
.
ostr
<<
' '
<<
(
settings
.
hilite
?
hilite_keyword
:
""
)
<<
"COMMENT"
<<
(
settings
.
hilite
?
hilite_none
:
""
)
<<
' '
;
comment
->
formatImpl
(
settings
,
state
,
frame
);
}
if
(
codec
)
{
settings
.
ostr
<<
' '
;
codec
->
formatImpl
(
settings
,
state
,
frame
);
}
}
ASTPtr
clone
()
const
override
;
void
formatImpl
(
const
FormatSettings
&
settings
,
FormatState
&
state
,
FormatStateStacked
frame
)
const
override
;
};
}
dbms/src/Parsers/ASTCreateQuery.cpp
浏览文件 @
ad6648af
...
...
@@ -66,6 +66,19 @@ void ASTStorage::formatImpl(const FormatSettings & s, FormatState & state, Forma
}
class
ASTColumnsElement
:
public
IAST
{
public:
String
prefix
;
IAST
*
elem
;
String
getID
(
char
c
)
const
override
{
return
"ASTColumnsElement for "
+
elem
->
getID
(
c
);
}
ASTPtr
clone
()
const
override
;
void
formatImpl
(
const
FormatSettings
&
s
,
FormatState
&
state
,
FormatStateStacked
frame
)
const
override
;
};
ASTPtr
ASTColumnsElement
::
clone
()
const
{
auto
res
=
std
::
make_shared
<
ASTColumnsElement
>
();
...
...
@@ -117,6 +130,7 @@ void ASTColumns::formatImpl(const FormatSettings & s, FormatState & state, Forma
ASTExpressionList
list
;
if
(
columns
)
{
for
(
const
auto
&
column
:
columns
->
children
)
{
auto
elem
=
std
::
make_shared
<
ASTColumnsElement
>
();
...
...
@@ -124,7 +138,9 @@ void ASTColumns::formatImpl(const FormatSettings & s, FormatState & state, Forma
elem
->
set
(
elem
->
elem
,
column
->
clone
());
list
.
children
.
push_back
(
elem
);
}
}
if
(
indices
)
{
for
(
const
auto
&
index
:
indices
->
children
)
{
auto
elem
=
std
::
make_shared
<
ASTColumnsElement
>
();
...
...
@@ -132,6 +148,7 @@ void ASTColumns::formatImpl(const FormatSettings & s, FormatState & state, Forma
elem
->
set
(
elem
->
elem
,
index
->
clone
());
list
.
children
.
push_back
(
elem
);
}
}
if
(
!
list
.
children
.
empty
())
list
.
formatImpl
(
s
,
state
,
frame
);
...
...
dbms/src/Parsers/ASTCreateQuery.h
浏览文件 @
ad6648af
...
...
@@ -28,20 +28,6 @@ public:
};
class
ASTColumnsElement
:
public
IAST
{
public:
String
prefix
;
IAST
*
elem
;
String
getID
(
char
c
)
const
override
{
return
"ASTColumnsElement for "
+
elem
->
getID
(
c
);
}
ASTPtr
clone
()
const
override
;
void
formatImpl
(
const
FormatSettings
&
s
,
FormatState
&
state
,
FormatStateStacked
frame
)
const
override
;
};
class
ASTExpressionList
;
class
ASTColumns
:
public
IAST
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录