Skip to main content

index

碌莽禄release拢.0755-88888888

ClickHouse版本v20.3.4.10,2020-03-20

错误修复

  • 此版本还包含20.1.8.41的所有错误修复
  • 修复丢失 rows_before_limit_at_least 用于通过http进行查询(使用处理器管道)。 这修复 #9730. #9757 (尼古拉*科切托夫)

ClickHouse释放v20.3.3.6,2020-03-17

错误修复

  • 此版本还包含20.1.7.38的所有错误修复
  • 修复复制中的错误,如果用户在以前的版本上执行了突变,则不允许复制工作。 这修复 #9645. #9652 (阿利沙平). 它使版本20.3再次向后兼容。
  • 添加设置 use_compact_format_in_distributed_parts_names 它允许写文件 INSERT 查询到 Distributed 表格格式更紧凑。 这修复 #9647. #9653 (阿利沙平). 它使版本20.3再次向后兼容。

ClickHouse版本v20.3.2.1,2020-03-12

向后不兼容的更改

  • 修正了这个问题 file name too long 当发送数据 Distributed 大量副本的表。 修复了服务器日志中显示副本凭据的问题。 磁盘上的目录名格式已更改为 [shard{shard_index}[_replica{replica_index}]]. #8911 (米哈伊尔*科罗托夫)升级到新版本后,您将无法在没有人工干预的情况下降级,因为旧的服务器版本无法识别新的目录格式。 如果要降级,则必须手动将相应的目录重命名为旧格式。 仅当您使用了异步时,此更改才相关 INSERTs到 Distributed 桌子 在版本20.3.3中,我们将介绍一个设置,让您逐渐启用新格式。
  • 更改了mutation命令的复制日志条目的格式。 在安装新版本之前,您必须等待旧的突变处理。
  • 实现简单的内存分析器,将堆栈跟踪转储到 system.trace_log 超过软分配限制的每N个字节 #8765 (伊万) #9472 (阿列克谢-米洛维多夫)列 system.trace_log 从改名 timer_typetrace_type. 这将需要改变第三方性能分析和flamegraph处理工具。
  • 在任何地方使用操作系统线程id,而不是内部线程编号。 这修复 #7477clickhouse-client 无法接收从服务器发送的日志,当设置 send_logs_level 已启用,因为结构化日志消息的名称和类型已更改。 另一方面,不同的服务器版本可以相互发送不同类型的日志。 当你不使用 send_logs_level 设置,你不应该关心。 #8954 (阿列克谢-米洛维多夫)
  • 删除 indexHint 功能 #9542 (阿列克谢-米洛维多夫)
  • 删除 findClusterIndex, findClusterValue 功能。 这修复 #8641. 如果您正在使用这些功能,请发送电子邮件至 [email protected] #9543 (阿列克谢-米洛维多夫)
  • 现在不允许创建列或添加列 SELECT 子查询作为默认表达式。 #9481 (阿利沙平)
  • 需要联接中的子查询的别名。 #9274 (Artem Zuikov)
  • 改进 ALTER MODIFY/ADD 查询逻辑。 现在你不能 ADD 不带类型的列, MODIFY 默认表达式不改变列的类型和 MODIFY type不会丢失默认表达式值。 修复 #8669. #9227 (阿利沙平)
  • 要求重新启动服务器以应用日志记录配置中的更改。 这是一种临时解决方法,可以避免服务器将日志记录到已删除的日志文件中的错误(请参阅 #8696). #8707 (Alexander Kuzmenkov)
  • 设置 experimental_use_processors 默认情况下启用。 此设置允许使用新的查询管道。 这是内部重构,我们期望没有明显的变化。 如果您将看到任何问题,请将其设置为返回零。 #8768 (阿列克谢-米洛维多夫)

新功能

实验特点

  • 添加新的紧凑格式的部件 MergeTree-家庭表中的所有列都存储在一个文件中。 它有助于提高小型和频繁插入的性能。 旧的格式(每列一个文件)现在被称为wide。 数据存储格式由设置控制 min_bytes_for_wide_partmin_rows_for_wide_part. #8290 (安东*波波夫)
  • 支持S3存储 Log, TinyLogStripeLog 桌子 #8862 (帕维尔*科瓦连科)

错误修复

  • 修正了日志消息中不一致的空格。 #9322 (阿列克谢-米洛维多夫)
  • 修复在创建表时将未命名元组数组展平为嵌套结构的错误。 #8866 (achulkov2)
  • 修复了以下问题 “Too many open files” 如果有太多的文件匹配glob模式可能会发生错误 File 表或 file 表功能。 现在文件懒洋洋地打开。 这修复 #8857 #8861 (阿列克谢-米洛维多夫)
  • 删除临时表现在只删除临时表。 #8907 (维塔利*巴拉诺夫)
  • 当我们关闭服务器或分离/附加表时删除过时的分区。 #8602 (纪尧姆*塔瑟里)
  • 默认磁盘如何计算可用空间 data 子目录。 修复了可用空间量计算不正确的问题,如果 data 目录被安装到一个单独的设备(罕见的情况)。 这修复 #7441 #9257 (米哈伊尔*科罗托夫)
  • 允许逗号(交叉)与IN()内部连接。 #9251 (Artem Zuikov)
  • 如果在WHERE部分中有[NOT]LIKE运算符,则允许将CROSS重写为INNER JOIN。 #9229 (Artem Zuikov)
  • 修复后可能不正确的结果 GROUP BY 启用设置 distributed_aggregation_memory_efficient. 修复 #9134. #9289 (尼古拉*科切托夫)
  • 找到的键在缓存字典的指标中被计为错过。 #9411 (尼基塔*米哈伊洛夫)
  • 修复引入的复制协议不兼容 #8598. #9412 (阿利沙平)
  • 在固定的竞争条件 queue_task_handle 在启动 ReplicatedMergeTree 桌子 #9552 (阿列克谢-米洛维多夫)
  • 令牌 NOT 没有工作 SHOW TABLES NOT LIKE 查询 #8727 #8940 (阿列克谢-米洛维多夫)
  • 添加范围检查功能 h3EdgeLengthM. 如果没有这个检查,缓冲区溢出是可能的。 #8945 (阿列克谢-米洛维多夫)
  • 修复了多个参数(超过10)的三元逻辑运算批量计算中的错误。 #8718 (亚历山大*卡扎科夫)
  • 修复PREWHERE优化的错误,这可能导致段错误或 Inconsistent number of columns got from MergeTreeRangeReader 例外。 #9024 (安东*波波夫)
  • 修复意外 Timeout exceeded while reading from socket 异常,在实际超时之前以及启用查询探查器时,在安全连接上随机发生。 还添加 connect_timeout_with_failover_secure_ms 设置(默认100ms),这是类似于 connect_timeout_with_failover_ms,但用于安全连接(因为SSL握手比普通TCP连接慢) #9026 (tavplubix)
  • 修复突变最终确定的错误,当突变可能处于以下状态时 parts_to_do=0is_done=0. #9022 (阿利沙平)
  • 使用新的任何连接逻辑 partial_merge_join 设置。 有可能使 ANY|ALL|SEMI LEFTALL INNER 加入与 partial_merge_join=1 现在 #8932 (Artem Zuikov)
  • Shard现在将从发起者获得的设置夹到shard的constaints,而不是抛出异常。 此修补程序允许将查询发送到具有另一个约束的分片。 #9447 (维塔利*巴拉诺夫)
  • 修正了内存管理问题 MergeTreeReadPool. #8791 (Vladimir Chebotarev)
  • 修复 toDecimal*OrNull() 使用字符串调用时的函数系列 e. 修复 #8312 #8764 (Artem Zuikov)
  • 请确保 FORMAT Null 不向客户端发送数据。 #8767 (Alexander Kuzmenkov)
  • 修复时间戳中的错误 LiveViewBlockInputStream 不会更新。 LIVE VIEW 是一个实验特征。 #8644 (vxider) #8625 (vxider)
  • 固定 ALTER MODIFY TTL 不允许删除旧ttl表达式的错误行为。 #8422 (Vladimir Chebotarev)
  • 修复了MergeTreeIndexSet中的UBSan报告。 这修复 #9250 #9365 (阿列克谢-米洛维多夫)
  • 固定的行为 matchextract 当干草堆有零字节的函数。 当干草堆不变时,这种行为是错误的。 这修复 #9160 #9163 (阿列克谢-米洛维多夫) #9345 (阿列克谢-米洛维多夫)
  • 避免从apache Avro第三方库中的析构函数抛出。 #9066 (安德鲁Onyshchuk)
  • 不要提交从轮询的批次 Kafka 部分,因为它可能会导致数据漏洞。 #8876 (filimonov)
  • 修复 joinGet 使用可为空的返回类型。 https://github.com/ClickHouse/ClickHouse/issues/8919 #9014 (阿莫斯鸟)
  • 修复压缩时的数据不兼容 T64 编解ec #9016 (Artem Zuikov)修复数据类型id T64 在受影响的版本中导致错误(de)压缩的压缩编解ec。 #9033 (Artem Zuikov)
  • 添加设置 enable_early_constant_folding 并禁用它在某些情况下,导致错误。 #9010 (Artem Zuikov)
  • 使用VIEW修复下推谓词优化器并启用测试 #9011 (张冬)
  • 修复段错误 Merge 表,从读取时可能发生 File 储存 #9387 (tavplubix)
  • 添加了对存储策略的检查 ATTACH PARTITION FROM, REPLACE PARTITION, MOVE TO TABLE. 否则,它可以使部分数据重新启动后无法访问,并阻止ClickHouse启动。 #9383 (Vladimir Chebotarev)
  • 修复改变,如果有TTL设置表。 #8800 (安东*波波夫)
  • 修复在以下情况下可能发生的竞争条件 SYSTEM RELOAD ALL DICTIONARIES 在某些字典被修改/添加/删除时执行。 #8801 (维塔利*巴拉诺夫)
  • 在以前的版本 Memory 数据库引擎使用空数据路径,因此在以下位置创建表 path directory (e.g. /var/lib/clickhouse/), not in data directory of database (e.g. /var/lib/clickhouse/db_name). #8753 (tavplubix)
  • 修复了关于缺少默认磁盘或策略的错误日志消息。 #9530 (Vladimir Chebotarev)
  • 修复数组类型的bloom_filter索引的not(has())。 #9407 (achimbab)
  • 允许表中的第一列 Log 引擎是别名 #9231 (伊万)
  • 从读取时修复范围的顺序 MergeTree 表中的一个线程。 它可能会导致例外 MergeTreeRangeReader 或错误的查询结果。 #9050 (安东*波波夫)
  • 赂眉露>> reinterpretAsFixedString 返回 FixedString 而不是 String. #9052 (安德鲁Onyshchuk)
  • 避免极少数情况下,当用户可以得到错误的错误消息 (Success 而不是详细的错误描述)。 #9457 (阿列克谢-米洛维多夫)
  • 使用时不要崩溃 Template 使用空行模板格式化。 #8785 (Alexander Kuzmenkov)
  • 系统表的元数据文件可能在错误的位置创建 #8653 (tavplubix)修复 #8581.
  • 修复缓存字典中exception_ptr上的数据竞赛 #8303. #9379 (尼基塔*米哈伊洛夫)
  • 不要为查询引发异常 ATTACH TABLE IF NOT EXISTS. 以前它是抛出,如果表已经存在,尽管 IF NOT EXISTS 条款 #8967 (安东*波波夫)
  • 修复了异常消息中丢失的关闭paren。 #8811 (阿列克谢-米洛维多夫)
  • 避免消息 Possible deadlock avoided 在clickhouse客户端在交互模式下启动。 #9455 (阿列克谢-米洛维多夫)
  • 修复了base64编码值末尾填充格式错误的问题。 更新base64库。 这修复 #9491,关闭 #9492 #9500 (阿列克谢-米洛维多夫)
  • 防止丢失数据 Kafka 在极少数情况下,在读取后缀之后但在提交之前发生异常。 修复 #9378 #9507 (filimonov)
  • 在固定的异常 DROP TABLE IF EXISTS #8663 (尼基塔*瓦西列夫)
  • 修复当用户尝试崩溃 ALTER MODIFY SETTING 对于老格式化 MergeTree 表引擎家族. #9435 (阿利沙平)
  • 支持在JSON相关函数中不适合Int64的UInt64号码。 更新SIMDJSON掌握。 这修复 #9209 #9344 (阿列克谢-米洛维多夫)
  • 当使用非严格单调函数索引时,固定执行反转谓词。 #9223 (亚历山大*卡扎科夫)
  • 不要试图折叠 IN 常量在 GROUP BY #8868 (阿莫斯鸟)
  • 修复bug ALTER DELETE 突变导致索引损坏。 这修复 #9019#8982. 另外修复极其罕见的竞争条件 ReplicatedMergeTree ALTER 查询。 #9048 (阿利沙平)
  • 当设置 compile_expressions 被启用,你可以得到 unexpected columnLLVMExecutableFunction 当我们使用 Nullable 类型 #8910 (纪尧姆*塔瑟里)
  • 多个修复 Kafka 引擎:1)修复在消费者组重新平衡期间出现的重复项。 2)修复罕见 ‘holes’ 当数据从一个轮询的几个分区轮询并部分提交时出现(现在我们总是处理/提交整个轮询的消息块)。 3)通过块大小修复刷新(在此之前,只有超时刷新才能正常工作)。 4)更好的订阅程序(与分配反馈)。 5)使测试工作得更快(默认时间间隔和超时)。 由于数据之前没有被块大小刷新(根据文档),pr可能会导致默认设置的性能下降(由于更频繁和更小的刷新不太理想)。 如果您在更改后遇到性能问题-请增加 kafka_max_block_size 在表中的更大的值(例如 CREATE TABLE ...Engine=Kafka ... SETTINGS ... kafka_max_block_size=524288). 修复 #7259 #8917 (filimonov)
  • 修复 Parameter out of bound 在PREWHERE优化之后的某些查询中出现异常。 #8914 (Baudouin Giard)
  • 修正了函数参数混合常量的情况 arrayZip. #8705 (阿列克谢-米洛维多夫)
  • 执行时 CREATE 查询,在存储引擎参数中折叠常量表达式。 将空数据库名称替换为当前数据库。 修复 #6508, #3492 #9262 (tavplubix)
  • 现在不可能创建或添加具有简单循环别名的列,如 a DEFAULT b, b DEFAULT a. #9603 (阿利沙平)
  • 修正了双重移动可能会损坏原始部分的错误。 这是相关的,如果你使用 ALTER TABLE MOVE #8680 (Vladimir Chebotarev)
  • 允许 interval 用于正确解析的标识符,而无需反引号。 当一个查询不能被执行,即使固定的问题 interval 标识符用反引号或双引号括起来。 这修复 #9124. #9142 (阿列克谢-米洛维多夫)
  • 修正了模糊测试和不正确的行为 bitTestAll/bitTestAny 功能。 #9143 (阿列克谢-米洛维多夫)
  • 修复可能的崩溃/错误的行数 LIMIT n WITH TIES 当有很多行等于第n行时。 #9464 (tavplubix)
  • 使用enabled编写的部件修复突变 insert_quorum. #9463 (阿利沙平)
  • 修复数据竞赛破坏 Poco::HTTPServer. 当服务器启动并立即关闭时,可能会发生这种情况。 #9468 (安东*波波夫)
  • 修复运行时显示误导性错误消息的错误 SHOW CREATE TABLE a_table_that_does_not_exist. #8899 (achulkov2)
  • 固定 Parameters are out of bound 例外在一些罕见的情况下,当我们在一个常数 SELECT 条款时,我们有一个 ORDER BY 和一个 LIMIT 条款 #8892 (纪尧姆*塔瑟里)
  • 修复突变定稿,当已经完成突变可以有状态 is_done=0. #9217 (阿利沙平)
  • 防止执行 ALTER ADD INDEX 对于旧语法的MergeTree表,因为它不起作用。 #8822 (米哈伊尔*科罗托夫)
  • 在服务器启动时不要访问表,这 LIVE VIEW 取决于,所以服务器将能够启动。 也删除 LIVE VIEW 分离时的依赖关系 LIVE VIEW. LIVE VIEW 是一个实验特征。 #8824 (tavplubix)
  • 修复可能的段错误 MergeTreeRangeReader,同时执行 PREWHERE. #9106 (安东*波波夫)
  • 修复与列Ttl可能不匹配的校验和。 #9451 (安东*波波夫)
  • 修正了一个错误,当部分没有被移动的情况下,只有一个卷的TTL规则在后台。 #8672 (Vladimir Chebotarev)
  • 修正了这个问题 Method createColumn() is not implemented for data type Set. 这修复 #7799. #8674 (阿列克谢-米洛维多夫)
  • 现在我们将尝试更频繁地完成突变。 #9427 (阿利沙平)
  • 修复 intDiv 减一个常数 #9351 (hcz)
  • 修复可能的竞争条件 BlockIO. #9356 (尼古拉*科切托夫)
  • 修复尝试使用/删除时导致服务器终止的错误 Kafka 使用错误的参数创建的表。 #9513 (filimonov)
  • 增加了解决方法,如果操作系统返回错误的结果 timer_create 功能。 #8837 (阿列克谢-米洛维多夫)
  • 在使用固定错误 min_marks_for_seek 参数。 修复了分布式表中没有分片键时的错误消息,并且我们尝试跳过未使用的分片。 #8908 (Azat Khuzhin)

