Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
2dot5
ClickHouse
提交
cad4b326
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,体验更适合开发者的 AI 搜索 >>
提交
cad4b326
编写于
1月 16, 2017
作者:
A
alexey-milovidov
提交者:
GitHub
1月 16, 2017
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #342 from proller/cmake
Reorganize includes, less depends in .h files
上级
45935a53
29475c94
变更
23
隐藏空白更改
内联
并排
Showing
23 changed file
with
134 addition
and
91 deletion
+134
-91
CMakeLists.txt
CMakeLists.txt
+3
-26
cmake/dbms_include.cmake
cmake/dbms_include.cmake
+12
-0
contrib/liblz4/CMakeLists.txt
contrib/liblz4/CMakeLists.txt
+2
-0
contrib/libre2/CMakeLists.txt
contrib/libre2/CMakeLists.txt
+2
-0
dbms/CMakeLists.txt
dbms/CMakeLists.txt
+12
-2
dbms/include/DB/Core/StringRef.h
dbms/include/DB/Core/StringRef.h
+7
-9
dbms/include/DB/IO/HashingReadBuffer.h
dbms/include/DB/IO/HashingReadBuffer.h
+0
-1
dbms/include/DB/IO/HashingWriteBuffer.h
dbms/include/DB/IO/HashingWriteBuffer.h
+1
-40
dbms/include/DB/Interpreters/AggregationCommon.h
dbms/include/DB/Interpreters/AggregationCommon.h
+0
-1
dbms/src/IO/HashingWriteBuffer.cpp
dbms/src/IO/HashingWriteBuffer.cpp
+52
-0
dbms/src/Server/CMakeLists.txt
dbms/src/Server/CMakeLists.txt
+10
-8
libs/libcommon/CMakeLists.txt
libs/libcommon/CMakeLists.txt
+3
-0
libs/libdaemon/CMakeLists.txt
libs/libdaemon/CMakeLists.txt
+3
-0
libs/libmysqlxx/CMakeLists.txt
libs/libmysqlxx/CMakeLists.txt
+7
-0
libs/libmysqlxx/cmake/find_mysqlclient.cmake
libs/libmysqlxx/cmake/find_mysqlclient.cmake
+0
-0
libs/libmysqlxx/include/mysqlxx/Types.h
libs/libmysqlxx/include/mysqlxx/Types.h
+0
-4
libs/libmysqlxx/include/mysqlxx/Value.h
libs/libmysqlxx/include/mysqlxx/Value.h
+2
-0
libs/libpocoext/CMakeLists.txt
libs/libpocoext/CMakeLists.txt
+3
-0
libs/libzkutil/CMakeLists.txt
libs/libzkutil/CMakeLists.txt
+5
-0
utils/CMakeLists.txt
utils/CMakeLists.txt
+2
-0
utils/compressor/CMakeLists.txt
utils/compressor/CMakeLists.txt
+3
-0
utils/corrector_utf8/CMakeLists.txt
utils/corrector_utf8/CMakeLists.txt
+2
-0
utils/iotest/CMakeLists.txt
utils/iotest/CMakeLists.txt
+3
-0
未找到文件。
CMakeLists.txt
浏览文件 @
cad4b326
...
...
@@ -154,48 +154,25 @@ else ()
set
(
CLICKHOUSE_ETC_DIR
${
CMAKE_INSTALL_PREFIX
}
/etc
)
endif
()
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libcityhash/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/liblz4/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libdivide/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libdouble-conversion/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libcpuid/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libzstd/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libfarmhash/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libmetrohash/src
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libsparsehash/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libre2/
)
include_directories
(
BEFORE
${
ClickHouse_BINARY_DIR
}
/contrib/libre2/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libzookeeper/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/libs/libcommon/include/
)
include_directories
(
BEFORE
${
ClickHouse_BINARY_DIR
}
/libs/libcommon/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/libs/libdaemon/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/libs/libpocoext/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/libs/libmysqlxx/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/libs/libzkutil/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/dbms/include
)
include
(
cmake/find_openssl.cmake
)
include
(
cmake/find_icu4c.cmake
)
include
(
cmake/find_boost.cmake
)
include
(
cmake/find_poco.cmake
)
include
(
cmake/find_libtool.cmake
)
include
(
cmake/find_mysqlclient.cmake
)
include
(
cmake/find_rt.cmake
)
if
(
ENABLE_LIBTCMALLOC
)
include
(
cmake/find_gperftools.cmake
)
endif
()
# Directory for Yandex specific files
set
(
CLICKHOUSE_PRIVATE_DIR
${
ClickHouse_SOURCE_DIR
}
/private/
)
add_subdirectory
(
contrib
)
add_subdirectory
(
libs
)
add_subdirectory
(
utils
)
add_subdirectory
(
dbms
)
# Directory for Yandex specific files
set
(
CLICKHOUSE_PRIVATE_DIR
${
ClickHouse_SOURCE_DIR
}
/private/
)
if
(
EXISTS
${
CLICKHOUSE_PRIVATE_DIR
}
)
add_subdirectory
(
private
)
add_subdirectory
(
${
CLICKHOUSE_PRIVATE_DIR
}
)
endif
()
message
(
STATUS
"C_FLAGS =
${
CMAKE_C_FLAGS
}
"
)
...
...
cmake/dbms_include.cmake
0 → 100644
浏览文件 @
cad4b326
include_directories
(
${
CMAKE_SOURCE_DIR
}
/dbms/include
)
# TODO:
# move code with incldes from .h to .cpp and clean this list:
include_directories
(
${
CMAKE_SOURCE_DIR
}
/libs/libcommon/include
)
include_directories
(
${
CMAKE_SOURCE_DIR
}
/libs/libpocoext/include
)
include_directories
(
${
CMAKE_SOURCE_DIR
}
/libs/libzkutil/include
)
include_directories
(
${
CMAKE_SOURCE_DIR
}
/libs/libmysqlxx/include
)
include_directories
(
BEFORE
${
CMAKE_SOURCE_DIR
}
/contrib/libzookeeper/include
)
include_directories
(
BEFORE
${
CMAKE_SOURCE_DIR
}
/contrib/libcityhash/include
)
include_directories
(
BEFORE
${
CMAKE_SOURCE_DIR
}
/contrib/libdouble-conversion
)
contrib/liblz4/CMakeLists.txt
浏览文件 @
cad4b326
include_directories
(
BEFORE include
)
add_library
(
lz4
src/lz4.c
src/lz4hc.c
...
...
contrib/libre2/CMakeLists.txt
浏览文件 @
cad4b326
...
...
@@ -38,6 +38,8 @@ set (re2_sources
# In order to avoid redundant locks in some cases, we use not thread-safe version of the library (re2_st).
add_definitions
(
-DNDEBUG
)
include_directories
(
BEFORE .
)
add_library
(
re2
${
re2_sources
}
)
add_library
(
re2_st
${
re2_sources
}
)
...
...
dbms/CMakeLists.txt
浏览文件 @
cad4b326
include_directories
(
BEFORE include
)
#include_directories (/usr/include/mysql)
include
(
${
CMAKE_SOURCE_DIR
}
/cmake/dbms_include.cmake
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/liblz4/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libdivide
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libcpuid/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libzstd/include/
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libfarmhash
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libmetrohash/src
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libsparsehash
)
include_directories
(
BEFORE
${
ClickHouse_SOURCE_DIR
}
/contrib/libre2/
)
include_directories
(
BEFORE
${
ClickHouse_BINARY_DIR
}
/contrib/libre2/
)
include_directories
(
${
ClickHouse_SOURCE_DIR
}
/libs/libdaemon/include/
)
add_subdirectory
(
src
)
...
...
dbms/include/DB/Core/StringRef.h
浏览文件 @
cad4b326
#pragma once
#include <string.h>
#include <city.h>
#include <string>
#include <vector>
#include <functional>
#include <ostream>
...
...
@@ -13,6 +9,8 @@
#include <emmintrin.h>
#endif
#include <city.h>
#include <DB/Core/Types.h>
#include <DB/Common/unaligned.h>
...
...
@@ -215,11 +213,11 @@ inline size_t hashLessThan8(const char * data, size_t size)
if
(
size
>
0
)
{
uint8
a
=
data
[
0
];
uint8
b
=
data
[
size
>>
1
];
uint8
c
=
data
[
size
-
1
];
uint32
y
=
static_cast
<
uint32
>
(
a
)
+
(
static_cast
<
uint32
>
(
b
)
<<
8
);
uint32
z
=
size
+
(
static_cast
<
uint32
>
(
c
)
<<
2
);
uint8
_t
a
=
data
[
0
];
uint8
_t
b
=
data
[
size
>>
1
];
uint8
_t
c
=
data
[
size
-
1
];
uint32
_t
y
=
static_cast
<
uint32_t
>
(
a
)
+
(
static_cast
<
uint32_t
>
(
b
)
<<
8
);
uint32
_t
z
=
size
+
(
static_cast
<
uint32_t
>
(
c
)
<<
2
);
return
shiftMix
(
y
*
k2
^
z
*
k3
)
*
k2
;
}
...
...
dbms/include/DB/IO/HashingReadBuffer.h
浏览文件 @
cad4b326
#pragma once
#include <city.h>
#include <DB/IO/ReadBuffer.h>
#include <DB/IO/HashingWriteBuffer.h>
...
...
dbms/include/DB/IO/HashingWriteBuffer.h
浏览文件 @
cad4b326
#pragma once
#include <city.h>
#include <DB/IO/WriteBuffer.h>
#include <DB/IO/BufferWithOwnMemory.h>
#include <DB/IO/ReadHelpers.h>
...
...
@@ -35,45 +34,7 @@ public:
/// вычисление хэша зависит от разбиения по блокам
/// поэтому нужно вычислить хэш от n полных кусочков и одного неполного
void
calculateHash
(
DB
::
BufferBase
::
Position
data
,
size_t
len
)
{
if
(
len
)
{
/// если данных меньше, чем block_size то сложим их в свой буффер и посчитаем от них hash позже
if
(
block_pos
+
len
<
block_size
)
{
memcpy
(
&
BufferWithOwnMemory
<
Buffer
>::
memory
[
block_pos
],
data
,
len
);
block_pos
+=
len
;
}
else
{
/// если в буффер уже что-то записано, то допишем его
if
(
block_pos
)
{
size_t
n
=
block_size
-
block_pos
;
memcpy
(
&
BufferWithOwnMemory
<
Buffer
>::
memory
[
block_pos
],
data
,
n
);
append
(
&
BufferWithOwnMemory
<
Buffer
>::
memory
[
0
]);
len
-=
n
;
data
+=
n
;
block_pos
=
0
;
}
while
(
len
>=
block_size
)
{
append
(
data
);
len
-=
block_size
;
data
+=
block_size
;
}
/// запишем остаток в свой буфер
if
(
len
)
{
memcpy
(
&
BufferWithOwnMemory
<
Buffer
>::
memory
[
0
],
data
,
len
);
block_pos
=
len
;
}
}
}
}
void
calculateHash
(
DB
::
BufferBase
::
Position
data
,
size_t
len
);
protected:
size_t
block_pos
;
...
...
dbms/include/DB/Interpreters/AggregationCommon.h
浏览文件 @
cad4b326
#pragma once
#include <city.h>
#include <openssl/md5.h>
#include <DB/Common/SipHash.h>
...
...
dbms/src/IO/HashingWriteBuffer.cpp
浏览文件 @
cad4b326
#include <DB/IO/HashingWriteBuffer.h>
#include <iomanip>
#include <city.h>
namespace
DB
{
/// вычисление хэша зависит от разбиения по блокам
/// поэтому нужно вычислить хэш от n полных кусочков и одного неполного
template
<
class
Buffer
>
void
IHashingBuffer
<
Buffer
>::
calculateHash
(
DB
::
BufferBase
::
Position
data
,
size_t
len
)
{
if
(
len
)
{
/// если данных меньше, чем block_size то сложим их в свой буффер и посчитаем от них hash позже
if
(
block_pos
+
len
<
block_size
)
{
memcpy
(
&
BufferWithOwnMemory
<
Buffer
>::
memory
[
block_pos
],
data
,
len
);
block_pos
+=
len
;
}
else
{
/// если в буффер уже что-то записано, то допишем его
if
(
block_pos
)
{
size_t
n
=
block_size
-
block_pos
;
memcpy
(
&
BufferWithOwnMemory
<
Buffer
>::
memory
[
block_pos
],
data
,
n
);
append
(
&
BufferWithOwnMemory
<
Buffer
>::
memory
[
0
]);
len
-=
n
;
data
+=
n
;
block_pos
=
0
;
}
while
(
len
>=
block_size
)
{
append
(
data
);
len
-=
block_size
;
data
+=
block_size
;
}
/// запишем остаток в свой буфер
if
(
len
)
{
memcpy
(
&
BufferWithOwnMemory
<
Buffer
>::
memory
[
0
],
data
,
len
);
block_pos
=
len
;
}
}
}
}
template
class
IHashingBuffer
<
DB
::
ReadBuffer
>;
template
class
IHashingBuffer
<
DB
::
WriteBuffer
>;
}
/// UInt64 это 39 символов в 10 системе счисления
static
const
size_t
UINT64_DECIMAL_SIZE
=
39
;
...
...
dbms/src/Server/CMakeLists.txt
浏览文件 @
cad4b326
...
...
@@ -28,15 +28,17 @@ install_symlink_to_clickhouse(clickhouse-local)
install_symlink_to_clickhouse
(
clickhouse-benchmark
)
INSTALL
(
FILES config.xml users.xml
DESTINATION
${
CLICKHOUSE_ETC_DIR
}
/clickhouse-server
COMPONENT clickhouse
)
FILES config.xml users.xml
DESTINATION
${
CLICKHOUSE_ETC_DIR
}
/clickhouse-server
COMPONENT clickhouse
)
INSTALL
(
FILES
${
CLICKHOUSE_PRIVATE_DIR
}
/Server/metrika/config.xml
${
CLICKHOUSE_PRIVATE_DIR
}
/Server/metrika/users.xml
DESTINATION
${
CLICKHOUSE_ETC_DIR
}
/clickhouse-server/metrika
COMPONENT clickhouse
OPTIONAL
)
if
(
EXISTS
${
CLICKHOUSE_PRIVATE_DIR
}
)
INSTALL
(
FILES
${
CLICKHOUSE_PRIVATE_DIR
}
/Server/metrika/config.xml
${
CLICKHOUSE_PRIVATE_DIR
}
/Server/metrika/users.xml
DESTINATION
${
CLICKHOUSE_ETC_DIR
}
/clickhouse-server/metrika
COMPONENT clickhouse
OPTIONAL
)
endif
()
if
(
NOT CMAKE_SYSTEM MATCHES
"FreeBSD"
)
INSTALL
(
...
...
libs/libcommon/CMakeLists.txt
浏览文件 @
cad4b326
...
...
@@ -9,7 +9,10 @@ set_source_files_properties(
src/ClickHouseRevision.cpp PROPERTIES OBJECT_DEPENDS
${
REVISIONFILE
}
)
include_directories
(
include
)
# for generated revision.h:
include_directories
(
${
CMAKE_CURRENT_BINARY_DIR
}
/src/
)
include
(
${
CMAKE_SOURCE_DIR
}
/cmake/dbms_include.cmake
)
if
(
APPLE
)
if
(
"
${
CMAKE_SYSTEM_NAME
}
"
STREQUAL
"Darwin"
AND NOT
"
${
CMAKE_SYSTEM_VERSION
}
"
VERSION_LESS
"16.1.0"
)
...
...
libs/libdaemon/CMakeLists.txt
浏览文件 @
cad4b326
include_directories
(
include
)
include
(
${
CMAKE_SOURCE_DIR
}
/cmake/dbms_include.cmake
)
add_library
(
daemon
src/BaseDaemon.cpp
src/GraphiteWriter.cpp
...
...
libs/libmysqlxx/CMakeLists.txt
浏览文件 @
cad4b326
include
(
cmake/find_mysqlclient.cmake
)
include_directories
(
include
)
include_directories
(
${
CMAKE_SOURCE_DIR
}
/libs/libcommon/include
)
include
(
${
CMAKE_SOURCE_DIR
}
/cmake/dbms_include.cmake
)
add_library
(
mysqlxx
src/Connection.cpp
src/Exception.cpp
...
...
cmake/find_mysqlclient.cmake
→
libs/libmysqlxx/
cmake/find_mysqlclient.cmake
浏览文件 @
cad4b326
文件已移动
libs/libmysqlxx/include/mysqlxx/Types.h
浏览文件 @
cad4b326
...
...
@@ -3,10 +3,6 @@
#include <string>
#include <Poco/Types.h>
#include <common/LocalDate.h>
#include <common/LocalDateTime.h>
struct
st_mysql
;
using
MYSQL
=
st_mysql
;
...
...
libs/libmysqlxx/include/mysqlxx/Value.h
浏览文件 @
cad4b326
...
...
@@ -13,6 +13,8 @@
#include <common/DateLUT.h>
#include <mysqlxx/Types.h>
#include <common/LocalDateTime.h>
/// Обрезать длинный запрос до указанной длины для текста исключения.
#define MYSQLXX_QUERY_PREVIEW_LENGTH 1000
...
...
libs/libpocoext/CMakeLists.txt
浏览文件 @
cad4b326
include_directories
(
include
)
include_directories
(
${
CMAKE_SOURCE_DIR
}
/libs/libcommon/include
)
add_library
(
pocoext
src/LevelFilterChannel.cpp
src/ThreadNumber.cpp
...
...
libs/libzkutil/CMakeLists.txt
浏览文件 @
cad4b326
include_directories
(
include
)
include_directories
(
${
CMAKE_SOURCE_DIR
}
/libs/libcommon/include
)
include
(
${
CMAKE_SOURCE_DIR
}
/cmake/dbms_include.cmake
)
add_library
(
zkutil
src/ZooKeeper.cpp
src/Lock.cpp
...
...
utils/CMakeLists.txt
浏览文件 @
cad4b326
include
(
${
CMAKE_SOURCE_DIR
}
/cmake/dbms_include.cmake
)
add_subdirectory
(
compressor
)
add_subdirectory
(
iotest
)
add_subdirectory
(
corrector_utf8
)
...
...
utils/compressor/CMakeLists.txt
浏览文件 @
cad4b326
include_directories
(
BEFORE
${
CMAKE_SOURCE_DIR
}
/contrib/libzstd/include
)
add_executable
(
compressor main.cpp
)
target_link_libraries
(
compressor dbms
${
Boost_PROGRAM_OPTIONS_LIBRARY
}
)
...
...
utils/corrector_utf8/CMakeLists.txt
浏览文件 @
cad4b326
include_directories
(
${
CMAKE_SOURCE_DIR
}
/dbms/include
)
add_executable
(
corrector_utf8 corrector_utf8.cpp
)
# Link the executable to the library.
...
...
utils/iotest/CMakeLists.txt
浏览文件 @
cad4b326
include_directories
(
${
CMAKE_SOURCE_DIR
}
/dbms/include
)
include_directories
(
${
CMAKE_SOURCE_DIR
}
/libs/libcommon/include
)
add_executable
(
iotest iotest.cpp
${
SRCS
}
)
target_link_libraries
(
iotest dbms
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录