Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
4148c6ce
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,发现更多精彩内容 >>
提交
4148c6ce
编写于
12月 15, 2017
作者:
A
Alexey Milovidov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Better semantic of sharing columns: development [#CLICKHOUSE-2].
上级
8926af2c
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
22 addition
and
20 deletion
+22
-20
dbms/src/DataStreams/AggregatingSortedBlockInputStream.cpp
dbms/src/DataStreams/AggregatingSortedBlockInputStream.cpp
+3
-3
dbms/src/DataStreams/AggregatingSortedBlockInputStream.h
dbms/src/DataStreams/AggregatingSortedBlockInputStream.h
+2
-2
dbms/src/DataStreams/CollapsingSortedBlockInputStream.cpp
dbms/src/DataStreams/CollapsingSortedBlockInputStream.cpp
+1
-1
dbms/src/DataStreams/GraphiteRollupSortedBlockInputStream.cpp
.../src/DataStreams/GraphiteRollupSortedBlockInputStream.cpp
+1
-1
dbms/src/DataStreams/MergeSortingBlockInputStream.cpp
dbms/src/DataStreams/MergeSortingBlockInputStream.cpp
+4
-4
dbms/src/DataStreams/MergingSortedBlockInputStream.cpp
dbms/src/DataStreams/MergingSortedBlockInputStream.cpp
+4
-4
dbms/src/DataStreams/MergingSortedBlockInputStream.h
dbms/src/DataStreams/MergingSortedBlockInputStream.h
+1
-1
dbms/src/DataStreams/NativeBlockInputStream.cpp
dbms/src/DataStreams/NativeBlockInputStream.cpp
+4
-2
dbms/src/DataStreams/ReplacingSortedBlockInputStream.cpp
dbms/src/DataStreams/ReplacingSortedBlockInputStream.cpp
+1
-1
dbms/src/DataStreams/SummingSortedBlockInputStream.cpp
dbms/src/DataStreams/SummingSortedBlockInputStream.cpp
+1
-1
未找到文件。
dbms/src/DataStreams/AggregatingSortedBlockInputStream.cpp
浏览文件 @
4148c6ce
...
...
@@ -21,7 +21,7 @@ Block AggregatingSortedBlockInputStream::readImpl()
return
children
[
0
]
->
read
();
Block
header
;
MutableColumn
RawPtr
s
merged_columns
;
MutableColumns
merged_columns
;
init
(
header
,
merged_columns
);
...
...
@@ -66,10 +66,10 @@ Block AggregatingSortedBlockInputStream::readImpl()
columns_to_aggregate
.
resize
(
column_numbers_to_aggregate
.
size
());
for
(
size_t
i
=
0
,
size
=
columns_to_aggregate
.
size
();
i
<
size
;
++
i
)
columns_to_aggregate
[
i
]
=
typeid_cast
<
ColumnAggregateFunction
*>
(
merged_columns
[
column_numbers_to_aggregate
[
i
]]);
columns_to_aggregate
[
i
]
=
typeid_cast
<
ColumnAggregateFunction
*>
(
merged_columns
[
column_numbers_to_aggregate
[
i
]]
.
get
()
);
merge
(
merged_columns
,
queue
);
return
header
.
cloneWithColumns
(
merged_columns
);
return
header
.
cloneWithColumns
(
std
::
move
(
merged_columns
)
);
}
...
...
dbms/src/DataStreams/AggregatingSortedBlockInputStream.h
浏览文件 @
4148c6ce
...
...
@@ -70,11 +70,11 @@ private:
/** We support two different cursors - with Collation and without.
* Templates are used instead of polymorphic SortCursor and calls to virtual functions.
*/
void
merge
(
MutableColumn
RawPtrs
&
merged_columns
,
std
::
priority_queue
<
T
SortCursor
>
&
queue
);
void
merge
(
MutableColumn
s
&
merged_columns
,
std
::
priority_queue
<
SortCursor
>
&
queue
);
/** Extract all states of aggregate functions and merge them with the current group.
*/
void
addRow
(
T
SortCursor
&
cursor
);
void
addRow
(
SortCursor
&
cursor
);
};
}
dbms/src/DataStreams/CollapsingSortedBlockInputStream.cpp
浏览文件 @
4148c6ce
...
...
@@ -133,7 +133,7 @@ Block CollapsingSortedBlockInputStream::readImpl()
}
merge
(
merged_columns
,
queue
);
return
header
.
cloneWithColumns
(
merged_columns
);
return
header
.
cloneWithColumns
(
std
::
move
(
merged_columns
)
);
}
...
...
dbms/src/DataStreams/GraphiteRollupSortedBlockInputStream.cpp
浏览文件 @
4148c6ce
...
...
@@ -104,7 +104,7 @@ Block GraphiteRollupSortedBlockInputStream::readImpl()
}
merge
(
merged_columns
,
queue
);
return
header
.
cloneWithColumns
(
merged_columns
);
return
header
.
cloneWithColumns
(
std
::
move
(
merged_columns
)
);
}
...
...
dbms/src/DataStreams/MergeSortingBlockInputStream.cpp
浏览文件 @
4148c6ce
...
...
@@ -206,7 +206,7 @@ Block MergeSortingBlocksBlockInputStream::mergeImpl(std::priority_queue<TSortCur
{
size_t
num_columns
=
blocks
[
0
].
columns
();
MutableColumn
Ptr
s
merged_columns
=
blocks
[
0
].
cloneEmptyColumns
();
MutableColumns
merged_columns
=
blocks
[
0
].
cloneEmptyColumns
();
/// TODO: reserve (in each column)
/// Take rows from queue in right order and push to 'merged'.
...
...
@@ -229,18 +229,18 @@ Block MergeSortingBlocksBlockInputStream::mergeImpl(std::priority_queue<TSortCur
if
(
limit
&&
total_merged_rows
==
limit
)
{
blocks
.
clear
();
return
blocks
[
0
].
cloneWithColumns
(
merged_columns
);
return
blocks
[
0
].
cloneWithColumns
(
std
::
move
(
merged_columns
)
);
}
++
merged_rows
;
if
(
merged_rows
==
max_merged_block_size
)
return
blocks
[
0
].
cloneWithColumns
(
merged_columns
);
return
blocks
[
0
].
cloneWithColumns
(
std
::
move
(
merged_columns
)
);
}
if
(
merged_rows
==
0
)
return
{};
return
blocks
[
0
].
cloneWithColumns
(
merged_columns
);
return
blocks
[
0
].
cloneWithColumns
(
std
::
move
(
merged_columns
)
);
}
...
...
dbms/src/DataStreams/MergingSortedBlockInputStream.cpp
浏览文件 @
4148c6ce
...
...
@@ -46,7 +46,7 @@ String MergingSortedBlockInputStream::getID() const
return
res
.
str
();
}
void
MergingSortedBlockInputStream
::
init
(
Block
&
header
,
MutableColumn
RawPtr
s
&
merged_columns
)
void
MergingSortedBlockInputStream
::
init
(
Block
&
header
,
MutableColumns
&
merged_columns
)
{
/// Read the first blocks, initialize the queue.
if
(
first
)
...
...
@@ -155,7 +155,7 @@ Block MergingSortedBlockInputStream::readImpl()
return
children
[
0
]
->
read
();
Block
header
;
MutableColumn
RawPtr
s
merged_columns
;
MutableColumns
merged_columns
;
init
(
header
,
merged_columns
);
if
(
merged_columns
.
empty
())
...
...
@@ -166,7 +166,7 @@ Block MergingSortedBlockInputStream::readImpl()
else
merge
(
merged_columns
,
queue
);
return
header
.
cloneWithColumns
(
merged_columns
);
return
header
.
cloneWithColumns
(
std
::
move
(
merged_columns
)
);
}
...
...
@@ -202,7 +202,7 @@ void MergingSortedBlockInputStream::fetchNextBlock<SortCursorWithCollation>(cons
template
<
typename
TSortCursor
>
void
MergingSortedBlockInputStream
::
merge
(
MutableColumn
RawPtr
s
&
merged_columns
,
std
::
priority_queue
<
TSortCursor
>
&
queue
)
void
MergingSortedBlockInputStream
::
merge
(
MutableColumns
&
merged_columns
,
std
::
priority_queue
<
TSortCursor
>
&
queue
)
{
size_t
merged_rows
=
0
;
...
...
dbms/src/DataStreams/MergingSortedBlockInputStream.h
浏览文件 @
4148c6ce
...
...
@@ -214,7 +214,7 @@ private:
void
initQueue
(
std
::
priority_queue
<
TSortCursor
>
&
queue
);
template
<
typename
TSortCursor
>
void
merge
(
MutableColumn
RawPtr
s
&
merged_columns
,
std
::
priority_queue
<
TSortCursor
>
&
queue
);
void
merge
(
MutableColumns
&
merged_columns
,
std
::
priority_queue
<
TSortCursor
>
&
queue
);
Logger
*
log
=
&
Logger
::
get
(
"MergingSortedBlockInputStream"
);
...
...
dbms/src/DataStreams/NativeBlockInputStream.cpp
浏览文件 @
4148c6ce
...
...
@@ -114,11 +114,13 @@ Block NativeBlockInputStream::readImpl()
}
/// Data
column
.
column
=
column
.
type
->
createColumn
();
MutableColumnPtr
read_
column
=
column
.
type
->
createColumn
();
double
avg_value_size_hint
=
avg_value_size_hints
.
empty
()
?
0
:
avg_value_size_hints
[
i
];
if
(
rows
)
/// If no rows, nothing to read.
readData
(
*
column
.
type
,
*
column
.
column
,
istr
,
rows
,
avg_value_size_hint
);
readData
(
*
column
.
type
,
*
read_column
,
istr
,
rows
,
avg_value_size_hint
);
column
.
column
=
std
::
move
(
read_column
);
res
.
insert
(
std
::
move
(
column
));
...
...
dbms/src/DataStreams/ReplacingSortedBlockInputStream.cpp
浏览文件 @
4148c6ce
...
...
@@ -59,7 +59,7 @@ Block ReplacingSortedBlockInputStream::readImpl()
}
merge
(
merged_columns
,
queue
);
return
header
.
cloneWithColumns
(
merged_columns
);
return
header
.
cloneWithColumns
(
std
::
move
(
merged_columns
)
);
}
...
...
dbms/src/DataStreams/SummingSortedBlockInputStream.cpp
浏览文件 @
4148c6ce
...
...
@@ -289,7 +289,7 @@ Block SummingSortedBlockInputStream::readImpl()
}
merge
(
merged_columns
,
queue
);
return
header
.
cloneWithColumns
(
merged_columns
);
return
header
.
cloneWithColumns
(
std
::
move
(
merged_columns
)
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录