改进

  • 执行 ALTER MODIFY/DROP 对突变的顶部查询 ReplicatedMergeTree* 引擎家族. 现在 ALTERS 仅在元数据更新阶段阻止,之后不阻止。 #8701 (阿利沙平)
  • 添加重写交叉到内部连接的能力 WHERE 包含未编译名称的部分。 #9512 (Artem Zuikov)
  • 赂眉露>> SHOW TABLESSHOW DATABASES 查询支持 WHERE 表达式和 FROM/IN #9076 (sundyli)
  • 添加了一个设置 deduplicate_blocks_in_dependent_materialized_views. #9070 (urykhy)
  • 在最近的变化之后,MySQL客户端开始以十六进制打印二进制字符串,从而使它们不可读 (#9032). ClickHouse中的解决方法是将字符串列标记为UTF-8,这并不总是如此,但通常是这种情况。 #9079 (尤里*巴拉诺夫)
  • 添加对字符串和FixedString键的支持 sumMap #8903 (Baudouin Giard)
  • 支持SummingMergeTree地图中的字符串键 #8933 (Baudouin Giard)
  • 即使线程已抛出异常,也向线程池发送线程终止信号 #8736 (丁香飞)
  • 允许设置 query_idclickhouse-benchmark #9416 (安东*波波夫)
  • 不要让奇怪的表达 ALTER TABLE ... PARTITION partition 查询。 这个地址 #7192 #8835 (阿列克谢-米洛维多夫)
  • system.table_engines 现在提供有关功能支持的信息(如 supports_ttlsupports_sort_order). #8830 (Max Akhmedov)
  • 启用 system.metric_log 默认情况下。 它将包含具有ProfileEvents值的行,CurrentMetrics收集与 “collect_interval_milliseconds” 间隔(默认情况下为一秒)。 该表非常小(通常以兆字节为单位),默认情况下收集此数据是合理的。 #9225 (阿列克谢-米洛维多夫)
  • Initialize query profiler for all threads in a group, e.g. it allows to fully profile insert-queries. Fixes #6964 #8874 (伊万)
  • 现在是暂时的 LIVE VIEW 创建者 CREATE LIVE VIEW name WITH TIMEOUT [42] ... 而不是 CREATE TEMPORARY LIVE VIEW ...,因为以前的语法不符合 CREATE TEMPORARY TABLE ... #9131 (tavplubix)
  • 添加text_log。级别配置参数,以限制进入 system.text_log#8809 (Azat Khuzhin)
  • 允许根据TTL规则将下载的部分放入磁盘/卷 #8598 (Vladimir Chebotarev)
  • 对于外部MySQL字典,允许将MySQL连接池共同化为 “share” 他们在字典中。 此选项显着减少到MySQL服务器的连接数。 #9409 (Clément Rodriguez)
  • 显示分位数的最近查询执行时间 clickhouse-benchmark 输出而不是插值值。 最好显示与某些查询的执行时间相对应的值。 #8712 (阿列克谢-米洛维多夫)
  • 可以在将数据插入到Kafka时为消息添加密钥和时间戳。 修复 #7198 #8969 (filimonov)
  • 如果服务器从终端运行,请按颜色突出显示线程号,查询id和日志优先级。 这是为了提高开发人员相关日志消息的可读性。 #8961 (阿列克谢-米洛维多夫)
  • 更好的异常消息,同时加载表 Ordinary 数据库。 #9527 (阿列克谢-米洛维多夫)
  • 执行 arraySlice 对于具有聚合函数状态的数组。 这修复 #9388 #9391 (阿列克谢-米洛维多夫)
  • 允许在in运算符的右侧使用常量函数和常量数组。 #8813 (安东*波波夫)
  • 如果在获取系统数据时发生了zookeeper异常。副本,将其显示在单独的列中。 这实现了 #9137 #9138 (阿列克谢-米洛维多夫)
  • 原子删除destroy上的MergeTree数据部分。 #8402 (Vladimir Chebotarev)
  • 支持分布式表的行级安全性。 #8926 (伊万)
  • Now we recognize suffix (like KB, KiB...) in settings values. #8072 (米哈伊尔*科罗托夫)
  • 在构建大型连接的结果时防止内存不足。 #8637 (Artem Zuikov)
  • 在交互模式下为建议添加群集名称 clickhouse-client. #8709 (阿列克谢-米洛维多夫)
  • Initialize query profiler for all threads in a group, e.g. it allows to fully profile insert-queries #8820 (伊万)
  • 添加列 exception_codesystem.query_log 桌子 #8770 (米哈伊尔*科罗托夫)
  • 在端口上启用MySQL兼容服务器 9004 在默认服务器配置文件中。 在配置的例子固定密码生成命令。 #8771 (尤里*巴拉诺夫)
  • 如果文件系统是只读的,请防止在关闭时中止。 这修复 #9094 #9100 (阿列克谢-米洛维多夫)
  • 当HTTP POST查询中需要长度时,更好的异常消息。 #9453 (阿列克谢-米洛维多夫)
  • 添加 _path_file 虚拟列 HDFSFile 发动机和 hdfsfile 表函数 #8489 (Olga Khvostikova)
  • 修复错误 Cannot find column 同时插入到 MATERIALIZED VIEW 在情况下,如果新列被添加到视图的内部表。 #8766 #8788 (vzakaznikov) #8788 #8806 (尼古拉*科切托夫) #8803 (尼古拉*科切托夫)
  • 通过最终更新后发送进度(如日志)修复本机客户端-服务器协议的进度。 这可能仅与使用本机协议的某些第三方工具相关。 #9495 (Azat Khuzhin)
  • 添加系统指标跟踪使用MySQL协议的客户端连接数 (#9013). #9015 (尤金*克里莫夫)
  • 从现在开始,HTTP响应将有 X-ClickHouse-Timezone 标题设置为相同的时区值 SELECT timezone() 会报告。 #9493 (Denis Glazachev)

性能改进

构建/测试/包装改进

碌莽禄.拢.0755-88888888

ClickHouse版本v20.1.8.41,2020-03-20

错误修复

  • 修复可能的永久性 Cannot schedule a task 错误(由于未处理的异常 ParallelAggregatingBlockInputStream::Handler::onFinish/onFinishThread). 这修复 #6833. #9154 (Azat Khuzhin)
  • 修复过多的内存消耗 ALTER 查询(突变)。 这修复 #9533#9670. #9754 (阿利沙平)
  • 修复外部字典DDL中反引用的错误。 这修复 #9619. #9734 (阿利沙平)

ClickHouse释放v20.1.7.38,2020-03-18

错误修复

  • 修正了不正确的内部函数名称 sumKahansumWithOverflow. 在远程查询中使用此函数时,我会导致异常。 #9636 (Azat Khuzhin). 这个问题是在所有ClickHouse版本。
  • 允许 ALTER ON CLUSTERDistributed 具有内部复制的表。 这修复 #3268. #9617 (shinoi2). 这个问题是在所有ClickHouse版本。
  • 修复可能的异常 Size of filter doesn't match size of columnInvalid number of rows in ChunkMergeTreeRangeReader. 它们可能在执行时出现 PREWHERE 在某些情况下。 修复 #9132. #9612 (安东*波波夫)
  • 修复了这个问题:如果你编写一个简单的算术表达式,则不会保留时区 time + 1 (与像这样的表达形成对比 time + INTERVAL 1 SECOND). 这修复 #5743. #9323 (阿列克谢-米洛维多夫). 这个问题是在所有ClickHouse版本。
  • 现在不可能创建或添加具有简单循环别名的列,如 a DEFAULT b, b DEFAULT a. #9603 (阿利沙平)
  • 修复了base64编码值末尾填充格式错误的问题。 更新base64库。 这修复 #9491,关闭 #9492 #9500 (阿列克谢-米洛维多夫)
  • 修复数据竞赛破坏 Poco::HTTPServer. 当服务器启动并立即关闭时,可能会发生这种情况。 #9468 (安东*波波夫)
  • 修复可能的崩溃/错误的行数 LIMIT n WITH TIES 当有很多行等于第n行时。 #9464 (tavplubix)
  • 修复与列Ttl可能不匹配的校验和。 #9451 (安东*波波夫)
  • 修复当用户尝试崩溃 ALTER MODIFY SETTING 对于老格式化 MergeTree 表引擎家族. #9435 (阿利沙平)
  • 现在我们将尝试更频繁地完成突变。 #9427 (阿利沙平)
  • 修复引入的复制协议不兼容 #8598. #9412 (阿利沙平)
  • 修复数组类型的bloom_filter索引的not(has())。 #9407 (achimbab)
  • 固定的行为 matchextract 当干草堆有零字节的函数。 当干草堆不变时,这种行为是错误的。 这修复 #9160 #9163 (阿列克谢-米洛维多夫) #9345 (阿列克谢-米洛维多夫)

构建/测试/包装改进

ClickHouse释放v20.1.6.30,2020-03-05

错误修复

  • 修复压缩时的数据不兼容 T64 编解ec #9039 (abyss7)
  • 在一个线程中从MergeTree表中读取时修复范围顺序。 修复 #8964. #9050 (CurtizJ))
  • 修复可能的段错误 MergeTreeRangeReader,同时执行 PREWHERE. 修复 #9064. #9106 (CurtizJ))
  • 修复 reinterpretAsFixedString 返回 FixedString 而不是 String. #9052 (oandrew)
  • 修复 joinGet 使用可为空的返回类型。 修复 #8919#9014 (amosbird)
  • 修复bittestall/bitTestAny函数的模糊测试和不正确的行为。 #9143 (阿列克谢-米洛维多夫)
  • 修复当干草堆有零字节时匹配和提取函数的行为。 当干草堆不变时,这种行为是错误的。 修复 #9160#9163 (阿列克谢-米洛维多夫)
  • 当使用非严格单调函数索引时,固定执行反转谓词。 修复 #9034#9223 (Akazz)
  • 允许重写 CROSSINNER JOIN 如果有 [NOT] LIKE 操作员在 WHERE 科。 修复 #9191#9229 (4ertus2)
  • 允许使用日志引擎的表中的第一列成为别名。 #9231 (abyss7)
  • 允许逗号加入 IN() 进去 修复 #7314. #9251 (4ertus2)
  • 改进 ALTER MODIFY/ADD 查询逻辑。 现在你不能 ADD 不带类型的列, MODIFY 默认表达式不改变列的类型和 MODIFY type不会丢失默认表达式值。 修复 #8669. #9227 (alesapin)
  • 修复突变最终确定,当已经完成突变时可以具有状态is_done=0。 #9217 (alesapin)
  • 碌莽禄Support: “Processors” 管道系统.数字和系统.numbers_mt 这也修复了错误时 max_execution_time 不被尊重。 #7796 (KochetovNicolai)
  • 修复错误的计数 DictCacheKeysRequestedFound 公制。 #9411 (nikitamikhaylov)
  • 添加了对存储策略的检查 ATTACH PARTITION FROM, REPLACE PARTITION, MOVE TO TABLE 否则可能使部分数据在重新启动后无法访问,并阻止ClickHouse启动。 #9383 (excitoon)
  • 在固定的瑞银报告 MergeTreeIndexSet. 这修复 #9250#9365 (阿列克谢-米洛维多夫)
  • 在BlockIO中修复可能的数据集。 #9356 (KochetovNicolai)
  • 支持 UInt64 在JSON相关函数中不适合Int64的数字。 更新 SIMDJSON 为了主人 这修复 #9209#9344 (阿列克谢-米洛维多夫)
  • 如果将数据目录挂载到单独的设备,则修复可用空间量计算不正确时的问题。 对于默认磁盘,计算数据子目录的可用空间。 这修复 #7441#9257 (米尔布)
  • 修复TLS连接可能会失败并显示消息时的问题 OpenSSL SSL_read: error:14094438:SSL routines:ssl3_read_bytes:tlsv1 alert internal error and SSL Exception: error:2400006E:random number generator::error retrieving entropy. 将OpenSSL更新到上游主机。 #8956 (阿列克谢-米洛维多夫)
  • 执行时 CREATE 查询,在存储引擎参数中折叠常量表达式。 将空数据库名称替换为当前数据库。 修复 #6508, #3492. 还修复了ClickHouseDictionarySource中检查本地地址。 #9262 (tabplubix)
  • 修复段错误 StorageMerge,从StorageFile读取时可能发生。 #9387 (tabplubix)
  • 防止丢失数据 Kafka 在极少数情况下,在读取后缀之后但在提交之前发生异常。 修复 #9378. 相关: #7175#9507 (菲利蒙诺夫)
  • 修复尝试使用/删除时导致服务器终止的错误 Kafka 使用错误的参数创建的表。 修复 #9494. 结合 #9507. #9513 (菲利蒙诺夫)

新功能

  • 添加 deduplicate_blocks_in_dependent_materialized_views 用于控制具有实例化视图的表中幂等插入的行为的选项。 #9070 (urykhy)

ClickHouse版本v20.1.2.4,2020-01-22

向后不兼容的更改

  • 使设置 merge_tree_uniform_read_distribution 过时了 服务器仍可识别此设置,但无效。 #8308 (阿列克谢-米洛维多夫)
  • 更改函数的返回类型 greatCircleDistanceFloat32 因为现在计算的结果是 Float32. #7993 (阿列克谢-米洛维多夫)
  • 现在预计查询参数表示为 “escaped” 格式。 例如,要传递字符串 a<tab>b 你必须写 a\tba\<tab>b 并分别, a%5Ctba%5C%09b 在URL中。 这是需要添加传递NULL作为的可能性 \N. 这修复 #7488. #8517 (阿列克谢-米洛维多夫)
  • 启用 use_minimalistic_part_header_in_zookeeper 设置 ReplicatedMergeTree 默认情况下。 这将显着减少存储在ZooKeeper中的数据量。 自19.1版本以来支持此设置,我们已经在多个服务的生产中使用它,半年以上没有任何问题。 如果您有机会降级到19.1以前的版本,请禁用此设置。 #6850 (阿列克谢-米洛维多夫)
  • 数据跳过索引已准备就绪并默认启用。 设置 allow_experimental_data_skipping_indices, allow_experimental_cross_to_join_conversionallow_experimental_multiple_joins_emulation 现在已经过时,什么也不做。 #7974 (阿列克谢-米洛维多夫)
  • 添加新建 ANY JOIN 逻辑 StorageJoin 符合 JOIN 操作。 要在不改变行为的情况下进行升级,您需要添加 SETTINGS any_join_distinct_right_table_keys = 1 引擎联接表元数据或在升级后重新创建这些表。 #8400 (Artem Zuikov)
  • 要求重新启动服务器以应用日志记录配置中的更改。 这是一种临时解决方法,可以避免服务器将日志记录到已删除的日志文件中的错误(请参阅 #8696). #8707 (Alexander Kuzmenkov)

新功能

  • 添加了有关部件路径的信息 system.merges. #8043 (Vladimir Chebotarev)
  • 添加执行能力 SYSTEM RELOAD DICTIONARY 查询中 ON CLUSTER 模式 #8288 (纪尧姆*塔瑟里)
  • 添加执行能力 CREATE DICTIONARY 查询中 ON CLUSTER 模式 #8163 (阿利沙平)
  • 现在用户的个人资料 users.xml 可以继承多个配置文件。 #8343 (Mikhail f. Shiryaev)
  • 已添加 system.stack_trace 允许查看所有服务器线程的堆栈跟踪的表。 这对于开发人员反省服务器状态非常有用。 这修复 #7576. #8344 (阿列克谢-米洛维多夫)
  • 添加 DateTime64 具有可配置子秒精度的数据类型。 #7170 (瓦西里*内姆科夫)
  • 添加表函数 clusterAllReplicas 这允许查询集群中的所有节点。 #8493 (kiran sunkari)
  • 添加聚合函数 categoricalInformationValue 其计算出离散特征的信息值。 #8117 (hcz)
  • 加快数据文件的解析 CSV, TSVJSONEachRow 通过并行进行格式化。 #7780 (Alexander Kuzmenkov)
  • 添加功能 bankerRound 它执行银行家的四舍五入。 #8112 (hcz)
  • 支持区域名称的嵌入式字典中的更多语言: ‘ru’, ‘en’, ‘ua’, ‘uk’, ‘by’, ‘kz’, ‘tr’, ‘de’, ‘uz’, ‘lv’, ‘lt’, ‘et’, ‘pt’, ‘he’, ‘vi’. #8189 (阿列克谢-米洛维多夫)
  • 改进的一致性 ANY JOIN 逻辑 现在 t1 ANY LEFT JOIN t2 等于 t2 ANY RIGHT JOIN t1. #7665 (Artem Zuikov)
  • 添加设置 any_join_distinct_right_table_keys 这使旧的行为 ANY INNER JOIN. #7665 (Artem Zuikov)
  • 添加新建 SEMIANTI JOIN. 老 ANY INNER JOIN 行为现在可作为 SEMI LEFT JOIN. #7665 (Artem Zuikov)
  • 已添加 Distributed 格式 File 发动机和 file 表函数,它允许从读 .bin 通过异步插入生成的文件 Distributed 桌子 #8535 (尼古拉*科切托夫)
  • 添加可选的重置列参数 runningAccumulate 这允许为每个新的键值重置聚合结果。 #8326 (谢尔盖*科诺年科)
  • 添加使用ClickHouse作为普罗米修斯端点的能力。 #7900 (vdimir)
  • 添加部分 <remote_url_allow_hosts>config.xml 这将限制允许的主机用于远程表引擎和表函数 URL, S3, HDFS. #7154 (米哈伊尔*科罗托夫)
  • 添加功能 greatCircleAngle 它计算球体上的距离(以度为单位)。 #8105 (阿列克谢-米洛维多夫)
  • 改变地球半径与h3库一致。 #8105 (阿列克谢-米洛维多夫)
  • 已添加 JSONCompactEachRowJSONCompactEachRowWithNamesAndTypes 输入和输出格式。 #7841 (米哈伊尔*科罗托夫)
  • 增加了与文件相关的表引擎和表函数的功能 (File, S3, URL, HDFS)它允许读取和写入 gzip 基于附加引擎参数或文件扩展名的文件。 #7840 (安德烈*博德罗夫)
  • 添加了 randomASCII(length) 函数,生成一个字符串与一个随机集 ASCII 可打印字符。 #8401 (刺刀)
  • 添加功能 JSONExtractArrayRaw 它返回从未解析的json数组元素上的数组 JSON 字符串。 #8081 (Oleg Matrokhin)
  • 添加 arrayZip 函数允许将多个长度相等的数组合成一个元组数组。 #8149 (张冬)
  • 添加根据配置的磁盘之间移动数据的能力 TTL-表达式为 *MergeTree 表引擎家族. #8140 (Vladimir Chebotarev)
  • 增加了新的聚合功能 avgWeighted 其允许计算加权平均值。 #7898 (安德烈*博德罗夫)
  • 现在并行解析默认启用 TSV, TSKV, CSVJSONEachRow 格式。 #7894 (尼基塔*米哈伊洛夫)
  • 从添加几个地理功能 H3 图书馆: h3GetResolution, h3EdgeAngle, h3EdgeLength, h3IsValidh3kRing. #8034 (Konstantin Malanchev)
  • 增加了对brotli的支持 (br)压缩文件相关的存储和表函数。 这修复 #8156. #8526 (阿列克谢-米洛维多夫)
  • 添加 groupBit* 功能的 SimpleAggregationFunction 类型。 #8485 (纪尧姆*塔瑟里)

错误修复

  • 修复重命名表 Distributed 引擎 修复问题 #7868. #8306 (tavplubix)
  • 现在字典支持 EXPRESSION 对于非ClickHouse SQL方言中任意字符串中的属性。 #8098 (阿利沙平)
  • 修复损坏 INSERT SELECT FROM mysql(...) 查询。 这修复 #8070#7960. #8234 (tavplubix)
  • 修复错误 “Mismatch column sizes” 插入默认值时 TupleJSONEachRow. 这修复 #5653. #8606 (tavplubix)
  • 现在将在使用的情况下抛出一个异常 WITH TIES 旁边的 LIMIT BY. 还增加了使用能力 TOPLIMIT BY. 这修复 #7472. #7637 (尼基塔*米哈伊洛夫)
  • 从新鲜的glibc版本中修复unintendent依赖关系 clickhouse-odbc-bridge 二进制 #8046 (阿莫斯鸟)
  • 修正错误的检查功能 *MergeTree 引擎家族. 现在,当我们在最后一个颗粒和最后一个标记(非最终)中有相同数量的行时,它不会失败。 #8047 (阿利沙平)
  • 修复插入 Enum* 列后 ALTER 查询,当基础数值类型等于表指定类型时。 这修复 #7836. #7908 (安东*波波夫)
  • 允许非常数负 “size” 函数的参数 substring. 这是不允许的错误。 这修复 #4832. #7703 (阿列克谢-米洛维多夫)
  • 修复当错误数量的参数传递到解析错误 (O|J)DBC 表引擎。 #7709 (阿利沙平)
  • 将日志发送到syslog时使用正在运行的clickhouse进程的命令名。 在以前的版本中,使用空字符串而不是命令名称。 #8460 (Michael Nacharov)
  • 修复检查允许的主机 localhost. 这个公关修复了在提供的解决方案 #8241. #8342 (维塔利*巴拉诺夫)
  • 修复罕见的崩溃 argMinargMax 长字符串参数的函数,当结果被用于 runningAccumulate 功能。 这修复 #8325 #8341 (恐龙)
  • 修复表的内存过度使用 Buffer 引擎 #8345 (Azat Khuzhin)
  • 修正了可以采取的功能中的潜在错误 NULL 作为参数之一,并返回非NULL。 #8196 (阿列克谢-米洛维多夫)
  • 在线程池中更好地计算后台进程的指标 MergeTree 表引擎. #8194 (Vladimir Chebotarev)
  • 修复功能 IN 里面 WHERE 存在行级表筛选器时的语句。 修复 #6687 #8357 (伊万)
  • 现在,如果整数值没有完全解析设置值,则会引发异常。 #7678 (米哈伊尔*科罗托夫)
  • 修复当聚合函数用于查询具有两个以上本地分片的分布式表时出现的异常。 #8164 (小路)
  • 现在,bloom filter可以处理零长度数组,并且不执行冗余计算。 #8242 (achimbab)
  • 修正了通过匹配客户端主机来检查客户端主机是否允许 host_regexp 在指定 users.xml. #8241 (维塔利*巴拉诺夫)
  • 放松不明确的列检查,导致多个误报 JOIN ON 科。 #8385 (Artem Zuikov)
  • 修正了可能的服务器崩溃 (std::terminate)当服务器不能发送或写入数据 JSONXML 格式与值 String 数据类型(需要 UTF-8 验证)或使用Brotli算法或其他一些罕见情况下压缩结果数据时。 这修复 #7603 #8384 (阿列克谢-米洛维多夫)
  • 修复竞争条件 StorageDistributedDirectoryMonitor 被线人发现 这修复 #8364. #8383 (尼古拉*科切托夫)
  • 现在背景合并 *MergeTree 表引擎家族更准确地保留存储策略卷顺序。 #8549 (Vladimir Chebotarev)
  • 现在表引擎 Kafka 与正常工作 Native 格式。 这修复 #6731 #7337 #8003. #8016 (filimonov)
  • 固定格式与标题(如 CSVWithNames)这是抛出关于EOF表引擎的异常 Kafka. #8016 (filimonov)
  • 修复了从子查询右侧部分制作set的错误 IN 科。 这修复 #5767#2542. #7755 (尼基塔*米哈伊洛夫)
  • 从存储读取时修复可能的崩溃 File. #7756 (尼古拉*科切托夫)
  • 在固定的文件读取 Parquet 包含类型列的格式 list. #8334 (马苏兰)
  • 修复错误 Not found column 对于分布式查询 PREWHERE 条件取决于采样键if max_parallel_replicas > 1. #7913 (尼古拉*科切托夫)
  • 修复错误 Not found column 如果使用查询 PREWHERE 依赖于表的别名,结果集由于主键条件而为空。 #7911 (尼古拉*科切托夫)
  • 函数的固定返回类型 randrandConstant 在情况下 Nullable 争论。 现在函数总是返回 UInt32 而且从来没有 Nullable(UInt32). #8204 (尼古拉*科切托夫)
  • 禁用谓词下推 WITH FILL 表达。 这修复 #7784. #7789 (张冬)
  • 修正错误 count() 结果 SummingMergeTreeFINAL 部分被使用。 #3280 #7786 (尼基塔*米哈伊洛夫)
  • 修复来自远程服务器的常量函数可能不正确的结果。 它发生在具有以下功能的查询中 version(), uptime() 等。 它为不同的服务器返回不同的常量值。 这修复 #7666. #7689 (尼古拉*科切托夫)
  • 修复下推谓词优化中导致错误结果的复杂错误。 这解决了下推谓词优化的很多问题。 #8503 (张冬)
  • 修复崩溃 CREATE TABLE .. AS dictionary 查询。 #8508 (Azat Khuzhin)
  • 一些改进ClickHouse语法 .g4 文件 #8294 (太阳里)
  • 修复导致崩溃的错误 JOINs与表与发动机 Join. 这修复 #7556 #8254 #7915 #8100. #8298 (Artem Zuikov)
  • 修复冗余字典重新加载 CREATE DATABASE. #7916 (Azat Khuzhin)
  • 限制从读取流的最大数量 StorageFileStorageHDFS. 修复https://github.com/ClickHouse/ClickHouse/issues/7650. #7981 (阿利沙平)
  • 修复bug ALTER ... MODIFY ... CODEC 查询,当用户同时指定默认表达式和编解ec。 修复 8593. #8614 (阿利沙平)
  • 修复列的后台合并错误 SimpleAggregateFunction(LowCardinality) 类型。 #8613 (尼古拉*科切托夫)
  • 固定类型签入功能 toDateTime64. #8375 (瓦西里*内姆科夫)
  • 现在服务器不崩溃 LEFTFULL JOIN 与和加入引擎和不支持 join_use_nulls 设置。 #8479 (Artem Zuikov)
  • 现在 DROP DICTIONARY IF EXISTS db.dict 查询不会抛出异常,如果 db 根本不存在 #8185 (维塔利*巴拉诺夫)
  • 修复表函数中可能出现的崩溃 (file, mysql, remote)引用删除引起的 IStorage 对象。 修复插入表函数时指定的列的不正确解析。 #7762 (tavplubix)
  • 确保网络启动前 clickhouse-server. 这修复 #7507. #8570 (余志昌)
  • 修复安全连接的超时处理,因此查询不会无限挂起。 这修复 #8126. #8128 (阿列克谢-米洛维多夫)
  • 修复 clickhouse-copier并发工人之间的冗余争用。 #7816 (丁香飞)
  • 现在突变不会跳过附加的部分,即使它们的突变版本比当前的突变版本大。 #7812 (余志昌) #8250 (阿利沙平)
  • 忽略冗余副本 *MergeTree 数据部分移动到另一个磁盘和服务器重新启动后。 #7810 (Vladimir Chebotarev)
  • 修复崩溃 FULL JOINLowCardinalityJOIN 钥匙 #8252 (Artem Zuikov)
  • 禁止在插入查询中多次使用列名,如 INSERT INTO tbl (x, y, x). 这修复 #5465, #7681. #7685 (阿利沙平)
  • 增加了回退,用于检测未知Cpu的物理CPU内核数量(使用逻辑CPU内核数量)。 这修复 #5239. #7726 (阿列克谢-米洛维多夫)
  • 修复 There's no column 实例化列和别名列出错。 #8210 (Artem Zuikov)
  • 固定切断崩溃时 EXISTS 查询没有使用 TABLEDICTIONARY 预选赛 就像 EXISTS t. 这修复 #8172. 此错误在版本19.17中引入。 #8213 (阿列克谢-米洛维多夫)
  • 修复罕见错误 "Sizes of columns doesn't match" 使用时可能会出现 SimpleAggregateFunction 列。 #7790 (Boris Granveaud)
  • 修正错误,其中用户空 allow_databases 可以访问所有数据库(和相同的 allow_dictionaries). #7793 (DeifyTheGod)
  • 修复客户端崩溃时,服务器已经从客户端断开连接。 #8071 (Azat Khuzhin)
  • 修复 ORDER BY 在按主键前缀和非主键后缀排序的情况下的行为。 #7759 (安东*波波夫)
  • 检查表中是否存在合格列。 这修复 #6836. #7758 (Artem Zuikov)
  • 固定行为 ALTER MOVE 合并完成后立即运行移动指定的超部分。 修复 #8103. #8104 (Vladimir Chebotarev)
  • 使用时修复可能的服务器崩溃 UNION 具有不同数量的列。 修复 #7279. #7929 (尼古拉*科切托夫)
  • 修复函数结果子字符串的大小 substr 负大小。 #8589 (尼古拉*科切托夫)
  • 现在服务器不执行部分突变 MergeTree 如果后台池中没有足够的可用线程。 #8588 (tavplubix)
  • 修复格式化时的小错字 UNION ALL AST. #7999 (litao91)
  • 修正了负数不正确的布隆过滤结果。 这修复 #8317. #8566 (张冬)
  • 在解压缩固定潜在的缓冲区溢出。 恶意用户可以传递捏造的压缩数据,这将导致缓冲区后读取。 这个问题是由Yandex信息安全团队的Eldar Zaitov发现的。 #8404 (阿列克谢-米洛维多夫)
  • 修复因整数溢出而导致的错误结果 arrayIntersect. #7777 (尼古拉*科切托夫)
  • 现在 OPTIMIZE TABLE query不会等待脱机副本执行该操作。 #8314 (javi santana)
  • 固定 ALTER TTL 解析器 Replicated*MergeTree 桌子 #8318 (Vladimir Chebotarev)
  • 修复服务器和客户端之间的通信,以便服务器在查询失败后读取临时表信息。 #8084 (Azat Khuzhin)
  • 修复 bitmapAnd 在聚合位图和标量位图相交时出现函数错误。 #8082 (黄月)
  • 完善的定义 ZXid 根据动物园管理员的程序员指南,它修复了错误 clickhouse-cluster-copier. #8088 (丁香飞)
  • odbc 表函数现在尊重 external_table_functions_use_nulls 设置。 #7506 (瓦西里*内姆科夫)
  • 修正了导致罕见的数据竞赛的错误。 #8143 (亚历山大*卡扎科夫)
  • 现在 SYSTEM RELOAD DICTIONARY 完全重新加载字典,忽略 update_field. 这修复 #7440. #8037 (维塔利*巴拉诺夫)
  • 添加检查字典是否存在于创建查询的能力。 #8032 (阿利沙平)
  • 修复 Float* 解析中 Values 格式。 这修复 #7817. #7870 (tavplubix)
  • 修复崩溃时,我们不能在一些后台操作保留空间 *MergeTree 表引擎家族. #7873 (Vladimir Chebotarev)
  • 修复表包含合并操作时的崩溃 SimpleAggregateFunction(LowCardinality) 列。 这修复 #8515. #8522 (Azat Khuzhin)
  • 恢复对所有ICU区域设置的支持,并添加对常量表达式应用排序规则的功能。 还添加语言名称 system.collations 桌子 #8051 (阿利沙平)
  • 修正错误时,外部字典与零最小寿命 (LIFETIME(MIN 0 MAX N), LIFETIME(N))不要在后台更新。 #7983 (阿利沙平)
  • 修复当clickhouse源外部字典在查询中有子查询时崩溃。 #8351 (尼古拉*科切托夫)
  • 修复文件扩展名不正确的解析表与引擎 URL. 这修复 #8157. #8419 (安德烈*博德罗夫)
  • 修复 CHECK TABLE 查询为 *MergeTree 表没有关键. 修复 #7543. #7979 (阿利沙平)
  • 固定转换 Float64 到MySQL类型。 #8079 (尤里*巴拉诺夫)
  • 现在,如果表没有完全删除,因为服务器崩溃,服务器将尝试恢复并加载它。 #8176 (tavplubix)
  • 修复了表函数中的崩溃 file 同时插入到不存在的文件。 现在在这种情况下,文件将被创建,然后插入将被处理。 #8177 (Olga Khvostikova)
  • 修复罕见的死锁时,可能发生 trace_log 处于启用状态。 #7838 (filimonov)
  • 添加能力与不同类型的工作,除了 DateRangeHashed 从DDL查询创建的外部字典。 修复 7899. #8275 (阿利沙平)
  • 修复崩溃时 now64() 用另一个函数的结果调用。 #8270 (瓦西里*内姆科夫)
  • 修正了通过mysql有线协议检测客户端IP连接的错误。 #7743 (Dmitry Muzyka)
  • 修复空阵列处理 arraySplit 功能。 这修复 #7708. #7747 (hcz)
  • 修复了以下问题 pid-file 另一个运行 clickhouse-server 可能会被删除。 #8487 (徐伟清)
  • 修复字典重新加载,如果它有 invalidate_query,停止更新,并在以前的更新尝试一些异常。 #8029 (阿利沙平)
  • 修正了功能错误 arrayReduce 这可能会导致 “double free” 和聚合函数组合器中的错误 Resample 这可能会导致内存泄漏。 添加聚合功能 aggThrow. 此功能可用于测试目的。 #8446 (阿列克谢-米洛维多夫)

改进

性能改进

构建/测试/包装改进

实验特点

  • 增加了实验设置 min_bytes_to_use_mmap_io. 它允许读取大文件,而无需将数据从内核复制到用户空间。 默认情况下禁用该设置。 建议的阈值大约是64MB,因为mmap/munmap很慢。 #8520 (阿列克谢-米洛维多夫)
  • 返工配额作为访问控制系统的一部分。 增加了新表 system.quotas,新功能 currentQuota, currentQuotaKey,新的SQL语法 CREATE QUOTA, ALTER QUOTA, DROP QUOTA, SHOW QUOTA. #7257 (维塔利*巴拉诺夫)
  • 允许跳过带有警告的未知设置,而不是引发异常。 #7653 (维塔利*巴拉诺夫)
  • 重新设计的行策略作为访问控制系统的一部分。 增加了新表 system.row_policies,新功能 currentRowPolicies(),新的SQL语法 CREATE POLICY, ALTER POLICY, DROP POLICY, SHOW CREATE POLICY, SHOW POLICIES. #7808 (维塔利*巴拉诺夫)

安全修复

更新日志2019