向后不兼容的变化
新功能
- 添加为列存储日志和微小日志选择每列编解码器的功能。#4111(alesapin)
- 新增功能
filesystemAvailable
,filesystemFree
,filesystemCapacity
。#4097(bgranvea) - 添加自定义压缩编解码器。#3899(alesapin)
- 添加了散列函数
xxHash64
和xxHash32
。#3905(filimonov) - 添加了多个连接仿真(非常实验性)。#3946(4ertus2)
- 添加了对CatBoost多类模型评估的支持。函数
modelEvaluate
返回元组,具有多类模型的每类原始预测。libcatboostmodel.so
应该用#607构建。#3959(KochetovNicolai) - 添加了gccHash函数,它使用与gcc #4000相同的散列种子(sundy-li)
- 添加了压缩编解码器delta。#4052(alesapin)
- 添加了多搜索器,可以从大干草堆中搜索多个常量字符串。附加功能(
multiPosition
,multiSearch
,firstMatch
)*( ,,UTF8
,)CaseInsensitive
#4053(danlark1)CaseInsensitiveUTF8
- 添加了更改压缩编解码器的功能。#4054(alesapin)
- 添加将数据写入HDFS和小型重构的功能。#4084(alesapin)
- 从编译表达式缓存(优化)中删除了一些冗余对象。#4042(alesapin)
- 新增功能
JavaHash
,HiveHash
。#3811(shangshujie365) - 新增功能
left
,right
,trim
,ltrim
,rtrim
,timestampadd
,timestampsub
。#3826(布林科夫) - 增加功能
remoteSecure
。功能起作用remote
,但使用安全连接。#4088(proller)
改进
- 支持ALTER TABLE ADD COLUMN语句中的IF NOT EXISTS,以及DROP / MODIFY / CLEAR / COMMENT COLUMN中的IF EXISTS。#3900(bgranvea)
- 功能
parseDateTimeBestEffort
:对格式的支持DD.MM.YYYY
,DD.MM.YY
,DD-MM-YYYY
,DD-Mon-YYYY
,DD/Month/YYYY
和类似的。#3922(alexey-milovidov) - 添加MergeTree设置
use_minimalistic_part_header_in_zookeeper
。如果启用,则复制表将紧凑零件元数据存储在单个零件znode中。这可以大大减少ZooKeeper快照大小(特别是如果表有很多列)。请注意,启用此设置后,您将无法降级到不支持它的版本。#3960(ztlpn) - 添加基于DFA的实施功能
sequenceMatch
和sequenceCount
的情况下,模式不包含时间。[#](https://github.com/yandex/ClickHouse/pull/4004)(ercolanelli-leo) - 改变了CapnProtoInputStream以这样一种方式创建动作的方式,即它现在支持锯齿状的结构。#4063(Miniwoffer)
- 在检查所需列时,从AST收集列,表和联接的更好方法。#3930(4ertus2)
- 零左填充PODArray,以便-1元素始终有效并归零。它用于无分支的偏移访问。#3920(amosbird)
- int序列化的性能改进。#3968(amosbird)
- 将debian /特定条目移至debian / .gitignore #4106(gerasiov)
- 如果单个服务器中存在大量分布式表,则减少连接数。#3726(zhang2014)
-
WITH TOTALS
查询ODBC驱动程序支持的总计行(ODBCDriver2格式)。#3836(nightweb) - 更好的恒定表达折叠。如果SELECT查询通过sharding_key(设置
distributed_optimize_skip_select_on_unused_shards
)过滤,则可以跳过未使用的分片。#3851(abyss7) - 没有控制台时,请勿从odbc-bridge登录。#3857(alesapin)
- 禁止在标量子查询中使用聚合函数。#3865(abyss7)
- 添加了在函数内部使用Enums作为整数的功能。#3875(abyss7)
- 添加了
low_cardinality_allow_in_native_format
设置。如果禁用,请不要使用LowCadrinality
本机格式的类型。#3879(KochetovNicolai) - 删除了重复的代码。#3915(sergey-v-galtsev)
- StorageKafka的微小改进。#3919(alexey-milovidov)
- 在否定测试中自动禁用日志。#3940(4ertus2)
- 重构的SyntaxAnalyzer。#4014(4ertus2)
- 恢复的jemalloc补丁导致性能下降。#4018(alexey-milovidov)
- 重构的QueryNormalizer。ASTIdentifier和ASTQualifiedAsterisk的统一列源(不同),删除了ASTQualifiedAsterisk源的列重复项,清除了星号替换。#4031(4ertus2)
- 使用ASTIdentifier重构代码。#4056 #4077 #4087(4ertus2)
-
clickhouse-test
没有找到ClickHouse二进制文件时改进脚本中的错误消息。#4130(Miniwoffer) - 重新编写代码来计算整数转换函数的单调性。#3921(alexey-milovidov)
- 修复了评论中的拼写错误。#4089(kvinty)
构建/测试/包装改进
- 增加了对powerpc构建的最小支持。#4132(danlark1)
- 修复了当服务器无法以
bash: /usr/bin/clickhouse-extract-from-config: Operation not permitted
Docker或systemd-nspawn中的消息启动时的错误。#4136(alexey-milovidov) - 更新的
mariadb-client
库。修复了UBSan发现的问题之一。#3924(alexey-milovidov) - 对UBSan构建的一些修复。#3926 #3948(alexey-milovidov)
- 将泊坞窗图像移动到18.10并为glibc添加兼容性文件> = 2.28 #3965(alesapin)
- 如果用户不想在服务器泊坞窗图像中显示目录,请添加env变量。#3967(alesapin)
- 有状态功能测试在公共可用数据集上运行。#3969(alexey-milovidov)
- 启用
-Weverything
了clang中的大多数警告。启用-Wpedantic
。#3986(alexey-milovidov) - 当USE_STATIC_LIBRARIES关闭时,链接到libLLVM而不是单个LLVM库。#3989(orivej)
- 添加了一些仅在铿锵声8中可用的警告。#3993(alexey-milovidov)
- 修复了PVS-Studio发现的错误。#4013(alexey-milovidov)
- 为测试图像添加了消毒剂变量。#4072(alesapin)
- clickhouse-server debian软件包将推荐
libcap2-bin
使用setcap
工具包来设置功能。这是可选的。#4093(alexey-milovidov) - 改进了编译时间,修复了包括。#3898(proller)
- 添加了散列函数的性能测试。#3918(filimonov)
- 修复了循环库依赖。#3958(proller)
- 改进了低可用内存的编译。#4030(proller)
Bug修复
- 当使用错误的限制时,修复远程表函数执行时的错误
getStructureOfRemoteTable
。#4009(alesapin) - 修复netlink套接字泄漏。它们被放置在一个池中,在这个池中它们永远不会被删除,并且当所有当前套接字都在使用时,在新线程的开头创建了新的套接字。#4017(ztlpn)
- 主人回归。如果列名称出现在lambdas中,则修复“未知标识符”错误。#4115(4ertus2)
- 修复从/ proc读取所有fds之前关闭/ proc / self / fd的错误。#4120(alesapin)
- 在固定拼错的意见和字符串文字下
dbms
。#4122(maiha) - 固定字符串到UInt单调转换,如果使用主键中的字符串。#3870(zhang2014)
- 添加检查'SET send_logs_level = value'查询接受适当的值。#3873(s-mx)
- 修复了执行分布式ALTER任务时的竞争条件。竞争条件导致多个副本尝试执行任务和所有副本,除了一个失败的ZooKeeper错误。#3904(ztlpn)
- 修复了段错误
arrayEnumerateUniq
,arrayEnumerateDense
在一些无效参数的情况下起作用。#3909(alexey-milovidov) - 在StorageMerge中修复UB。#3910(amosbird)
- 修复了函数
addDays
中的段错误subtractDays
。#3913(alexey-milovidov) - 修正错误:函数
round
,floor
,trunc
,ceil
可当整数参数和大负比例执行返回假的结果。#3914(alexey-milovidov) - 修复了“kill query sync”引入的一个错误,导致核心转储。#3916(fancyqlx)
- 修复空复制队列后长时间延迟的错误。#3928(alesapin)
- 当任务无关时,不要做指数退避。#3932(alesapin)
- 修复导致执行复制表的ALTER的线程以及从ZooKeeper更新配置的线程中的挂起的错误。#2947#3891 #3934(ztlpn)
- 修正了内部实现中的错误
quantileTDigest
(由Artem Vakhrushev发现)。此错误在ClickHouse中永远不会发生,并且仅与直接使用ClickHouse codebase作为库的用户相关。#3935(alexey-milovidov) - 修复ipv4子网掩码错误前缀的错误。#3945(alesapin)
- 修复了在
from_zk
ZooKeeper请求超时后未刷新配置元素时的错误。#2947 #3947(ztlpn) - 修复了LowCardinality :: cloneEmpty()方法中的字典复制,如果使用LowCardinality主键插入表中,会导致内存使用过多。#3955(KochetovNicolai)
- 修复
std::terminate
了由于资源耗尽而无法创建新线程的极少数情况下的crash()。#3956(alexey-milovidov) - 修复复制表查询的用户和密码转发。#3957(alesapin)
- 修复了在重新加载词典时在Dictionary数据库中列出表时可能发生的非常罕见的竞争条件。#3970(alexey-milovidov)
- 修复了空数组情况下Native格式的LowCardinality序列化。#3907 #4011(KochetovNicolai)
- 使用单个LowCardinality数字列使用distinct时修复了错误的结果。#3895 #4012(KochetovNicolai)
- 默认情况下,使compiled_expression_cache_size设置受限制。#4041(alesapin)
- 修复压缩编解码器中的ubsan错误。#4069(alesapin)
- 允许Kafka Engine忽略每个块的一些解析错误。#4094(abyss7)
- 修复了glibc兼容性问题。#4100(alexey-milovidov)
- 修复了PVS-Studio发现的问题。#4103(alexey-milovidov)
- 修复了如何收集数组连接列的方法。#4121(4ertus2)
- 修复了HAVING与ROLLUP或CUBE一起使用时的错误结果。#3756 #3837(反思)
- 使用LowCardinality键修复了专门的聚合(如果
compile
启用了设置)。#3886(KochetovNicolai) - 固定数据类型检查类型转换函数。#3896(zhang2014)
- 修复了使用
JOIN ON
语法和分布式表进行查询的列别名。#3980(zhang2014) - 修复了UBSan检测到的问题。#3021(alexey-milovidov)
文档修复
- 翻译的表引擎与中文相关。#3844(lamber-ken)
- 修正了
toStartOfFiveMinute
说明。#4096(cheesedosa) - 添加了客户端
--secure
参数的描述。#3961(vicdashkov) - 增加了对设置的说明
merge_tree_uniform_read_distribution
,merge_tree_min_rows_for_concurrent_read
,merge_tree_min_rows_for_seek
,merge_tree_coarse_index_granularity
,merge_tree_max_rows_to_use_cache
#4024(卡口) - 次要文档修复。#4098(布林科夫)
- 更新了zookeeper配置设置的示例。#3883 #3894(ogorbacheva)
- 有关以Vertical,Pretty和VerticalRaw格式转义的更新信息。#4118(ogorbacheva)
- 添加使用UUID的功能说明。#4059(ogorbacheva)
- 添加CHECK TABLE查询的描述。#3881 #4043(ogorbacheva)
- 将
zh/tests
doc翻译添加到中文。#4034(sundy-li) - 添加了有关函数的文档
multiPosition
,firstMatch
,multiSearch
。#4123(danlark1) - 将puppet模块添加到第三方库列表中。#3862(Felixoid)
- 修复了英文版创建表示例#3872(areldar)中的拼写错误
- 提到ClickHouse #3878(lisuml)的nagios插件
- 更新查询语言语法描述。#4065(BayoNet)
- 为每列压缩编解码器添加了文档。#4073(alex-krash)
- 关于CollapsingMergeTree,GraphiteMergeTree,Replicated * MergeTree,
CREATE TABLE
查询#4085(BayoNet)的更新文章 - 其他小改进。#3897 #3923 #4066 #3860 #3906 #3936 #3975(ogorbacheva)(ogorbacheva)(ogorbacheva)(blinkov)(blinkov)(sdk2)(blinkov)
其他
- 将librdkafka更新为v1.0.0-RC5。使用cppkafka而不是原始C接口。#4025(abyss7)
- 修正
hidden
了页面标题#4033(xboston) - 版权所有年份更新至2019年。#4039(xboston)
- 添加了检查服务器进程是从数据目录的所有者启动的。不要从root启动服务器。#3785(sergey-v-galtsev)
- 删除功能
shardByHash
。#3833(alexey-milovidov) - 修复了ClusterCopier中的拼写错误。#3854(dqminh)
- 次要语法修复。#3855(intgr)
- 添加了测试脚本以重现jemalloc中的性能下降。#4036(alexey-milovidov)