--- machine_translated: true machine_translated_rev: 72537a2d527c63c07aa5d2361a8829f3895cf2bd toc_priority: 78 toc_title: '2018' --- ## ClickHouse释放18.16 {#clickhouse-release-18-16} ### 碌莽禄,拢,010-68520682\ {#clickhouse-release-18-16-1-2018-12-21} #### 错误修复: {#bug-fixes} - 修复了导致使用ODBC源更新字典时出现问题的错误。 [\#3825](https://github.com/ClickHouse/ClickHouse/issues/3825), [\#3829](https://github.com/ClickHouse/ClickHouse/issues/3829) - 聚集函数的JIT编译现在适用于低心率列。 [\#3838](https://github.com/ClickHouse/ClickHouse/issues/3838) #### 改进: {#improvements} - 添加了 `low_cardinality_allow_in_native_format` 设置(默认情况下启用)。 如果禁用,则选择查询的LowCardinality列将转换为普通列,插入查询将需要普通列。 [\#3879](https://github.com/ClickHouse/ClickHouse/pull/3879) #### 构建改进: {#build-improvements} - 修复了基于macOS和ARM的构建。 ### 碌莽禄,拢,010-68520682\ {#clickhouse-release-18-16-0-2018-12-14} #### 新功能: {#new-features} - `DEFAULT` 在以半结构化输入格式加载数据时,会计算表达式是否缺少字段 (`JSONEachRow`, `TSKV`). 该功能与启用 `insert_sample_with_metadata` 设置。 [\#3555](https://github.com/ClickHouse/ClickHouse/pull/3555) - 该 `ALTER TABLE` 查询现在有 `MODIFY ORDER BY` 用于在添加或删除表列时更改排序键的操作。 这是在表有用 `MergeTree` 基于此排序键合并时执行其他任务的系列,例如 `SummingMergeTree`, `AggregatingMergeTree`,等等。 [\#3581](https://github.com/ClickHouse/ClickHouse/pull/3581) [\#3755](https://github.com/ClickHouse/ClickHouse/pull/3755) - 对于在表 `MergeTree` 家庭,现在你可以指定一个不同的排序键 (`ORDER BY`)和索引 (`PRIMARY KEY`). 排序键可以长于索引。 [\#3581](https://github.com/ClickHouse/ClickHouse/pull/3581) - 添加了 `hdfs` 表功能和 `HDFS` 用于将数据导入和导出到HDFS的表引擎。 [晨兴-xc](https://github.com/ClickHouse/ClickHouse/pull/3617) - 增加了使用base64的功能: `base64Encode`, `base64Decode`, `tryBase64Decode`. [Alexander Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/3350) - 现在,您可以使用一个参数来配置的精度 `uniqCombined` 聚合函数(选择HyperLogLog单元格的数量)。 [\#3406](https://github.com/ClickHouse/ClickHouse/pull/3406) - 添加了 `system.contributors` 包含在ClickHouse中进行提交的所有人的名称的表。 [\#3452](https://github.com/ClickHouse/ClickHouse/pull/3452) - 增加了省略分区的能力 `ALTER TABLE ... FREEZE` 查询以便一次备份所有分区。 [\#3514](https://github.com/ClickHouse/ClickHouse/pull/3514) - 已添加 `dictGet` 和 `dictGetOrDefault` 不需要指定返回值类型的函数。 该类型是从字典描述自动确定的。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/3564) - 现在,您可以在表描述中为列指定注释,并使用以下方式对其进行更改 `ALTER`. [\#3377](https://github.com/ClickHouse/ClickHouse/pull/3377) - 阅读支持 `Join` 使用简单键键入表格。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/3728) - 现在,您可以指定选项 `join_use_nulls`, `max_rows_in_join`, `max_bytes_in_join`,和 `join_overflow_mode` 当创建一个 `Join` 键入表。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/3728) - 添加了 `joinGet` 功能,允许您使用 `Join` 像字典一样键入表格。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/3728) - 添加了 `partition_key`, `sorting_key`, `primary_key`,和 `sampling_key` 列到 `system.tables` 表以便提供关于表键的信息。 [\#3609](https://github.com/ClickHouse/ClickHouse/pull/3609) - 添加了 `is_in_partition_key`, `is_in_sorting_key`, `is_in_primary_key`,和 `is_in_sampling_key` 列到 `system.columns` 桌子 [\#3609](https://github.com/ClickHouse/ClickHouse/pull/3609) - 添加了 `min_time` 和 `max_time` 列到 `system.parts` 桌子 当分区键是由以下表达式组成的表达式时,将填充这些列 `DateTime` 列。 [Emmanuel Donin de Rosière](https://github.com/ClickHouse/ClickHouse/pull/3800) #### 错误修复: {#bug-fixes-1} - 修复和性能改进 `LowCardinality` 数据类型。 `GROUP BY` 使用 `LowCardinality(Nullable(...))`. 获取的值 `extremes`. 处理高阶函数。 `LEFT ARRAY JOIN`. 分布 `GROUP BY`. 返回的函数 `Array`. 执行 `ORDER BY`. 写入 `Distributed` 表(nicelulu)。 向后兼容 `INSERT` 从实现旧客户端的查询 `Native` 协议 支持 `LowCardinality` 为 `JOIN`. 在单个流中工作时提高性能。 [\#3823](https://github.com/ClickHouse/ClickHouse/pull/3823) [\#3803](https://github.com/ClickHouse/ClickHouse/pull/3803) [\#3799](https://github.com/ClickHouse/ClickHouse/pull/3799) [\#3769](https://github.com/ClickHouse/ClickHouse/pull/3769) [\#3744](https://github.com/ClickHouse/ClickHouse/pull/3744) [\#3681](https://github.com/ClickHouse/ClickHouse/pull/3681) [\#3651](https://github.com/ClickHouse/ClickHouse/pull/3651) [\#3649](https://github.com/ClickHouse/ClickHouse/pull/3649) [\#3641](https://github.com/ClickHouse/ClickHouse/pull/3641) [\#3632](https://github.com/ClickHouse/ClickHouse/pull/3632) [\#3568](https://github.com/ClickHouse/ClickHouse/pull/3568) [\#3523](https://github.com/ClickHouse/ClickHouse/pull/3523) [\#3518](https://github.com/ClickHouse/ClickHouse/pull/3518) - 固定如何 `select_sequential_consistency` 选项工作。 以前,启用此设置时,在开始写入新分区后,有时会返回不完整的结果。 [\#2863](https://github.com/ClickHouse/ClickHouse/pull/2863) - 执行DDL时正确指定数据库 `ON CLUSTER` 查询和 `ALTER UPDATE/DELETE`. [\#3772](https://github.com/ClickHouse/ClickHouse/pull/3772) [\#3460](https://github.com/ClickHouse/ClickHouse/pull/3460) - 为视图中的子查询正确指定了数据库。 [\#3521](https://github.com/ClickHouse/ClickHouse/pull/3521) - 修正了一个错误 `PREWHERE` 与 `FINAL` 为 `VersionedCollapsingMergeTree`. [7167bfd7](https://github.com/ClickHouse/ClickHouse/commit/7167bfd7b365538f7a91c4307ad77e552ab4e8c1) - 现在你可以使用 `KILL QUERY` 取消尚未启动的查询,因为它们正在等待锁定表。 [\#3517](https://github.com/ClickHouse/ClickHouse/pull/3517) - 更正日期和时间计算,如果时钟被移回午夜(这发生在伊朗,并发生在莫斯科1981年至1983年)。 以前,这导致时间比必要的时间早一天重置,并且还导致文本格式的日期和时间格式不正确。 [\#3819](https://github.com/ClickHouse/ClickHouse/pull/3819) - 修正了某些情况下的错误 `VIEW` 和省略数据库的子查询。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/3521) - 修正了一个争用条件时,同时从读取 `MATERIALIZED VIEW` 和删除 `MATERIALIZED VIEW` 由于不锁定内部 `MATERIALIZED VIEW`. [\#3404](https://github.com/ClickHouse/ClickHouse/pull/3404) [\#3694](https://github.com/ClickHouse/ClickHouse/pull/3694) - 修正了错误 `Lock handler cannot be nullptr.` [\#3689](https://github.com/ClickHouse/ClickHouse/pull/3689) - 固定查询处理时 `compile_expressions` 选项已启用(默认情况下启用)。 非确定性常量表达式,如 `now` 功能不再展开。 [\#3457](https://github.com/ClickHouse/ClickHouse/pull/3457) - 修复了在指定非常量比例参数时发生的崩溃 `toDecimal32/64/128` 功能。 - 修复了尝试插入数组时的错误 `NULL` 中的元素 `Values` 格式化为类型的列 `Array` 没有 `Nullable` (如果 `input_format_values_interpret_expressions` = 1). [\#3487](https://github.com/ClickHouse/ClickHouse/pull/3487) [\#3503](https://github.com/ClickHouse/ClickHouse/pull/3503) - 固定连续错误登录 `DDLWorker` 如果动物园管理员不可用。 [8f50c620](https://github.com/ClickHouse/ClickHouse/commit/8f50c620334988b28018213ec0092fe6423847e2) - 修正了返回类型 `quantile*` 从功能 `Date` 和 `DateTime` 参数的类型。 [\#3580](https://github.com/ClickHouse/ClickHouse/pull/3580) - 修正了 `WITH` 子句,如果它指定了一个没有表达式的简单别名。 [\#3570](https://github.com/ClickHouse/ClickHouse/pull/3570) - 固定处理具有命名子查询和限定列名的查询时 `enable_optimize_predicate_expression` 被启用。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/3588) - 修正了错误 `Attempt to attach to nullptr thread group` 使用实例化视图时。 [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3623) - 修正了传递某些不正确的参数时崩溃 `arrayReverse` 功能。 [73e3a7b6](https://github.com/ClickHouse/ClickHouse/commit/73e3a7b662161d6005e7727d8a711b930386b871) - 修正了缓冲区溢出 `extractURLParameter` 功能。 改进的性能。 添加了包含零字节的字符串的正确处理。 [141e9799](https://github.com/ClickHouse/ClickHouse/commit/141e9799e49201d84ea8e951d1bed4fb6d3dacb5) - 在固定缓冲区溢出 `lowerUTF8` 和 `upperUTF8` 功能。 删除了执行这些功能的能力 `FixedString` 类型参数。 [\#3662](https://github.com/ClickHouse/ClickHouse/pull/3662) - 修复了删除时罕见的竞争条件 `MergeTree` 桌子 [\#3680](https://github.com/ClickHouse/ClickHouse/pull/3680) - 修正了从读取时的争用条件 `Buffer` 表和同时执行 `ALTER` 或 `DROP` 在目标桌上。 [\#3719](https://github.com/ClickHouse/ClickHouse/pull/3719) - 修正了一个段错误,如果 `max_temporary_non_const_columns` 超过限制。 [\#3788](https://github.com/ClickHouse/ClickHouse/pull/3788) #### 改进: {#improvements-1} - 服务器不会将处理后的配置文件写入 `/etc/clickhouse-server/` 目录。 相反,它将它们保存在 `preprocessed_configs` 里面的目录 `path`. 这意味着 `/etc/clickhouse-server/` 目录没有写访问权限 `clickhouse` 用户,从而提高了安全性。 [\#2443](https://github.com/ClickHouse/ClickHouse/pull/2443) - 该 `min_merge_bytes_to_use_direct_io` 默认情况下,选项设置为10GiB。 将在MergeTree系列中执行形成大部分表的合并 `O_DIRECT` 模式,这可以防止过多的页高速缓存逐出。 [\#3504](https://github.com/ClickHouse/ClickHouse/pull/3504) - 当表数量非常多时,加速服务器启动。 [\#3398](https://github.com/ClickHouse/ClickHouse/pull/3398) - 添加了连接池和HTTP `Keep-Alive` 用于副本之间的连接。 [\#3594](https://github.com/ClickHouse/ClickHouse/pull/3594) - 如果查询语法无效,则 `400 Bad Request` 代码在返回 `HTTP` 接口(500以前返回)。 [31bc680a](https://github.com/ClickHouse/ClickHouse/commit/31bc680ac5f4bb1d0360a8ba4696fa84bb47d6ab) - 该 `join_default_strictness` 选项设置为 `ALL` 默认情况下为兼容性。 [120e2cbe](https://github.com/ClickHouse/ClickHouse/commit/120e2cbe2ff4fbad626c28042d9b28781c805afe) - 删除日志记录 `stderr` 从 `re2` 无效或复杂正则表达式的库。 [\#3723](https://github.com/ClickHouse/ClickHouse/pull/3723) - 添加的 `Kafka` 表引擎:在开始从Kafka读取之前检查订阅;表的kafka\_max\_block\_size设置。 [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3396) - 该 `cityHash64`, `farmHash64`, `metroHash64`, `sipHash64`, `halfMD5`, `murmurHash2_32`, `murmurHash2_64`, `murmurHash3_32`,和 `murmurHash3_64` 函数现在适用于任意数量的参数和元组形式的参数。 [\#3451](https://github.com/ClickHouse/ClickHouse/pull/3451) [\#3519](https://github.com/ClickHouse/ClickHouse/pull/3519) - 该 `arrayReverse` 函数现在适用于任何类型的数组。 [73e3a7b6](https://github.com/ClickHouse/ClickHouse/commit/73e3a7b662161d6005e7727d8a711b930386b871) - 增加了一个可选参数:插槽大小的 `timeSlots` 功能。 [基里尔\*什瓦科夫](https://github.com/ClickHouse/ClickHouse/pull/3724) - 为 `FULL` 和 `RIGHT JOIN`,该 `max_block_size` 设置用于右表中未连接的数据流。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/3699) - 添加了 `--secure` 命令行参数 `clickhouse-benchmark` 和 `clickhouse-performance-test` 启用TLS。 [\#3688](https://github.com/ClickHouse/ClickHouse/pull/3688) [\#3690](https://github.com/ClickHouse/ClickHouse/pull/3690) - 类型转换时的结构 `Buffer` 表的类型与目标表的结构不匹配。 [维塔利\*巴拉诺夫](https://github.com/ClickHouse/ClickHouse/pull/3603) - 添加了 `tcp_keep_alive_timeout` 在指定的时间间隔内不活动后启用保持活动数据包的选项。 [\#3441](https://github.com/ClickHouse/ClickHouse/pull/3441) - 删除不必要的引用值的分区键中 `system.parts` 表,如果它由单列组成。 [\#3652](https://github.com/ClickHouse/ClickHouse/pull/3652) - 模函数适用于 `Date` 和 `DateTime` 数据类型。 [\#3385](https://github.com/ClickHouse/ClickHouse/pull/3385) - 添加同义词的 `POWER`, `LN`, `LCASE`, `UCASE`, `REPLACE`, `LOCATE`, `SUBSTR`,和 `MID` 功能。 [\#3774](https://github.com/ClickHouse/ClickHouse/pull/3774) [\#3763](https://github.com/ClickHouse/ClickHouse/pull/3763) 为了与SQL标准兼容,某些函数名称不区分大小写。 添加语法糖 `SUBSTRING(expr FROM start FOR length)` 对于与SQL的兼容性。 [\#3804](https://github.com/ClickHouse/ClickHouse/pull/3804) - 增加了以下能力 `mlock` 对应于存储器页 `clickhouse-server` 可执行代码,以防止它被强制出内存。 默认情况下禁用此功能。 [\#3553](https://github.com/ClickHouse/ClickHouse/pull/3553) - 从读取时改进的性能 `O_DIRECT` (与 `min_bytes_to_use_direct_io` 选项启用)。 [\#3405](https://github.com/ClickHouse/ClickHouse/pull/3405) - 的改进的性能 `dictGet...OrDefault` 常量键参数和非常量默认参数的函数。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/3563) - 该 `firstSignificantSubdomain` 功能现在处理域 `gov`, `mil`,和 `edu`. [Igor Hatarist](https://github.com/ClickHouse/ClickHouse/pull/3601) 改进的性能。 [\#3628](https://github.com/ClickHouse/ClickHouse/pull/3628) - 能够指定用于启动的自定义环境变量 `clickhouse-server` 使用 `SYS-V init.d` 通过定义脚本 `CLICKHOUSE_PROGRAM_ENV` 在 `/etc/default/clickhouse`. [Pavlo Bashynskyi](https://github.com/ClickHouse/ClickHouse/pull/3612) - Clickhouse-server init脚本的正确返回代码。 [\#3516](https://github.com/ClickHouse/ClickHouse/pull/3516) - 该 `system.metrics` 表现在有 `VersionInteger` 公制和 `system.build_options` 有添加的行 `VERSION_INTEGER`,其中包含ClickHouse版本的数字形式,例如 `18016000`. [\#3644](https://github.com/ClickHouse/ClickHouse/pull/3644) - 删除比较的能力 `Date` 输入一个数字,以避免潜在的错误,如 `date = 2018-12-17`,其中日期周围的引号被错误省略。 [\#3687](https://github.com/ClickHouse/ClickHouse/pull/3687) - 修正了有状态函数的行为,如 `rowNumberInAllBlocks`. 他们之前输出的结果是由于在查询分析期间启动而大一个数字。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/3729) - 如果 `force_restore_data` 文件无法删除,将显示错误消息。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/3794) #### 构建改进: {#build-improvements-1} - 更新了 `jemalloc` 库,它修复了潜在的内存泄漏。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/3557) - 分析与 `jemalloc` 默认情况下为了调试生成启用。 [2cc82f5c](https://github.com/ClickHouse/ClickHouse/commit/2cc82f5cbe266421cd4c1165286c2c47e5ffcb15) - 增加了运行集成测试的能力,当只 `Docker` 安装在系统上。 [\#3650](https://github.com/ClickHouse/ClickHouse/pull/3650) - 在SELECT查询中添加了模糊表达式测试。 [\#3442](https://github.com/ClickHouse/ClickHouse/pull/3442) - 为提交添加了一个压力测试,它以并行和随机顺序执行功能测试,以检测更多的竞争条件。 [\#3438](https://github.com/ClickHouse/ClickHouse/pull/3438) - 改进了在Docker映像中启动clickhouse-server的方法。 [Elghazal Ahmed](https://github.com/ClickHouse/ClickHouse/pull/3663) - 对于Docker映像,增加了对使用数据库中的文件初始化数据库的支持 `/docker-entrypoint-initdb.d` 目录。 [康斯坦丁\*列别杰夫](https://github.com/ClickHouse/ClickHouse/pull/3695) - 修复了基于ARM的构建。 [\#3709](https://github.com/ClickHouse/ClickHouse/pull/3709) #### 向后不兼容的更改: {#backward-incompatible-changes} - 删除比较的能力 `Date` 用数字键入。 而不是 `toDate('2018-12-18') = 17883`,必须使用显式类型转换 `= toDate(17883)` [\#3687](https://github.com/ClickHouse/ClickHouse/pull/3687) ## ClickHouse释放18.14 {#clickhouse-release-18-14} ### 碌莽禄,拢,010-68520682\ {#clickhouse-release-18-14-19-2018-12-19} #### 错误修复: {#bug-fixes-2} - 修复了导致使用ODBC源更新字典时出现问题的错误。 [\#3825](https://github.com/ClickHouse/ClickHouse/issues/3825), [\#3829](https://github.com/ClickHouse/ClickHouse/issues/3829) - 执行DDL时正确指定数据库 `ON CLUSTER` 查询。 [\#3460](https://github.com/ClickHouse/ClickHouse/pull/3460) - 修正了一个段错误,如果 `max_temporary_non_const_columns` 超过限制。 [\#3788](https://github.com/ClickHouse/ClickHouse/pull/3788) #### 构建改进: {#build-improvements-2} - 修复了基于ARM的构建。 ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-14-18-2018-12-04} #### 错误修复: {#bug-fixes-3} - 修正错误 `dictGet...` 类型字典的函数 `range`,如果其中一个参数是恒定的,而另一个则不是。 [\#3751](https://github.com/ClickHouse/ClickHouse/pull/3751) - 修复了导致消息的错误 `netlink: '...': attribute type 1 has an invalid length` 要打印在Linux内核日志中,这只发生在足够新鲜的Linux内核版本上。 [\#3749](https://github.com/ClickHouse/ClickHouse/pull/3749) - 在功能固定段错误 `empty` 对于争论 `FixedString` 类型。 [丹尼尔,道广明](https://github.com/ClickHouse/ClickHouse/pull/3703) - 修正了使用大值时过多的内存分配 `max_query_size` 设置(内存块 `max_query_size` 字节被预先分配一次)。 [\#3720](https://github.com/ClickHouse/ClickHouse/pull/3720) #### 构建更改: {#build-changes} - 使用操作系统包中的版本7的LLVM/Clang库修复构建(这些库用于运行时查询编译)。 [\#3582](https://github.com/ClickHouse/ClickHouse/pull/3582) ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-14-17-2018-11-30} #### 错误修复: {#bug-fixes-4} - 修复了ODBC桥进程未与主服务器进程终止的情况。 [\#3642](https://github.com/ClickHouse/ClickHouse/pull/3642) - 固定同步插入 `Distributed` 具有不同于远程表的列列表的列列表的表。 [\#3673](https://github.com/ClickHouse/ClickHouse/pull/3673) - 修复了丢弃MergeTree表时可能导致崩溃的罕见竞争条件。 [\#3643](https://github.com/ClickHouse/ClickHouse/pull/3643) - 修复了查询线程创建失败时的查询死锁 `Resource temporarily unavailable` 错误 [\#3643](https://github.com/ClickHouse/ClickHouse/pull/3643) - 修正了解析 `ENGINE` 条款时 `CREATE AS table` 语法被使用和 `ENGINE` 子句之前指定 `AS table` (错误导致忽略指定的引擎)。 [\#3692](https://github.com/ClickHouse/ClickHouse/pull/3692) ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-14-15-2018-11-21} #### 错误修复: {#bug-fixes-5} - 反序列化类型的列时,高估了内存块的大小 `Array(String)` 这导致 “Memory limit exceeded” 错误。 该问题出现在版本18.12.13中。 [\#3589](https://github.com/ClickHouse/ClickHouse/issues/3589) ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-14-14-2018-11-20} #### 错误修复: {#bug-fixes-6} - 固定 `ON CLUSTER` 当群集配置为安全时进行查询(标志 ``). [\#3599](https://github.com/ClickHouse/ClickHouse/pull/3599) #### 构建更改: {#build-changes-1} - 固定的问题(llvm-7从系统,macos) [\#3582](https://github.com/ClickHouse/ClickHouse/pull/3582) ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-14-13-2018-11-08} #### 错误修复: {#bug-fixes-7} - 修正了 `Block structure mismatch in MergingSorted stream` 错误 [\#3162](https://github.com/ClickHouse/ClickHouse/issues/3162) - 固定 `ON CLUSTER` 查询的情况下,当安全连接被打开的群集配置( `` 标志)。 [\#3465](https://github.com/ClickHouse/ClickHouse/pull/3465) - 修复了查询中使用的错误 `SAMPLE`, `PREWHERE` 和别名列。 [\#3543](https://github.com/ClickHouse/ClickHouse/pull/3543) - 修正了一个罕见的 `unknown compression method` 错误时 `min_bytes_to_use_direct_io` 设置已启用。 [3544](https://github.com/ClickHouse/ClickHouse/pull/3544) #### 性能改进: {#performance-improvements} - 查询的固定性能回归 `GROUP BY` 在AMD EPYC处理器上执行时,uint16或Date类型的列。 [Igor Lapko](https://github.com/ClickHouse/ClickHouse/pull/3512) - 修正了处理长字符串的查询的性能回归。 [\#3530](https://github.com/ClickHouse/ClickHouse/pull/3530) #### 构建改进: {#build-improvements-3} - 简化阿卡迪亚构建的改进。 [\#3475](https://github.com/ClickHouse/ClickHouse/pull/3475), [\#3535](https://github.com/ClickHouse/ClickHouse/pull/3535) ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-14-12-2018-11-02} #### 错误修复: {#bug-fixes-8} - 修复了加入两个未命名的子查询时的崩溃。 [\#3505](https://github.com/ClickHouse/ClickHouse/pull/3505) - 修正了生成不正确的查询(用空 `WHERE` 子句)查询外部数据库时。 [hotid](https://github.com/ClickHouse/ClickHouse/pull/3477) - 修正了在ODBC字典中使用不正确的超时值。 [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3511) ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-14-11-2018-10-29} #### 错误修复: {#bug-fixes-9} - 修正了错误 `Block structure mismatch in UNION stream: different number of columns` 在限制查询。 [\#2156](https://github.com/ClickHouse/ClickHouse/issues/2156) - 修复了在嵌套结构中包含数组的表中合并数据时出现的错误。 [\#3397](https://github.com/ClickHouse/ClickHouse/pull/3397) - 修正了不正确的查询结果,如果 `merge_tree_uniform_read_distribution` 设置被禁用(默认情况下启用)。 [\#3429](https://github.com/ClickHouse/ClickHouse/pull/3429) - 修复了在本机格式的分布式表中插入错误。 [\#3411](https://github.com/ClickHouse/ClickHouse/issues/3411) ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-14-10-2018-10-23} - 该 `compile_expressions` 默认情况下禁用设置(表达式的JIT编译)。 [\#3410](https://github.com/ClickHouse/ClickHouse/pull/3410) - 该 `enable_optimize_predicate_expression` 默认情况下禁用设置。 ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-14-9-2018-10-16} #### 新功能: {#new-features-1} - 该 `WITH CUBE` 修饰符 `GROUP BY` (替代语法 `GROUP BY CUBE(...)` 也可用)。 [\#3172](https://github.com/ClickHouse/ClickHouse/pull/3172) - 添加了 `formatDateTime` 功能。 [Alexandr Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/2770) - 添加了 `JDBC` 表引擎和 `jdbc` 表功能(需要安装clickhouse-jdbc桥)。 [Alexandr Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/3210) - 增加了使用ISO周编号的功能: `toISOWeek`, `toISOYear`, `toStartOfISOYear`,和 `toDayOfYear`. [\#3146](https://github.com/ClickHouse/ClickHouse/pull/3146) - 现在你可以使用 `Nullable` 列 `MySQL` 和 `ODBC` 桌子 [\#3362](https://github.com/ClickHouse/ClickHouse/pull/3362) - 嵌套的数据结构可以被读取为嵌套的对象 `JSONEachRow` 格式。 添加了 `input_format_import_nested_json` 设置。 [维罗曼\*云坎](https://github.com/ClickHouse/ClickHouse/pull/3144) - 并行处理可用于许多 `MATERIALIZED VIEW`s插入数据时。 见 `parallel_view_processing` 设置。 [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3208) - 添加了 `SYSTEM FLUSH LOGS` 查询(强制日志刷新到系统表,如 `query_log`) [\#3321](https://github.com/ClickHouse/ClickHouse/pull/3321) - 现在,您可以使用预定义 `database` 和 `table` 声明时的宏 `Replicated` 桌子 [\#3251](https://github.com/ClickHouse/ClickHouse/pull/3251) - 增加了阅读的能力 `Decimal` 工程表示法中的类型值(表示十的幂)。 [\#3153](https://github.com/ClickHouse/ClickHouse/pull/3153) #### 实验特点: {#experimental-features} - 对GROUP BY子句进行优化 `LowCardinality data types.` [\#3138](https://github.com/ClickHouse/ClickHouse/pull/3138) - 表达式的优化计算 `LowCardinality data types.` [\#3200](https://github.com/ClickHouse/ClickHouse/pull/3200) #### 改进: {#improvements-2} - 显着减少查询的内存消耗 `ORDER BY` 和 `LIMIT`. 见 `max_bytes_before_remerge_sort` 设置。 [\#3205](https://github.com/ClickHouse/ClickHouse/pull/3205) - 在没有 `JOIN` (`LEFT`, `INNER`, …), `INNER JOIN` 是假定的。 [\#3147](https://github.com/ClickHouse/ClickHouse/pull/3147) - 限定星号在以下查询中正常工作 `JOIN`. [张冬](https://github.com/ClickHouse/ClickHouse/pull/3202) - 该 `ODBC` 表引擎正确地选择用于引用远程数据库的SQL方言中的标识符的方法。 [Alexandr Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/3210) - 该 `compile_expressions` 默认情况下启用设置(表达式的JIT编译)。 - 修复了同时删除数据库/表(如果存在)和创建数据库/表(如果不存在)的行为。 前情提要 `CREATE DATABASE ... IF NOT EXISTS` 查询可能会返回错误消息 “File … already exists” 和 `CREATE TABLE ... IF NOT EXISTS` 和 `DROP TABLE IF EXISTS` 查询可能会返回 `Table ... is creating or attaching right now`. [\#3101](https://github.com/ClickHouse/ClickHouse/pull/3101) - 当从MySQL或ODBC表中查询时,LIKE和IN表达式具有常量右半部分被传递到远程服务器。 [\#3182](https://github.com/ClickHouse/ClickHouse/pull/3182) - 当从MySQL和ODBC表查询时,与WHERE子句中常量表达式的比较会传递给远程服务器。 以前,只通过与常量的比较。 [\#3182](https://github.com/ClickHouse/ClickHouse/pull/3182) - 正确计算终端中的行宽 `Pretty` 格式,包括带有象形文字的字符串。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/3257). - `ON CLUSTER` 可以指定 `ALTER UPDATE` 查询。 - 提高了读取数据的性能 `JSONEachRow` 格式。 [\#3332](https://github.com/ClickHouse/ClickHouse/pull/3332) - 添加同义词的 `LENGTH` 和 `CHARACTER_LENGTH` 功能的兼容性。 该 `CONCAT` 函数不再区分大小写。 [\#3306](https://github.com/ClickHouse/ClickHouse/pull/3306) - 添加了 `TIMESTAMP` 的同义词 `DateTime` 类型。 [\#3390](https://github.com/ClickHouse/ClickHouse/pull/3390) - 服务器日志中始终为query\_id保留空间,即使日志行与查询无关。 这使得使用第三方工具更容易分析服务器文本日志。 - 当查询超过整数千兆字节的下一级别时,会记录查询的内存消耗。 [\#3205](https://github.com/ClickHouse/ClickHouse/pull/3205) - 为使用本机协议的客户端库错误发送的列少于服务器预期的插入查询时的情况添加了兼容模式。 使用clickhouse-cpp库时,这种情况是可能的。 以前,此方案会导致服务器崩溃。 [\#3171](https://github.com/ClickHouse/ClickHouse/pull/3171) - 在用户定义的WHERE表达式中 `clickhouse-copier`,您现在可以使用 `partition_key` 别名(用于按源表分区进行其他过滤)。 如果分区方案在复制过程中发生更改,但仅稍有更改,这很有用。 [\#3166](https://github.com/ClickHouse/ClickHouse/pull/3166) - 的工作流程 `Kafka` 引擎已被移动到后台线程池中,以便在高负载下自动降低数据读取速度。 [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3215). - 支持阅读 `Tuple` 和 `Nested` 结构的值,如 `struct` 在 `Cap'n'Proto format`. [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3216) - 顶级域名列表 `firstSignificantSubdomain` 功能现在包括域 `biz`. [decaseal](https://github.com/ClickHouse/ClickHouse/pull/3219) - 在外部字典的配置, `null_value` 被解释为默认数据类型的值。 [\#3330](https://github.com/ClickHouse/ClickHouse/pull/3330) - 支持 `intDiv` 和 `intDivOrZero` 功能 `Decimal`. [b48402e8](https://github.com/ClickHouse/ClickHouse/commit/b48402e8712e2b9b151e0eef8193811d433a1264) - 支持 `Date`, `DateTime`, `UUID`,和 `Decimal` 类型作为键 `sumMap` 聚合函数。 [\#3281](https://github.com/ClickHouse/ClickHouse/pull/3281) - 支持 `Decimal` 外部字典中的数据类型。 [\#3324](https://github.com/ClickHouse/ClickHouse/pull/3324) - 支持 `Decimal` 数据类型in `SummingMergeTree` 桌子 [\#3348](https://github.com/ClickHouse/ClickHouse/pull/3348) - 增加了专业化 `UUID` 在 `if`. [\#3366](https://github.com/ClickHouse/ClickHouse/pull/3366) - 减少的数量 `open` 和 `close` 从读取时系统调用 `MergeTree table`. [\#3283](https://github.com/ClickHouse/ClickHouse/pull/3283) - A `TRUNCATE TABLE` 查询可以在任何副本上执行(将查询传递给领导副本)。 [基里尔\*什瓦科夫](https://github.com/ClickHouse/ClickHouse/pull/3375) #### 错误修复: {#bug-fixes-10} - 修正了一个问题 `Dictionary` 表 `range_hashed` 字典 此错误发生在版本18.12.17中。 [\#1702](https://github.com/ClickHouse/ClickHouse/pull/1702) - 修正了加载时的错误 `range_hashed` 字典(消息 `Unsupported type Nullable (...)`). 此错误发生在版本18.12.17中。 [\#3362](https://github.com/ClickHouse/ClickHouse/pull/3362) - 在固定的错误 `pointInPolygon` 函数由于不准确的计算的多边形与大量的顶点位于彼此靠近的积累。 [\#3331](https://github.com/ClickHouse/ClickHouse/pull/3331) [\#3341](https://github.com/ClickHouse/ClickHouse/pull/3341) - 如果在合并数据部分之后,结果部分的校验和与另一个副本中相同合并的结果不同,则删除合并的结果并从另一个副本下载数据部分(这是正确的行为)。 但是在下载数据部分之后,由于该部分已经存在的错误(因为合并后数据部分被删除了一些延迟),因此无法将其添加到工作集中。 这导致周期性尝试下载相同的数据。 [\#3194](https://github.com/ClickHouse/ClickHouse/pull/3194) - 修正了查询总内存消耗的不正确计算(由于计算不正确, `max_memory_usage_for_all_queries` 设置工作不正确, `MemoryTracking` 度量值不正确)。 此错误发生在版本18.12.13中。 [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3344) - 修正的功能 `CREATE TABLE ... ON CLUSTER ... AS SELECT ...` 此错误发生在版本18.12.13中。 [\#3247](https://github.com/ClickHouse/ClickHouse/pull/3247) - 修正了数据结构的不必要的准备 `JOIN`如果发起查询的服务器上 `JOIN` 仅在远程服务器上执行。 [\#3340](https://github.com/ClickHouse/ClickHouse/pull/3340) - 在固定的错误 `Kafka` 引擎:开始读取数据时异常后的死锁,并在完成时锁定 [Marek Vavruša](https://github.com/ClickHouse/ClickHouse/pull/3215). - 为 `Kafka` 表,可选 `schema` 参数未被传递(的架构 `Cap'n'Proto` 格式)。 [Vojtech Splichal](https://github.com/ClickHouse/ClickHouse/pull/3150) - 如果ZooKeeper服务器的整体服务器接受连接,但随后立即关闭它,而不是响应握手,ClickHouse选择连接另一台服务器。 以前,这会产生错误 `Cannot read all data. Bytes read: 0. Bytes expected: 4.` 服务器无法启动。 [8218cf3a](https://github.com/ClickHouse/ClickHouse/commit/8218cf3a5f39a43401953769d6d12a0bb8d29da9) - 如果ZooKeeper服务器的整体包含DNS查询返回错误的服务器,则忽略这些服务器。 [17b8e209](https://github.com/ClickHouse/ClickHouse/commit/17b8e209221061325ad7ba0539f03c6e65f87f29) - 固定类型之间的转换 `Date` 和 `DateTime` 当在插入数据 `VALUES` 格式(如果 `input_format_values_interpret_expressions = 1`). 以前,转换是在Unix Epoch时间中的天数和Unix时间戳的数值之间进行的,这会导致意外的结果。 [\#3229](https://github.com/ClickHouse/ClickHouse/pull/3229) - 修正类型之间的转换 `Decimal` 和整数。 [\#3211](https://github.com/ClickHouse/ClickHouse/pull/3211) - 在固定的错误 `enable_optimize_predicate_expression` 设置。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/3231) - 如果使用非默认的CSV分隔符,则修复了CSV格式的浮点数解析错误,例如 `;` [\#3155](https://github.com/ClickHouse/ClickHouse/pull/3155) - 修正了 `arrayCumSumNonNegative` 函数(它不累加负值,如果累加器小于零)。 [Aleksey Studnev](https://github.com/ClickHouse/ClickHouse/pull/3163) - 固定如何 `Merge` 表工作的顶部 `Distributed` 使用时的表 `PREWHERE`. [\#3165](https://github.com/ClickHouse/ClickHouse/pull/3165) - 在错误修复 `ALTER UPDATE` 查询。 - 在固定的错误 `odbc` 表功能,出现在版本18.12。 [\#3197](https://github.com/ClickHouse/ClickHouse/pull/3197) - 修正了聚合函数的操作 `StateArray` 组合子 [\#3188](https://github.com/ClickHouse/ClickHouse/pull/3188) - 修正了划分时崩溃 `Decimal` 值为零。 [69dd6609](https://github.com/ClickHouse/ClickHouse/commit/69dd6609193beb4e7acd3e6ad216eca0ccfb8179) - 使用固定输出类型的操作 `Decimal` 和整数参数。 [\#3224](https://github.com/ClickHouse/ClickHouse/pull/3224) - 修正了在段错误 `GROUP BY` 上 `Decimal128`. [3359ba06](https://github.com/ClickHouse/ClickHouse/commit/3359ba06c39fcd05bfdb87d6c64154819621e13a) - 该 `log_query_threads` 设置(关于查询执行的每个线程的日志记录信息)现在生效,只有当 `log_queries` 选项(有关查询的日志记录信息)设置为1。 由于 `log_query_threads` 默认情况下,即使禁用了查询日志记录,也会先前记录有关线程的信息。 [\#3241](https://github.com/ClickHouse/ClickHouse/pull/3241) - 修正了分位数聚合函数的分布式操作中的错误(错误消息 `Not found column quantile...`). [292a8855](https://github.com/ClickHouse/ClickHouse/commit/292a885533b8e3b41ce8993867069d14cbd5a664) - 修复了同时在18.12.17版服务器和旧服务器的集群上工作时的兼容性问题。 对于具有固定和非固定长度的GROUP BY键的分布式查询,如果要聚合大量数据,则返回的数据并不总是完全聚合(两个不同的行包含相同的聚合键)。 [\#3254](https://github.com/ClickHouse/ClickHouse/pull/3254) - 固定处理替换 `clickhouse-performance-test`,如果查询只包含测试中声明的替换的一部分。 [\#3263](https://github.com/ClickHouse/ClickHouse/pull/3263) - 修复了使用时的错误 `FINAL` 与 `PREWHERE`. [\#3298](https://github.com/ClickHouse/ClickHouse/pull/3298) - 修复了使用时的错误 `PREWHERE` 在过程中添加的列 `ALTER`. [\#3298](https://github.com/ClickHouse/ClickHouse/pull/3298) - 增加了一个检查没有 `arrayJoin` 为 `DEFAULT` 和 `MATERIALIZED` 表达式。 前情提要, `arrayJoin` 插入数据时导致错误。 [\#3337](https://github.com/ClickHouse/ClickHouse/pull/3337) - 增加了一个检查没有 `arrayJoin` 在一个 `PREWHERE` 条款 以前,这导致了类似的消息 `Size ... doesn't match` 或 `Unknown compression method` 执行查询时。 [\#3357](https://github.com/ClickHouse/ClickHouse/pull/3357) - 修复了优化后可能发生的极少数情况下的段错误,并将相等性评估与相应的IN表达式链接起来。 [刘一民-字节舞](https://github.com/ClickHouse/ClickHouse/pull/3339) - 小幅更正 `clickhouse-benchmark`:以前,客户端信息没有发送到服务器;现在关闭时更准确地计算执行的查询数量,并限制迭代次数。 [\#3351](https://github.com/ClickHouse/ClickHouse/pull/3351) [\#3352](https://github.com/ClickHouse/ClickHouse/pull/3352) #### 向后不兼容的更改: {#backward-incompatible-changes-1} - 删除了 `allow_experimental_decimal_type` 选项。 该 `Decimal` 数据类型可供默认使用。 [\#3329](https://github.com/ClickHouse/ClickHouse/pull/3329) ## ClickHouse释放18.12 {#clickhouse-release-18-12} ### 碌莽禄,拢,010-68520682\ {#clickhouse-release-18-12-17-2018-09-16} #### 新功能: {#new-features-2} - `invalidate_query` (指定查询来检查是否需要更新外部字典的能力)实现了 `clickhouse` 资料来源。 [\#3126](https://github.com/ClickHouse/ClickHouse/pull/3126) - 增加了使用的能力 `UInt*`, `Int*`,和 `DateTime` 数据类型(与 `Date` 类型)作为 `range_hashed` 定义范围边界的外部字典键。 现在 `NULL` 可用于指定开放范围。 [瓦西里\*内姆科夫](https://github.com/ClickHouse/ClickHouse/pull/3123) - 该 `Decimal` 类型现在支持 `var*` 和 `stddev*` 聚合函数。 [\#3129](https://github.com/ClickHouse/ClickHouse/pull/3129) - 该 `Decimal` 类型现在支持数学函数 (`exp`, `sin` 等等。) [\#3129](https://github.com/ClickHouse/ClickHouse/pull/3129) - 该 `system.part_log` 表现在有 `partition_id` 列。 [\#3089](https://github.com/ClickHouse/ClickHouse/pull/3089) #### 错误修复: {#bug-fixes-11} - `Merge` 现在正常工作 `Distributed` 桌子 [张冬](https://github.com/ClickHouse/ClickHouse/pull/3159) - 修复了不兼容(不必要的依赖 `glibc` 版本),这使得它不可能运行ClickHouse的 `Ubuntu Precise` 和旧版本。 在版本18.12.13中出现了不兼容。 [\#3130](https://github.com/ClickHouse/ClickHouse/pull/3130) - 在固定的错误 `enable_optimize_predicate_expression` 设置。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/3107) - 修复了在早于18.12.13的版本上使用副本集群并同时在具有较新版本的服务器上创建表的新副本时出现的向后兼容性的一个小问题(如消息中所示 `Can not clone replica, because the ... updated to new ClickHouse version`,这是合乎逻辑的,但不应该发生)。 [\#3122](https://github.com/ClickHouse/ClickHouse/pull/3122) #### 向后不兼容的更改: {#backward-incompatible-changes-2} - 该 `enable_optimize_predicate_expression` 默认情况下启用选项(这是相当乐观的)。 如果发生与搜索列名相关的查询分析错误,请设置 `enable_optimize_predicate_expression` 为0。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/3107) ### 碌莽禄,拢,0755-88888888 {#clickhouse-release-18-12-14-2018-09-13} #### 新功能: {#new-features-3} - 增加了对 `ALTER UPDATE` 查询。 [\#3035](https://github.com/ClickHouse/ClickHouse/pull/3035) - 添加了 `allow_ddl` 选项,它限制用户对DDL查询的访问。 [\#3104](https://github.com/ClickHouse/ClickHouse/pull/3104) - 添加了 `min_merge_bytes_to_use_direct_io` 备选案文 `MergeTree` 引擎允许您为合并的总大小设置阈值(当超过阈值时,将使用O\_DIRECT处理数据部分文件)。 [\#3117](https://github.com/ClickHouse/ClickHouse/pull/3117) - 该 `system.merges` 系统表现在包含 `partition_id` 列。 [\#3099](https://github.com/ClickHouse/ClickHouse/pull/3099) #### 改进 {#improvements-3} - 如果数据部分在变异期间保持不变,则副本不会下载该数据部分。 [\#3103](https://github.com/ClickHouse/ClickHouse/pull/3103) - 使用时,自动完成可用于设置名称 `clickhouse-client`. [\#3106](https://github.com/ClickHouse/ClickHouse/pull/3106) #### 错误修复: {#bug-fixes-12} - 添加了一个检查是元素的数组的大小 `Nested` 插入时的类型字段。 [\#3118](https://github.com/ClickHouse/ClickHouse/pull/3118) - 修正了一个错误更新外部字典与 `ODBC` 来源和 `hashed` 存储。 此错误发生在版本18.12.13中。 - 修复了使用以下命令从查询创建临时表时出现的崩溃 `IN` 条件。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/3098) - 修复了聚合函数中可能具有的数组的错误 `NULL` 元素。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/3097) ### 碌莽禄,拢,010-68520682\ {#clickhouse-release-18-12-13-2018-09-10} #### 新功能: {#new-features-4} - 添加了 `DECIMAL(digits, scale)` 数据类型 (`Decimal32(scale)`, `Decimal64(scale)`, `Decimal128(scale)`). 要启用它,请使用以下设置 `allow_experimental_decimal_type`. [\#2846](https://github.com/ClickHouse/ClickHouse/pull/2846) [\#2970](https://github.com/ClickHouse/ClickHouse/pull/2970) [\#3008](https://github.com/ClickHouse/ClickHouse/pull/3008) [\#3047](https://github.com/ClickHouse/ClickHouse/pull/3047) - 新 `WITH ROLLUP` 修饰符 `GROUP BY` (替代语法: `GROUP BY ROLLUP(...)`). [\#2948](https://github.com/ClickHouse/ClickHouse/pull/2948) - 在具有JOIN的查询中,星形字符将扩展为符合SQL标准的所有表中的列列表。 您可以通过设置恢复旧行为 `asterisk_left_columns_only` 在用户配置级别上为1。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/2787) - 增加了对连接表函数的支持。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/2907) - 在clickhouse-client中按Tab键进行自动完成。 [谢尔盖\*谢尔宾](https://github.com/ClickHouse/ClickHouse/pull/2447) - Clickhouse-client中的Ctrl+C清除输入的查询。 [\#2877](https://github.com/ClickHouse/ClickHouse/pull/2877) - 添加了 `join_default_strictness` 设置(值: `"`, `'any'`, `'all'`). 这允许您不指定 `ANY` 或 `ALL` 为 `JOIN`. [\#2982](https://github.com/ClickHouse/ClickHouse/pull/2982) - 与查询处理相关的服务器日志的每一行都显示了查询ID。 [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482) - 现在,您可以在clickhouse-client中获取查询执行日志(使用 `send_logs_level` 设置)。 通过分布式查询处理,日志从所有服务器级联。 [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482) - 该 `system.query_log` 和 `system.processes` (`SHOW PROCESSLIST`)表现在有关所有更改的设置信息,当你运行一个查询(的嵌套结构 `Settings` 数据)。 添加了 `log_query_settings` 设置。 [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482) - 该 `system.query_log` 和 `system.processes` 表现在显示有关参与查询执行的线程数的信息(请参阅 `thread_numbers` 列)。 [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482) - 已添加 `ProfileEvents` 用于度量通过网络读取和写入磁盘以及读取和写入磁盘所花费的时间、网络错误的数量以及在网络带宽受限时所花费的等待时间。 [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482) - 已添加 `ProfileEvents`包含来自rusage的系统指标的计数器(您可以使用它们获取有关用户空间和内核、页面错误和上下文切换的CPU使用率的信息),以及taskstats指标(使用它们获取有关I/O等待时间、CPU等待时间以及读取和记录的数据量的信息,无论是否包含页面缓存)。 [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482) - 该 `ProfileEvents` 计数器应用于全局和每个查询,以及每个查询执行线程,它允许您按查询详细分析资源消耗情况。 [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482) - 添加了 `system.query_thread_log` 表,其中包含有关每个查询执行线程的信息。 添加了 `log_query_threads` 设置。 [\#2482](https://github.com/ClickHouse/ClickHouse/pull/2482) - 该 `system.metrics` 和 `system.events` 表现在有内置文档。 [\#3016](https://github.com/ClickHouse/ClickHouse/pull/3016) - 添加了 `arrayEnumerateDense` 功能。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2975) - 添加了 `arrayCumSumNonNegative` 和 `arrayDifference` 功能。 [Aleksey Studnev](https://github.com/ClickHouse/ClickHouse/pull/2942) - 添加了 `retention` 聚合函数。 [李尚迪](https://github.com/ClickHouse/ClickHouse/pull/2887) - 现在,您可以使用plus运算符添加(合并)聚合函数的状态,并将聚合函数的状态乘以非负常数。 [\#3062](https://github.com/ClickHouse/ClickHouse/pull/3062) [\#3034](https://github.com/ClickHouse/ClickHouse/pull/3034) - MergeTree系列中的表现在具有虚拟列 `_partition_id`. [\#3089](https://github.com/ClickHouse/ClickHouse/pull/3089) #### 实验特点: {#experimental-features-1} - 添加了 `LowCardinality(T)` 数据类型。 此数据类型自动创建值的本地字典,并允许数据处理而无需解压字典。 [\#2830](https://github.com/ClickHouse/ClickHouse/pull/2830) - 添加了JIT编译函数的缓存和编译前使用次数的计数器。 要JIT编译表达式,请启用 `compile_expressions` 设置。 [\#2990](https://github.com/ClickHouse/ClickHouse/pull/2990) [\#3077](https://github.com/ClickHouse/ClickHouse/pull/3077) #### 改进: {#improvements-4} - 修复了放弃副本时复制日志无限积累的问题。 为延迟较长的副本添加了有效的恢复模式。 - 改进的性能 `GROUP BY` 当其中一个是string,其他是固定长度时,具有多个聚合字段。 - 使用时提高性能 `PREWHERE` 并与表达式的隐式转移 `PREWHERE`. - 改进文本格式的解析性能 (`CSV`, `TSV`). [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2977) [\#2980](https://github.com/ClickHouse/ClickHouse/pull/2980) - 改进了读取二进制格式字符串和数组的性能。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2955) - 提高性能和减少内存消耗的查询 `system.tables` 和 `system.columns` 当单个服务器上有非常大量的表时。 [\#2953](https://github.com/ClickHouse/ClickHouse/pull/2953) - 修复了大量查询导致错误的情况下的性能问题( `_dl_addr` 功能是可见的 `perf top`,但服务器没有使用太多的CPU)。 [\#2938](https://github.com/ClickHouse/ClickHouse/pull/2938) - 条件被转换到视图中(当 `enable_optimize_predicate_expression` 被启用)。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/2907) - 改进的功能 `UUID` 数据类型。 [\#3074](https://github.com/ClickHouse/ClickHouse/pull/3074) [\#2985](https://github.com/ClickHouse/ClickHouse/pull/2985) - 该 `UUID` -Alchemist字典支持数据类型。 [\#2822](https://github.com/ClickHouse/ClickHouse/pull/2822) - 该 `visitParamExtractRaw` 函数与嵌套结构正常工作。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/2974) - 当 `input_format_skip_unknown_fields` 启用设置,在对象字段 `JSONEachRow` 格式被正确跳过。 [BlahGeek](https://github.com/ClickHouse/ClickHouse/pull/2958) - 对于一个 `CASE` 表达式与条件,你现在可以省略 `ELSE`,这相当于 `ELSE NULL`. [\#2920](https://github.com/ClickHouse/ClickHouse/pull/2920) - 现在可以在使用ZooKeeper时配置操作超时。 [urykhy](https://github.com/ClickHouse/ClickHouse/pull/2971) - 您可以指定偏移量 `LIMIT n, m` 作为 `LIMIT n OFFSET m`. [\#2840](https://github.com/ClickHouse/ClickHouse/pull/2840) - 您可以使用 `SELECT TOP n` 语法作为替代 `LIMIT`. [\#2840](https://github.com/ClickHouse/ClickHouse/pull/2840) - 增加了队列的大小写入系统表,因此 `SystemLog parameter queue is full` 错误不经常发生。 - 该 `windowFunnel` aggregate函数现在支持满足多个条件的事件。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2801) - 重复的列可以用于 `USING` 条款 `JOIN`. [\#3006](https://github.com/ClickHouse/ClickHouse/pull/3006) - `Pretty` 格式现在对列对齐宽度有限制。 使用 `output_format_pretty_max_column_pad_width` 设置。 如果一个值较宽,它仍将完整显示,但表中的其他单元格不会太宽。 [\#3003](https://github.com/ClickHouse/ClickHouse/pull/3003) - 该 `odbc` 表函数现在允许您指定数据库/模式名称。 [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2885) - 增加了使用在指定的用户名的能力 `clickhouse-client` 配置文件。 [弗拉基米尔\*科兹宾](https://github.com/ClickHouse/ClickHouse/pull/2909) - 该 `ZooKeeperExceptions` 计数器已被分成三个计数器: `ZooKeeperUserExceptions`, `ZooKeeperHardwareExceptions`,和 `ZooKeeperOtherExceptions`. - `ALTER DELETE` 查询适用于实例化视图。 - 在定期运行清理线程时添加了随机化 `ReplicatedMergeTree` 表,以避免周期性负载尖峰时有一个非常大的数量 `ReplicatedMergeTree` 桌子 - 支持 `ATTACH TABLE ... ON CLUSTER` 查询。 [\#3025](https://github.com/ClickHouse/ClickHouse/pull/3025) #### 错误修复: {#bug-fixes-13} - 修正了一个问题 `Dictionary` 表(抛出 `Size of offsets doesn't match size of column` 或 `Unknown compression method` 例外)。 此错误出现在版本18.10.3中。 [\#2913](https://github.com/ClickHouse/ClickHouse/issues/2913) - 修复了合并时的错误 `CollapsingMergeTree` 如果其中一个数据部分为空(这些部分在合并或合并期间形成 `ALTER DELETE` 如果所有数据被删除),和 `vertical` 算法被用于合并。 [\#3049](https://github.com/ClickHouse/ClickHouse/pull/3049) - 在固定的竞争条件 `DROP` 或 `TRUNCATE` 为 `Memory` 表与同时 `SELECT`,这可能导致服务器崩溃。 此错误出现在版本1.1.54388中。 [\#3038](https://github.com/ClickHouse/ClickHouse/pull/3038) - 修正了插入时数据丢失的可能性 `Replicated` 表如果 `Session is expired` 错误返回(数据丢失可以通过检测 `ReplicatedDataLoss` 公制)。 此错误发生在版本1.1.54378。 [\#2939](https://github.com/ClickHouse/ClickHouse/pull/2939) [\#2949](https://github.com/ClickHouse/ClickHouse/pull/2949) [\#2964](https://github.com/ClickHouse/ClickHouse/pull/2964) - 在修复段错误 `JOIN ... ON`. [\#3000](https://github.com/ClickHouse/ClickHouse/pull/3000) - 修正了错误搜索列名时 `WHERE` 表达式完全由限定列名组成,例如 `WHERE table.column`. [\#2994](https://github.com/ClickHouse/ClickHouse/pull/2994) - 修正了 “Not found column” 如果从远程服务器请求由IN表达式和子查询组成的单个列,则在执行分布式查询时发生错误。 [\#3087](https://github.com/ClickHouse/ClickHouse/pull/3087) - 修正了 `Block structure mismatch in UNION stream: different number of columns` 如果其中一个分片是本地的,而另一个分片不是,则发生分布式查询的错误,并优化移动到 `PREWHERE` 被触发。 [\#2226](https://github.com/ClickHouse/ClickHouse/pull/2226) [\#3037](https://github.com/ClickHouse/ClickHouse/pull/3037) [\#3055](https://github.com/ClickHouse/ClickHouse/pull/3055) [\#3065](https://github.com/ClickHouse/ClickHouse/pull/3065) [\#3073](https://github.com/ClickHouse/ClickHouse/pull/3073) [\#3090](https://github.com/ClickHouse/ClickHouse/pull/3090) [\#3093](https://github.com/ClickHouse/ClickHouse/pull/3093) - 修正了 `pointInPolygon` 非凸多边形的某些情况下的函数。 [\#2910](https://github.com/ClickHouse/ClickHouse/pull/2910) - 修正了比较时不正确的结果 `nan` 与整数。 [\#3024](https://github.com/ClickHouse/ClickHouse/pull/3024) - 修正了一个错误 `zlib-ng` 在极少数情况下可能导致segfault的库。 [\#2854](https://github.com/ClickHouse/ClickHouse/pull/2854) - 修复了插入到表中时的内存泄漏 `AggregateFunction` 列,如果聚合函数的状态不简单(分别分配内存),并且如果单个插入请求导致多个小块。 [\#3084](https://github.com/ClickHouse/ClickHouse/pull/3084) - 修复了创建和删除相同的竞争条件 `Buffer` 或 `MergeTree` 同时表。 - 修复了比较由某些非平凡类型(如元组)组成的元组时出现段错误的可能性。 [\#2989](https://github.com/ClickHouse/ClickHouse/pull/2989) - 修正了运行某些时段错误的可能性 `ON CLUSTER` 查询。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/2960) - 修正了一个错误 `arrayDistinct` 功能 `Nullable` 数组元素。 [\#2845](https://github.com/ClickHouse/ClickHouse/pull/2845) [\#2937](https://github.com/ClickHouse/ClickHouse/pull/2937) - 该 `enable_optimize_predicate_expression` 选项现在正确支持的情况下 `SELECT *`. [张冬](https://github.com/ClickHouse/ClickHouse/pull/2929) - 修复了重新初始化ZooKeeper会话时的段错误。 [\#2917](https://github.com/ClickHouse/ClickHouse/pull/2917) - 与ZooKeeper工作时固定的潜在阻塞。 - 修正了不正确的代码添加嵌套的数据结构中 `SummingMergeTree`. - 在为聚合函数的状态分配内存时,会正确考虑对齐,这使得在实现聚合函数的状态时可以使用需要对齐的操作。 [晨兴-xc](https://github.com/ClickHouse/ClickHouse/pull/2808) #### 安全修复: {#security-fix} - 安全使用ODBC数据源。 与ODBC驱动程序的交互使用单独的 `clickhouse-odbc-bridge` 过程。 第三方ODBC驱动程序中的错误不再导致服务器稳定性问题或漏洞。 [\#2828](https://github.com/ClickHouse/ClickHouse/pull/2828) [\#2879](https://github.com/ClickHouse/ClickHouse/pull/2879) [\#2886](https://github.com/ClickHouse/ClickHouse/pull/2886) [\#2893](https://github.com/ClickHouse/ClickHouse/pull/2893) [\#2921](https://github.com/ClickHouse/ClickHouse/pull/2921) - 修正了在文件路径的不正确的验证 `catBoostPool` 表功能。 [\#2894](https://github.com/ClickHouse/ClickHouse/pull/2894) - 系统表的内容 (`tables`, `databases`, `parts`, `columns`, `parts_columns`, `merges`, `mutations`, `replicas`,和 `replication_queue`)根据用户对数据库的配置访问权限进行过滤 (`allow_databases`). [张冬](https://github.com/ClickHouse/ClickHouse/pull/2856) #### 向后不兼容的更改: {#backward-incompatible-changes-3} - 在具有JOIN的查询中,星形字符将扩展为符合SQL标准的所有表中的列列表。 您可以通过设置恢复旧行为 `asterisk_left_columns_only` 在用户配置级别上为1。 #### 构建更改: {#build-changes-2} - 大多数集成测试现在可以通过commit运行。 - 代码样式检查也可以通过提交运行。 - 该 `memcpy` 在CentOS7/Fedora上构建时,正确选择实现。 [Etienne Champetier](https://github.com/ClickHouse/ClickHouse/pull/2912) - 当使用clang来构建时,来自一些警告 `-Weverything` 已添加,除了常规 `-Wall-Wextra -Werror`. [\#2957](https://github.com/ClickHouse/ClickHouse/pull/2957) - 调试生成使用 `jemalloc` 调试选项。 - 用于与ZooKeeper交互的库接口被声明为抽象。 [\#2950](https://github.com/ClickHouse/ClickHouse/pull/2950) ## ClickHouse释放18.10 {#clickhouse-release-18-10} ### 碌莽禄,拢,010-68520682\ {#clickhouse-release-18-10-3-2018-08-13} #### 新功能: {#new-features-5} - HTTPS可用于复制。 [\#2760](https://github.com/ClickHouse/ClickHouse/pull/2760) - 新增功能 `murmurHash2_64`, `murmurHash3_32`, `murmurHash3_64`,和 `murmurHash3_128` 除了现有的 `murmurHash2_32`. [\#2791](https://github.com/ClickHouse/ClickHouse/pull/2791) - 支持ClickHouse ODBC驱动程序中的可空类型 (`ODBCDriver2` 输出格式)。 [\#2834](https://github.com/ClickHouse/ClickHouse/pull/2834) - 支持 `UUID` 在关键列。 #### 改进: {#improvements-5} - 当群集从配置文件中删除时,可以在不重新启动服务器的情况下删除群集。 [\#2777](https://github.com/ClickHouse/ClickHouse/pull/2777) - 从配置文件中删除外部字典时,可以在不重新启动服务器的情况下删除它们。 [\#2779](https://github.com/ClickHouse/ClickHouse/pull/2779) - 已添加 `SETTINGS` 支持 `Kafka` 表引擎。 [Alexander Marshalov](https://github.com/ClickHouse/ClickHouse/pull/2781) - 改进的 `UUID` 数据类型(尚未完成)。 [\#2618](https://github.com/ClickHouse/ClickHouse/pull/2618) - 支持合并后的空部件 `SummingMergeTree`, `CollapsingMergeTree` 和 `VersionedCollapsingMergeTree` 引擎 [\#2815](https://github.com/ClickHouse/ClickHouse/pull/2815) - 已完成突变的旧记录将被删除 (`ALTER DELETE`). [\#2784](https://github.com/ClickHouse/ClickHouse/pull/2784) - 添加了 `system.merge_tree_settings` 桌子 [基里尔\*什瓦科夫](https://github.com/ClickHouse/ClickHouse/pull/2841) - 该 `system.tables` 表现在具有依赖列: `dependencies_database` 和 `dependencies_table`. [张冬](https://github.com/ClickHouse/ClickHouse/pull/2851) - 添加了 `max_partition_size_to_drop` 配置选项。 [\#2782](https://github.com/ClickHouse/ClickHouse/pull/2782) - 添加了 `output_format_json_escape_forward_slashes` 选项。 [Alexander Bocharov](https://github.com/ClickHouse/ClickHouse/pull/2812) - 添加了 `max_fetch_partition_retries_count` 设置。 [\#2831](https://github.com/ClickHouse/ClickHouse/pull/2831) - 添加了 `prefer_localhost_replica` 用于禁用本地副本的首选项以及在不进程间交互的情况下转到本地副本的设置。 [\#2832](https://github.com/ClickHouse/ClickHouse/pull/2832) - 该 `quantileExact` 聚合函数返回 `nan` 在聚合在一个空的情况下 `Float32` 或 `Float64` 预备 [李尚迪](https://github.com/ClickHouse/ClickHouse/pull/2855) #### 错误修复: {#bug-fixes-14} - 删除了ODBC的连接字符串参数的不必要的转义,这使得无法建立连接。 此错误发生在版本18.6.0中。 - 修正了处理逻辑 `REPLACE PARTITION` 复制队列中的命令。 如果有两个 `REPLACE` 对于同一个分区的命令,不正确的逻辑可能会导致其中一个保留在复制队列中而无法执行。 [\#2814](https://github.com/ClickHouse/ClickHouse/pull/2814) - 修正了一个合并错误,当所有的数据部分都是空的(从合并或从形成的部分 `ALTER DELETE` 如果所有数据都被删除)。 此错误出现在18.1.0版本。 [\#2930](https://github.com/ClickHouse/ClickHouse/pull/2930) - 修复了并发错误 `Set` 或 `Join`. [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2823) - 修正了 `Block structure mismatch in UNION stream: different number of columns` 发生的错误 `UNION ALL` 子查询内的查询,如果一个 `SELECT` 查询包含重复的列名。 [张冬](https://github.com/ClickHouse/ClickHouse/pull/2094) - 修复了连接到MySQL服务器时发生异常时的内存泄漏。 - 在查询错误的情况下修复了不正确的clickhouse客户端响应代码。 - 修正了包含DISTINCT的实例化视图的不正确行为。 [\#2795](https://github.com/ClickHouse/ClickHouse/issues/2795) #### 向后不兼容的更改 {#backward-incompatible-changes-4} - 删除了对分布式表的检查表查询的支持。 #### 构建更改: {#build-changes-3} - 分配器已被替换: `jemalloc` 现在用来代替 `tcmalloc`. 在某些情况下,这增加了速度高达20%。 但是,有些查询已经减慢了20%。 在某些情况下,内存消耗减少了大约10%,稳定性得到了提高。 由于竞争激烈的负载,用户空间和系统中的CPU使用率略有增加。 [\#2773](https://github.com/ClickHouse/ClickHouse/pull/2773) - 从子模块使用libressl。 [\#1983](https://github.com/ClickHouse/ClickHouse/pull/1983) [\#2807](https://github.com/ClickHouse/ClickHouse/pull/2807) - 从子模块使用unixodbc。 [\#2789](https://github.com/ClickHouse/ClickHouse/pull/2789) - 从子模块中使用mariadb-connector-c。 [\#2785](https://github.com/ClickHouse/ClickHouse/pull/2785) - 将功能性测试文件添加到存储库中,这些文件取决于测试数据的可用性(暂时不包含测试数据本身)。 ## ClickHouse释放18.6 {#clickhouse-release-18-6} ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-6-0-2018-08-02} #### 新功能: {#new-features-6} - 增加了对ON表达式的支持,以便在语法上加入: `JOIN ON Expr([table.]column ...) = Expr([table.]column, ...) [AND Expr([table.]column, ...) = Expr([table.]column, ...) ...]` 表达式必须是由AND运算符连接的等式链。 等式的每一侧都可以是其中一个表的列上的任意表达式。 支持使用完全限定的列名 (`table.name`, `database.table.name`, `table_alias.name`, `subquery_alias.name`)对于正确的表。 [\#2742](https://github.com/ClickHouse/ClickHouse/pull/2742) - 可以启用HTTPS进行复制。 [\#2760](https://github.com/ClickHouse/ClickHouse/pull/2760) #### 改进: {#improvements-6} - 服务器将其版本的补丁组件传递给客户端。 有关修补程序版本组件的数据位于 `system.processes` 和 `query_log`. [\#2646](https://github.com/ClickHouse/ClickHouse/pull/2646) ## ClickHouse释放18.5 {#clickhouse-release-18-5} ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-18-5-1-2018-07-31} #### 新功能: {#new-features-7} - 添加了哈希函数 `murmurHash2_32` [\#2756](https://github.com/ClickHouse/ClickHouse/pull/2756). #### 改进: {#improvements-7} - 现在你可以使用 `from_env` [\#2741](https://github.com/ClickHouse/ClickHouse/pull/2741) 从环境变量设置配置文件中的值的属性。 - 增加了不区分大小写的版本 `coalesce`, `ifNull`,和 `nullIf functions` [\#2752](https://github.com/ClickHouse/ClickHouse/pull/2752). #### 错误修复: {#bug-fixes-15} - 修复了启动副本时可能出现的错误 [\#2759](https://github.com/ClickHouse/ClickHouse/pull/2759). ## ClickHouse释放18.4 {#clickhouse-release-18-4} ### 碌莽禄,拢,010-68520682\ {#clickhouse-release-18-4-0-2018-07-28} #### 新功能: {#new-features-8} - 添加系统表: `formats`, `data_type_families`, `aggregate_function_combinators`, `table_functions`, `table_engines`, `collations` [\#2721](https://github.com/ClickHouse/ClickHouse/pull/2721). - 增加了使用表函数代替表作为参数的能力 `remote` 或 `cluster table function` [\#2708](https://github.com/ClickHouse/ClickHouse/pull/2708). - 支持 `HTTP Basic` 复制协议中的身份验证 [\#2727](https://github.com/ClickHouse/ClickHouse/pull/2727). - 该 `has` 函数现在允许搜索数组中的数值 `Enum` 值 [Maxim Khrisanfov](https://github.com/ClickHouse/ClickHouse/pull/2699). - 支持添加任意消息分隔符从读取时 `Kafka` [阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2701). #### 改进: {#improvements-8} - 该 `ALTER TABLE t DELETE WHERE` 查询不会重写未受WHERE条件影响的数据部分 [\#2694](https://github.com/ClickHouse/ClickHouse/pull/2694). - 该 `use_minimalistic_checksums_in_zookeeper` 备选案文 `ReplicatedMergeTree` 默认情况下启用表。 此设置在版本1.1.54378,2018-04-16中添加。 不能再安装超过1.1.54378的版本。 - 支持运行 `KILL` 和 `OPTIMIZE` 指定的查询 `ON CLUSTER` [张冬](https://github.com/ClickHouse/ClickHouse/pull/2689). #### 错误修复: {#bug-fixes-16} - 修正了错误 `Column ... is not under an aggregate function and not in GROUP BY` 用于具有IN表达式的聚合。 此错误出现在18.1.0版本。 ([bbdd780b](https://github.com/ClickHouse/ClickHouse/commit/bbdd780be0be06a0f336775941cdd536878dd2c2)) - 修正了一个错误 `windowFunnel aggregate function` [张冬](https://github.com/ClickHouse/ClickHouse/pull/2735). - 修正了一个错误 `anyHeavy` 聚合函数 ([a2101df2](https://github.com/ClickHouse/ClickHouse/commit/a2101df25a6a0fba99aa71f8793d762af2b801ee)) - 使用时固定服务器崩溃 `countArray()` 聚合函数。 #### 向后不兼容的更改: {#backward-incompatible-changes-5} - 参数 `Kafka` 发动机从改变 `Kafka(kafka_broker_list, kafka_topic_list, kafka_group_name, kafka_format[, kafka_schema, kafka_num_consumers])` 到 `Kafka(kafka_broker_list, kafka_topic_list, kafka_group_name, kafka_format[, kafka_row_delimiter, kafka_schema, kafka_num_consumers])`. 如果你的表使用 `kafka_schema` 或 `kafka_num_consumers` 参数,你必须手动编辑元数据文件 `path/metadata/database/table.sql` 并添加 `kafka_row_delimiter` 参数 `''` 价值。 ## ClickHouse释放18.1 {#clickhouse-release-18-1} ### 碌莽禄,拢,010-68520682\ {#clickhouse-release-18-1-0-2018-07-23} #### 新功能: {#new-features-9} - 支持 `ALTER TABLE t DELETE WHERE` 非复制MergeTree表的查询 ([\#2634](https://github.com/ClickHouse/ClickHouse/pull/2634)). - 支持任意类型的 `uniq*` 聚合函数族 ([\#2010](https://github.com/ClickHouse/ClickHouse/issues/2010)). - 支持比较运算符中的任意类型 ([\#2026](https://github.com/ClickHouse/ClickHouse/issues/2026)). - 该 `users.xml` 文件允许设置子网掩码的格式 `10.0.0.1/255.255.255.0`. 这对于在中间使用零的IPv6网络使用掩码是必要的 ([\#2637](https://github.com/ClickHouse/ClickHouse/pull/2637)). - 添加了 `arrayDistinct` 功能 ([\#2670](https://github.com/ClickHouse/ClickHouse/pull/2670)). - SummingMergeTree引擎现在可以使用AggregateFunction类型列 ([康斯坦丁\*潘](https://github.com/ClickHouse/ClickHouse/pull/2566)). #### 改进: {#improvements-9} - 更改了发布版本的编号方案。 现在第一部分包含发布年份(公元,莫斯科时区,减去2000),第二部分包含主要更改的数量(大多数版本的增加),第三部分是补丁版本。 除非在更新日志中另有说明,否则版本仍然向后兼容。 - 更快地将浮点数转换为字符串 ([阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2664)). - 如果在插入过程中由于解析错误而跳过某些行(这可能与 `input_allow_errors_num` 和 `input_allow_errors_ratio` 启用设置),跳过的行数现在写入服务器日志 ([列奥纳多\*切奇](https://github.com/ClickHouse/ClickHouse/pull/2669)). #### 错误修复: {#bug-fixes-17} - 修复了临时表的截断命令 ([阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2624)). - 修复了读取响应时出现网络错误时ZooKeeper客户端库中罕见的死锁 ([c315200](https://github.com/ClickHouse/ClickHouse/commit/c315200e64b87e44bdf740707fc857d1fdf7e947)). - 修复了转换为可空类型期间的错误 ([\#1322](https://github.com/ClickHouse/ClickHouse/issues/1322)). - 修正了不正确的结果 `maxIntersection()` 函数时间间隔的边界重合 ([Michael Furmur](https://github.com/ClickHouse/ClickHouse/pull/2657)). - 修复了函数参数中OR表达式链的不正确转换 ([晨兴-xc](https://github.com/ClickHouse/ClickHouse/pull/2663)). - 修复了包含 `IN (subquery)` 另一个子查询中的表达式 ([\#2571](https://github.com/ClickHouse/ClickHouse/issues/2571)). - 修复了分布式查询中使用不同版本的服务器之间的不兼容性 `CAST` 不是大写字母的函数 ([fe8c4d6](https://github.com/ClickHouse/ClickHouse/commit/fe8c4d64e434cacd4ceef34faa9005129f2190a5)). - 添加了对外部数据库管理系统查询的缺少标识符引用 ([\#2635](https://github.com/ClickHouse/ClickHouse/issues/2635)). #### 向后不兼容的更改: {#backward-incompatible-changes-6} - 将包含数字零的字符串转换为DateTime不起作用。 示例: `SELECT toDateTime('0')`. 这也是原因 `DateTime DEFAULT '0'` 在表中不起作用,以及 `0` 在字典里 解决方案:替换 `0` 与 `0000-00-00 00:00:00`. ## ClickHouse释放1.1 {#clickhouse-release-1-1} ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-1-1-54394-2018-07-12} #### 新功能: {#new-features-10} - 添加了 `histogram` 聚合函数 ([米哈伊尔\*苏林](https://github.com/ClickHouse/ClickHouse/pull/2521)). - 现在 `OPTIMIZE TABLE ... FINAL` 可以在不指定分区的情况下使用 `ReplicatedMergeTree` ([阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2600)). #### 错误修复: {#bug-fixes-18} - 修复了在发送和下载复制数据时读取和写入套接字超时非常小的问题(一秒钟),这使得在网络或磁盘上存在负载时无法下载更大的部分(导致周期性尝试下载部分)。 此错误发生在版本1.1.54388。 - 修复了在ZooKeeper中使用chroot时在表中插入重复数据块的问题。 - 该 `has` 函数现在可以正常工作用于具有可为空元素的数组 ([\#2115](https://github.com/ClickHouse/ClickHouse/issues/2115)). - 该 `system.tables` 在分布式查询中使用表现在可以正常工作。 该 `metadata_modification_time` 和 `engine_full` 列现在是非虚拟的。 修复了仅从表中查询这些列时发生的错误。 - 固定如何空 `TinyLog` 表插入一个空数据块后工作 ([\#2563](https://github.com/ClickHouse/ClickHouse/issues/2563)). - 该 `system.zookeeper` 如果ZooKeeper中节点的值为NULL,表就可以工作。 ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-1-1-54390-2018-07-06} #### 新功能: {#new-features-11} - 查询可以在发送 `multipart/form-data` 格式(在 `query` 字段),如果外部数据也被发送用于查询处理,这是有用的 ([Olga Hvostikova](https://github.com/ClickHouse/ClickHouse/pull/2490)). - 增加了在读取CSV格式数据时启用或禁用处理单引号或双引号的功能。 您可以在 `format_csv_allow_single_quotes` 和 `format_csv_allow_double_quotes` 设置 ([阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2574)). - 现在 `OPTIMIZE TABLE ... FINAL` 可以在不指定非复制变体的分区的情况下使用 `MergeTree` ([阿莫斯鸟](https://github.com/ClickHouse/ClickHouse/pull/2599)). #### 改进: {#improvements-10} - 在可以使用表索引时使用IN运算符提高性能、减少内存消耗并正确跟踪内存消耗 ([\#2584](https://github.com/ClickHouse/ClickHouse/pull/2584)). - 删除添加数据部分时校验和的冗余检查。 当存在大量副本时,这一点很重要,因为在这些情况下,检查的总数等于N^2。 - 增加了对 `Array(Tuple(...))` 对于参数 `arrayEnumerateUniq` 功能 ([\#2573](https://github.com/ClickHouse/ClickHouse/pull/2573)). - 已添加 `Nullable` 支持 `runningDifference` 功能 ([\#2594](https://github.com/ClickHouse/ClickHouse/pull/2594)). - 当存在大量表达式时,改进了查询分析性能 ([\#2572](https://github.com/ClickHouse/ClickHouse/pull/2572)). - 更快地选择用于合并的数据部分 `ReplicatedMergeTree` 桌子 更快地恢复ZooKeeper会话 ([\#2597](https://github.com/ClickHouse/ClickHouse/pull/2597)). - 该 `format_version.txt` 文件 `MergeTree` 如果表丢失,则重新创建表,如果在没有文件的情况下复制目录结构后启动ClickHouse,这是有意义的 ([Ciprian Hacman](https://github.com/ClickHouse/ClickHouse/pull/2593)). #### 错误修复: {#bug-fixes-19} - 修复了与ZooKeeper一起工作时的错误,这可能会导致无法在重新启动服务器之前恢复表的会话和只读状态。 - 修复了与ZooKeeper一起工作时的错误,如果会话中断,可能会导致旧节点不被删除。 - 修正了一个错误 `quantileTDigest` Float参数的函数(此错误在版本1.1.54388中引入) ([米哈伊尔\*苏林](https://github.com/ClickHouse/ClickHouse/pull/2553)). - 修复了MergeTree表索引中的一个错误,如果主键列位于函数内部,用于在相同大小的有符号和无符号整数之间转换类型 ([\#2603](https://github.com/ClickHouse/ClickHouse/pull/2603)). - 如果修复段错误 `macros` 使用,但它们不在配置文件中 ([\#2570](https://github.com/ClickHouse/ClickHouse/pull/2570)). - 修复了重新连接客户端时切换到默认数据库的问题 ([\#2583](https://github.com/ClickHouse/ClickHouse/pull/2583)). - 修正了当发生的错误 `use_index_for_in_with_subqueries` 设置被禁用。 #### 安全修复: {#security-fix-1} - 当连接到MySQL时,发送文件不再可能 (`LOAD DATA LOCAL INFILE`). ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-1-1-54388-2018-06-28} #### 新功能: {#new-features-12} - 支持 `ALTER TABLE t DELETE WHERE` 查询复制的表。 添加了 `system.mutations` 表来跟踪这种类型的查询的进度。 - 支持 `ALTER TABLE t [REPLACE|ATTACH] PARTITION` 查询\*MergeTree表。 - 支持 `TRUNCATE TABLE` 查询 ([张冬](https://github.com/ClickHouse/ClickHouse/pull/2260)) - 几个新的 `SYSTEM` 复制表的查询 (`RESTART REPLICAS`, `SYNC REPLICA`, `[STOP|START] [MERGES|FETCHES|SENDS REPLICATED|REPLICATION QUEUES]`). - 增加了使用MySQL引擎和相应的表函数写入表的能力 ([三弟](https://github.com/ClickHouse/ClickHouse/pull/2294)). - 添加了 `url()` 表功能和 `URL` 表引擎 ([Alexander Sapin](https://github.com/ClickHouse/ClickHouse/pull/2501)). - 添加了 `windowFunnel` 聚合函数 ([三弟](https://github.com/ClickHouse/ClickHouse/pull/2352)). - 新 `startsWith` 和 `endsWith` 字符串的函数 ([Vadim Plakhtinsky](https://github.com/ClickHouse/ClickHouse/pull/2429)). - 该 `numbers()` 表函数现在允许您指定偏移量 ([张冬](https://github.com/ClickHouse/ClickHouse/pull/2535)). - 密码 `clickhouse-client` 可以交互输入。 - 服务器日志现在可以发送到系统日志 ([Alexander Krasheninnikov](https://github.com/ClickHouse/ClickHouse/pull/2459)). - 支持使用共享库源登录字典 ([Alexander Sapin](https://github.com/ClickHouse/ClickHouse/pull/2472)). - 支持自定义CSV分隔符 ([伊万\*朱可夫](https://github.com/ClickHouse/ClickHouse/pull/2263)) - 添加了 `date_time_input_format` 设置。 如果将此设置切换到 `'best_effort'`,日期时间值将以各种格式读取。 - 添加了 `clickhouse-obfuscator` 用于数据混ob的实用程序。 用法示例:发布性能测试中使用的数据。 #### 实验特点: {#experimental-features-2} - 增加了计算能力 `and` 只有在需要的地方才能参数 ([阿纳斯塔西娅Tsarkova](https://github.com/ClickHouse/ClickHouse/pull/2272)) - Jit编译为本机代码现在可用于某些表达式 ([pyos](https://github.com/ClickHouse/ClickHouse/pull/2277)). #### 错误修复: {#bug-fixes-20} - 对于具有以下内容的查询,不再显示重复项 `DISTINCT` 和 `ORDER BY`. - 查询与 `ARRAY JOIN` 和 `arrayFilter` 不再返回不正确的结果。 - 修复了从嵌套结构读取数组列时的错误 ([\#2066](https://github.com/ClickHouse/ClickHouse/issues/2066)). - 修复了使用HAVING子句分析查询时出现的错误,如 `HAVING tuple IN (...)`. - 修复了使用递归别名分析查询时出现的错误。 - 修复了从REPLACINGMERGETREE读取过滤所有行的PREWHERE中的条件时出现的错误 ([\#2525](https://github.com/ClickHouse/ClickHouse/issues/2525)). - 在HTTP界面中使用会话时,未应用用户配置文件设置。 - 修复了如何从clickhouse-local中的命令行参数应用设置。 - ZooKeeper客户端库现在使用从服务器接收的会话超时。 - 修正了ZooKeeper客户端库中的一个错误,当客户端等待服务器响应时间超过超时时间。 - 修剪部分的查询与分区键列的条件 ([\#2342](https://github.com/ClickHouse/ClickHouse/issues/2342)). - 合并后,现在可以 `CLEAR COLUMN IN PARTITION` ([\#2315](https://github.com/ClickHouse/ClickHouse/issues/2315)). - ODBC表函数中的类型映射已修复 ([三弟](https://github.com/ClickHouse/ClickHouse/pull/2268)). - 类型比较已修复 `DateTime` 有和没有时区 ([Alexander Bocharov](https://github.com/ClickHouse/ClickHouse/pull/2400)). - 修正了语法解析和格式化的 `CAST` 接线员 - 固定插入到分布式表引擎的实例化视图中 ([Babacar Diassé](https://github.com/ClickHouse/ClickHouse/pull/2411)). - 修正了从写入数据时的争用条件 `Kafka` 引擎到实例化视图 ([刘杨宽](https://github.com/ClickHouse/ClickHouse/pull/2448)). - 固定ssrf中的remote()表函数。 - 固定退出行为 `clickhouse-client` 在多行模式下 ([\#2510](https://github.com/ClickHouse/ClickHouse/issues/2510)). #### 改进: {#improvements-11} - 复制表中的后台任务现在在线程池中执行,而不是在单独的线程中执行 ([Silviu Caragea](https://github.com/ClickHouse/ClickHouse/pull/1722)). - 改进的LZ4压缩性能。 - 更快地分析具有大量联接和子查询的查询。 - 当有太多的网络错误时,DNS缓存现在会自动更新。 - 如果由于其中一个实例化视图包含太多部件而无法插入表格插入,则不再发生表格插入。 - 纠正了事件计数器中的差异 `Query`, `SelectQuery`,和 `InsertQuery`. - 像这样的表达式 `tuple IN (SELECT tuple)` 如果元组类型匹配,则允许。 - 即使您没有配置ZooKeeper,具有复制表的服务器也可以启动。 - 在计算可用CPU内核数时,现在考虑了cgroups的限制 ([Atri Sharma](https://github.com/ClickHouse/ClickHouse/pull/2325)). - 在systemd配置文件中添加了配置目录的chown ([米哈伊尔Shiryaev](https://github.com/ClickHouse/ClickHouse/pull/2421)). #### 构建更改: {#build-changes-4} - Gcc8编译器可用于构建。 - 增加了从子模块构建llvm的能力。 - Librdkafka库的版本已更新为v0.11.4。 - 增加了使用系统libcpuid库的能力。 库版本已更新为0.4.0。 - 使用vectorclass库修复了构建 ([Babacar Diassé](https://github.com/ClickHouse/ClickHouse/pull/2274)). - Cmake现在默认情况下为ninja生成文件(如使用 `-G Ninja`). - 添加了使用libtinfo库而不是libtermcap的功能 ([Georgy Kondratiev](https://github.com/ClickHouse/ClickHouse/pull/2519)). - 修复了Fedora Rawhide中的头文件冲突 ([\#2520](https://github.com/ClickHouse/ClickHouse/issues/2520)). #### 向后不兼容的更改: {#backward-incompatible-changes-7} - 删除逃逸 `Vertical` 和 `Pretty*` 格式和删除 `VerticalRaw` 格式。 - 如果在分布式查询中同时使用版本1.1.54388(或更高版本)的服务器和版本较旧的服务器,并且查询具有 `cast(x, 'Type')` 表达式没有 `AS` 关键字并没有这个词 `cast` 以大写形式,将引发一个异常,并显示如下消息 `Not found column cast(0, 'UInt8') in block`. 解决方案:更新整个群集上的服务器。 ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682 {#clickhouse-release-1-1-54385-2018-06-01} #### 错误修复: {#bug-fixes-21} - 修复了在某些情况下导致ZooKeeper操作阻塞的错误。 ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-1-1-54383-2018-05-22} #### 错误修复: {#bug-fixes-22} - 修正了如果一个表有许多副本,复制队列的放缓。 ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-1-1-54381-2018-05-14} #### 错误修复: {#bug-fixes-23} - 修复了ClickHouse与ZooKeeper服务器断开连接时,ZooKeeper中的节点泄漏问题。 ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-1-1-54380-2018-04-21} #### 新功能: {#new-features-13} - 增加了表功能 `file(path, format, structure)`. 从读取字节的示例 `/dev/urandom`: ``` ln -s /dev/urandom /var/lib/clickhouse/user_files/random``clickhouse-client -q "SELECT * FROM file('random', 'RowBinary', 'd UInt8') LIMIT 10" ```. #### 改进: {#improvements-12} - 子查询可以包装在 `()` 括号以增强查询的可读性。 例如: `(SELECT 1) UNION ALL (SELECT 1)`. - 简单 `SELECT` 从查询 `system.processes` 表不包括在 `max_concurrent_queries` 限制。 #### 错误修复: {#bug-fixes-24} - 修正了不正确的行为 `IN` 从中选择时的运算符 `MATERIALIZED VIEW`. - 修正了不正确的过滤分区索引的表达式,如 `partition_key_column IN (...)`. - 固定无法执行 `OPTIMIZE` 在以下情况下对非领导副本进行查询 `REANAME` 在桌子上进行。 - 修复了执行时的授权错误 `OPTIMIZE` 或 `ALTER` 对非领导副本的查询。 - 固定的冻结 `KILL QUERY`. - 修复了ZooKeeper客户端库中的错误,这导致了手表丢失,分布式的DDL队列冻结,并在复制队列中的速度变慢,如果非空 `chroot` 前缀在ZooKeeper配置中使用。 #### 向后不兼容的更改: {#backward-incompatible-changes-8} - 删除对如下表达式的支持 `(a, b) IN (SELECT (a, b))` (可以使用等效表达式 `(a, b) IN (SELECT a, b)`). 在以前的版本中,这些表达式导致未确定 `WHERE` 过滤或导致的错误。 ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-1-1-54378-2018-04-16} #### 新功能: {#new-features-14} - 可以在不重新启动服务器的情况下更改日志记录级别。 - 添加了 `SHOW CREATE DATABASE` 查询。 - 该 `query_id` 可以传递给 `clickhouse-client` (肘部空间)。 - 新设置: `max_network_bandwidth_for_all_users`. - 增加了对 `ALTER TABLE ... PARTITION ...` 为 `MATERIALIZED VIEW`. - 在系统表中以未压缩形式添加有关数据部件大小的信息。 - 对分布式表的服务器到服务器加密支持 (`1` 在副本配置中 ``). - 表级别的配置 `ReplicatedMergeTree` 家庭,以最大限度地减少存储在Zookeeper的数据量: : `use_minimalistic_checksums_in_zookeeper = 1` - 的配置 `clickhouse-client` 提示。 默认情况下,服务器名称现在输出到提示符。 可以更改服务器的显示名称。 它也发送了 `X-ClickHouse-Display-Name` HTTP头(基里尔Shvakov)。 - 多个逗号分隔 `topics` 可为指定 `Kafka` 发动机(托比亚斯\*亚当森) - 当查询停止时 `KILL QUERY` 或 `replace_running_query`,客户端接收 `Query was canceled` 异常而不是不完整的结果。 #### 改进: {#improvements-13} - `ALTER TABLE ... DROP/DETACH PARTITION` 查询在复制队列的前面运行。 - `SELECT ... FINAL` 和 `OPTIMIZE ... FINAL` 即使表具有单个数据部分,也可以使用。 - A `query_log` 如果手动删除(基里尔Shvakov),则会在飞行中重新创建表格。 - 该 `lengthUTF8` 功能运行速度更快(zhang2014)。 - 在同步刀片的性能提高 `Distributed` 表 (`insert_distributed_sync = 1`)当有一个非常大的数量的碎片。 - 服务器接受 `send_timeout` 和 `receive_timeout` 从客户端设置并在连接到客户端时应用它们(它们以相反的顺序应用:服务器套接字的 `send_timeout` 被设置为 `receive_timeout` 值,反之亦然)。 - 更强大的崩溃恢复异步插入 `Distributed` 桌子 - 的返回类型 `countEqual` 功能从更改 `UInt32` 到 `UInt64` (谢磊). #### 错误修复: {#bug-fixes-25} - 修正了一个错误 `IN` 当表达式的左侧是 `Nullable`. - 使用元组时,现在返回正确的结果 `IN` 当某些元组组件位于表索引中时。 - 该 `max_execution_time` limit现在可以正常使用分布式查询。 - 在计算复合列的大小时修正错误 `system.columns` 桌子 - 修复了创建临时表时的错误 `CREATE TEMPORARY TABLE IF NOT EXISTS.` - 修正错误 `StorageKafka` (\#\#2075) - 修复了某些聚合函数的无效参数导致的服务器崩溃。 - 修正了防止错误 `DETACH DATABASE` 查询停止后台任务 `ReplicatedMergeTree` 桌子 - `Too many parts` 插入到聚合实例化视图时,状态不太可能发生(\#\#2084)。 - 如果替换必须在同一级别上跟随另一个替换,则更正了配置中替换的递归处理。 - 更正了创建元数据文件时的语法 `VIEW` 这使用一个查询 `UNION ALL`. - `SummingMergeTree` 现在可以正常使用复合键对嵌套数据结构进行求和。 - 修复了在选择领导者时出现竞争条件的可能性 `ReplicatedMergeTree` 桌子 #### 构建更改: {#build-changes-5} - 构建支持 `ninja` 而不是 `make` 和用途 `ninja` 默认情况下,构建版本。 - 重命名的软件包: `clickhouse-server-base` 在 `clickhouse-common-static`; `clickhouse-server-common` 在 `clickhouse-server`; `clickhouse-common-dbg` 在 `clickhouse-common-static-dbg`. 要安装,请使用 `clickhouse-server clickhouse-client`. 具有旧名称的软件包仍将加载到存储库中,以便向后兼容。 #### 向后不兼容的更改: {#backward-incompatible-changes-9} - 如果在左侧指定了数组,则删除了IN表达式的特殊解释。 以前,表达式 `arr IN (set)` 被解释为 “at least one `arr` element belongs to the `set`”. 要在新版本中获得相同的行为,请编写 `arrayExists(x -> x IN (set), arr)`. - 禁用套接字选项的不正确使用 `SO_REUSEPORT`,默认情况下,Poco库中未正确启用。 请注意,在Linux上,不再有任何理由同时指定地址 `::` 和 `0.0.0.0` for listen – use just `::`,它允许监听通过IPv4和IPv6的连接(使用默认的内核配置设置)。 您还可以通过指定以下命令恢复到以前版本中的行为 `1` 在配置。 ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-1-1-54370-2018-03-16} #### 新功能: {#new-features-15} - 添加了 `system.macros` 更改配置文件时,宏的表和自动更新。 - 添加了 `SYSTEM RELOAD CONFIG` 查询。 - 添加了 `maxIntersections(left_col, right_col)` 聚合函数,它返回同时相交间隔的最大数目 `[left; right]`. 该 `maxIntersectionsPosition(left, right)` 函数返回的开始 “maximum” 间隔。 ([Michael Furmur](https://github.com/ClickHouse/ClickHouse/pull/2012)). #### 改进: {#improvements-14} - 当在一个插入数据 `Replicated` 表,较少的请求是由 `ZooKeeper` (和大多数用户级错误已经从消失 `ZooKeeper` 日志)。 - 添加了为数据集创建别名的功能。 示例: `WITH (1, 2, 3) AS set SELECT number IN set FROM system.numbers LIMIT 10`. #### 错误修复: {#bug-fixes-26} - 修正了 `Illegal PREWHERE` 从合并表读取时出错 `Distributed`桌子 - 添加了修复,允许您在仅支持IPv4的Docker容器中启动clickhouse-server。 - 修正了从系统读取时的争用条件 `system.parts_columns tables.` - 同步插入到一个过程中删除双缓冲 `Distributed` 表,这可能导致连接超时。 - 修正了一个错误,导致过长的等待不可用的副本开始之前 `SELECT` 查询。 - 在固定不正确的日期 `system.parts` 桌子 - 修正了一个错误,使得它无法在插入数据 `Replicated` 表if `chroot` 是非空的配置 `ZooKeeper` 集群。 - 修正了一个空的垂直合并算法 `ORDER BY` 桌子 - 恢复了在对远程表的查询中使用字典的能力,即使这些字典不存在于请求者服务器上。 此功能在版本1.1.54362中丢失。 - 恢复查询的行为,如 `SELECT * FROM remote('server2', default.table) WHERE col IN (SELECT col2 FROM default.table)` 当右侧的 `IN` 应该使用远程 `default.table` 而不是当地的 此行为在版本1.1.54358中被破坏。 - 删除了无关的错误级别日志记录 `Not found column ... in block`. ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682\ {#clickhouse-release-1-1-54362-2018-03-11} #### 新功能: {#new-features-16} - 聚合不 `GROUP BY` 对于一个空集(如 `SELECT count(*) FROM table WHERE 0`)现在返回一个结果,其中一行为聚合函数带有null值,符合SQL标准。 要恢复旧行为(返回一个空结果),请设置 `empty_result_for_aggregation_by_empty_set` 到1。 - 增加了类型转换 `UNION ALL`. 不同的别名被允许 `SELECT` 在职位 `UNION ALL`,符合SQL标准。 - 任意表达式支持 `LIMIT BY` 条款 以前,只能使用以下内容产生的列 `SELECT`. - 的索引 `MergeTree` 表用于以下情况 `IN` 应用于来自主键列的表达式元组。 示例: `WHERE (UserID, EventDate) IN ((123, '2000-01-01'), ...)` (Anastasiya Tsarkova) - 添加了 `clickhouse-copier` 用于在群集之间复制和重新分布数据的工具(测试版)。 - 添加了一致的哈希函数: `yandexConsistentHash`, `jumpConsistentHash`, `sumburConsistentHash`. 它们可以用作分片密钥,以减少后续重新分片期间的网络流量。 - 新增功能: `arrayAny`, `arrayAll`, `hasAny`, `hasAll`, `arrayIntersect`, `arrayResize`. - 添加了 `arrayCumSum` 功能(哈维桑塔纳)。 - 添加了 `parseDateTimeBestEffort`, `parseDateTimeBestEffortOrZero`,和 `parseDateTimeBestEffortOrNull` 用于从包含各种可能格式的文本的字符串中读取DateTime的函数。 - 数据可以在更新期间从外部字典部分重新加载(加载只是记录,其中指定字段的值大于先前的下载)(Arsen Hakobyan)。 - 添加了 `cluster` 表功能。 示例: `cluster(cluster_name, db, table)`. 该 `remote` 表函数可以接受集群名称作为第一个参数,如果它被指定为标识符。 - 该 `remote` 和 `cluster` 表函数可用于 `INSERT` 查询。 - 添加了 `create_table_query` 和 `engine_full` 虚拟列到 `system.tables`桌子 该 `metadata_modification_time` 列是虚拟的。 - 添加了 `data_path` 和 `metadata_path` 列 `system.tables`和`system.databases` 表,并添加了 `path` 列到 `system.parts` 和 `system.parts_columns` 桌子 - 添加了关于合并的其他信息 `system.part_log` 桌子 - 一个任意的分区键可以用于 `system.query_log` 表(基里尔Shvakov)。 - 该 `SHOW TABLES` 查询现在还显示临时表。 添加临时表和 `is_temporary` 列到 `system.tables` (张2014)。 - 已添加 `DROP TEMPORARY TABLE` 和 `EXISTS TEMPORARY TABLE` 查询(zhang2014)。 - 支持 `SHOW CREATE TABLE` 对于临时表(zhang2014)。 - 添加了 `system_profile` 内部进程使用的设置的配置参数。 - 支持加载 `object_id` 作为一个属性 `MongoDB` 字典(帕维尔\*利特维年科)。 - 阅读 `null` 作为加载数据的外部字典与时的默认值 `MongoDB` 资料来源(帕维尔\*利特维年科)。 - 阅读 `DateTime` 在值 `Values` 从不带单引号的Unix时间戳格式化。 - 故障转移支持 `remote` 当某些副本缺少请求的表时,表函数。 - 运行时可以在命令行中复盖配置设置 `clickhouse-server`. 示例: `clickhouse-server -- --logger.level=information`. - 实施了 `empty` 从功能 `FixedString` 参数:如果字符串完全由空字节组成,则函数返回1(zhang2014)。 - 添加了 `listen_try`如果某些地址无法侦听,则在不退出的情况下侦听至少一个侦听地址的配置参数(对于禁用IPv4或IPv6支持的系统非常有用)。 - 添加了 `VersionedCollapsingMergeTree` 表引擎。 - 对于行和任意数字类型的支持 `library` 字典源. - `MergeTree` 表可以在没有主键的情况下使用(您需要指定 `ORDER BY tuple()`). - A `Nullable` 类型可以是 `CAST` 到非-`Nullable` 如果参数不是,则键入 `NULL`. - `RENAME TABLE` 可以进行 `VIEW`. - 添加了 `throwIf` 功能。 - 添加了 `odbc_default_field_size` 选项,它允许您扩展从ODBC源加载的值的最大大小(默认情况下为1024)。 - 该 `system.processes` 表和 `SHOW PROCESSLIST` 现在有 `is_cancelled` 和 `peak_memory_usage` 列。 #### 改进: {#improvements-15} - 结果的限制和配额不再应用于以下内容的中间数据 `INSERT SELECT` 查询或 `SELECT` 子查询。 - 更少的虚假触发 `force_restore_data` 当检查的状态 `Replicated` 服务器启动时的表。 - 添加了 `allow_distributed_ddl` 选项。 - 表达式中不允许使用非确定性函数 `MergeTree` 表键。 - 从替换文件 `config.d` 目录按字母顺序加载。 - 的改进的性能 `arrayElement` 函数在常量多维数组的情况下,以空数组作为元素之一。 示例: `[[1], []][x]`. - 当使用具有非常大的替换(例如,非常大的IP网络列表)的配置文件时,服务器现在启动速度更快。 - 运行查询时,表值函数运行一次。 前情提要, `remote` 和 `mysql` 表值函数执行两次相同的查询以从远程服务器检索表结构。 - 该 `MkDocs` 使用文档生成器。 - 当您尝试删除表列时 `DEFAULT`/`MATERIALIZED` 取决于其他列的表达式,会抛出异常(zhang2014)。 - 增加了解析文本格式的空行作为数字0的能力 `Float` 数据类型。 此功能以前可用,但在版本1.1.54342中丢失。 - `Enum` 值可以用于 `min`, `max`, `sum` 和其他一些功能。 在这些情况下,它使用相应的数值。 此功能以前可用,但在版本1.1.54337中丢失。 - 已添加 `max_expanded_ast_elements` 递归扩展别名后限制AST的大小。 #### 错误修复: {#bug-fixes-27} - 修复了错误地从子查询中删除不必要的列或未从包含以下内容的子查询中删除不必要列的情况 `UNION ALL`. - 修正了合并的错误 `ReplacingMergeTree` 桌子 - 在固定的同步插入 `Distributed` 表 (`insert_distributed_sync = 1`). - 固定段错误的某些用途 `FULL` 和 `RIGHT JOIN` 在子查询中使用重复的列。 - 固定段错误的某些用途 `replace_running_query` 和 `KILL QUERY`. - 固定的顺序 `source` 和 `last_exception` 在列 `system.dictionaries` 桌子 - 修正了一个错误,当 `DROP DATABASE` 查询没有删除带有元数据的文件。 - 修正了 `DROP DATABASE` 查询为 `Dictionary` 数据库。 - 固定的低精度 `uniqHLL12` 和 `uniqCombined` 功能基数大于100万个项目(Alex克斯Bocharov)。 - 修复了在必要时计算隐式默认值,以便同时计算默认显式表达式 `INSERT` 查询(zhang2014)。 - 修正了一个罕见的情况下,当一个查询 `MergeTree` 表不能完成(陈星-xc)。 - 修正了运行时发生的崩溃 `CHECK` 查询为 `Distributed` 如果所有分片都是本地的(chenxing.xc)。 - 修复了使用正则表达式的函数的轻微性能回归。 - 修复了从复杂表达式创建多维数组时的性能回归。 - 修正了一个错误,可能会导致一个额外的 `FORMAT` 部分出现在一个 `.sql` 具有元数据的文件。 - 修复了导致 `max_table_size_to_drop` 尝试删除时应用的限制 `MATERIALIZED VIEW` 查看显式指定的表。 - 修复了与旧客户端的不兼容性(旧客户端有时会发送数据 `DateTime('timezone')` 类型,他们不明白)。 - 修复了阅读时的错误 `Nested` 使用以下方式添加的结构的列元素 `ALTER` 但是,这是空的旧分区,当这些列的条件移动到 `PREWHERE`. - 修正了通过虚拟过滤表时的错误 `_table` 查询中的列 `Merge` 桌子 - 修复了使用时的错误 `ALIAS` 列 `Distributed` 桌子 - 修正了一个错误,使得动态编译不可能从聚合函数的查询 `quantile` 家人 - 修复了查询执行管道中极少数情况下使用时发生的争用条件 `Merge` 具有大量表的表,并且当使用 `GLOBAL` 子查询。 - 修复了将不同大小的数组传递给 `arrayReduce` 使用来自多个参数的聚合函数时的函数。 - 禁止使用与查询 `UNION ALL` 在一个 `MATERIALIZED VIEW`. - 修正了初始化过程中的错误 `part_log` 服务器启动时的系统表(默认情况下, `part_log` 被禁用)。 #### 向后不兼容的更改: {#backward-incompatible-changes-10} - 删除了 `distributed_ddl_allow_replicated_alter` 选项。 默认情况下启用此行为。 - 删除了 `strict_insert_defaults` 设置。 如果您使用此功能,请写入 `clickhouse-feedback@yandex-team.com`. - 删除了 `UnsortedMergeTree` 引擎 ### 碌莽禄,拢,010-68520682\戮漏鹿芦,酶,虏卤赂拢,110102005602 {#clickhouse-release-1-1-54343-2018-02-05} - 在分布式DDL查询和分布式表的构造函数中添加了用于定义集群名称的宏支持: `CREATE TABLE distr ON CLUSTER '{cluster}' (...) ENGINE = Distributed('{cluster}', 'db', 'table')`. - 现在像查询 `SELECT ... FROM table WHERE expr IN (subquery)` 使用处理 `table` 指数。 - 在插入到复制表时改进了重复项的处理,因此它们不再减慢复制队列的执行速度。 ### 碌莽禄,拢,010-68520682\戮卤篓拢,010-68520682 {#clickhouse-release-1-1-54342-2018-01-22} 此版本包含以前版本1.1.54337的错误修复: - 修正了1.1.54337中的回归:如果默认用户具有只读访问权限,则服务器拒绝启动消息 `Cannot create database in readonly mode`. - 修正了1.1.54337中的回归:在具有systemd的系统上,无论配置如何,日志总是写入syslog;看门狗脚本仍然使用init。d。 - 修正了1.1.54337中的回归:Docker映像中错误的默认配置。 - 修正GraphiteMergeTree的非确定性行为(您可以在日志消息中看到它 `Data after merge is not byte-identical to the data on another replicas`). - 修复了优化查询到复制表后可能导致合并不一致的错误(您可能会在日志消息中看到它 `Part ... intersects the previous part`). - 当目标表中存在具体化列时,缓冲区表现在可以正常工作(by zhang2014)。 - 修复了实现NULL的错误。 ### 碌莽禄,拢,010-68520682\ {#clickhouse-release-1-1-54337-2018-01-18} #### 新功能: {#new-features-17} - 增加了对多维数组和元组存储的支持 (`Tuple` 表中的数据类型)。 - 支持表函数 `DESCRIBE` 和 `INSERT` 查询。 增加了对子查询的支持 `DESCRIBE`. 例: `DESC TABLE remote('host', default.hits)`; `DESC TABLE (SELECT 1)`; `INSERT INTO TABLE FUNCTION remote('host', default.hits)`. 支持 `INSERT INTO TABLE` 除了 `INSERT INTO`. - 改进了对时区的支持。 该 `DateTime` 数据类型可以使用用于以文本格式进行分析和格式化的时区进行注释。 示例: `DateTime('Europe/Moscow')`. 当在函数中指定时区时 `DateTime` 参数,返回类型将跟踪时区,并且值将按预期显示。 - 新增功能 `toTimeZone`, `timeDiff`, `toQuarter`, `toRelativeQuarterNum`. 该 `toRelativeHour`/`Minute`/`Second` 函数可以采用类型的值 `Date` 作为参数。 该 `now` 函数名称区分大小写。 - 添加了 `toStartOfFifteenMinutes` 功能(基里尔Shvakov)。 - 添加了 `clickhouse format` 用于格式化查询的工具。 - 添加了 `format_schema_path` configuration parameter (Marek Vavruşa). It is used for specifying a schema in `Cap'n Proto` 格式。 架构文件只能位于指定的目录中。 - 增加了对配置替换的支持 (`incl` 和 `conf.d`)外部字典和模型的配置(帕维尔\*亚库宁)。 - 添加了一列文档 `system.settings` 表(基里尔Shvakov)。 - 添加了 `system.parts_columns` 表中的每个数据部分的列大小信息 `MergeTree` 桌子 - 添加了 `system.models` 包含已加载信息的表 `CatBoost` 机器学习模型。 - 添加了 `mysql` 和 `odbc` 表函数和对应 `MySQL` 和 `ODBC` 用于访问远程数据库的表引擎。 此功能处于测试阶段。 - 增加了传递类型参数的可能性 `AggregateFunction` 为 `groupArray` 聚合函数(这样你就可以创建一些聚合函数的状态数组)。 - 删除了对聚合函数组合器的各种组合的限制。 例如,您可以使用 `avgForEachIf` 以及 `avgIfForEach` 聚合函数,它们具有不同的行为。 - 该 `-ForEach` 聚合函数combinator是针对多个参数的聚合函数的情况进行扩展的。 - 增加了对聚合函数的支持 `Nullable` 即使是函数返回非参数的情况-`Nullable` 结果(添加Silviu Caragea的贡献)。 示例: `groupArray`, `groupUniqArray`, `topK`. - 添加了 `max_client_network_bandwidth` 为 `clickhouse-client` (基里尔\*什瓦科夫)。 - 用户与 `readonly = 2` setting are allowed to work with TEMPORARY tables (CREATE, DROP, INSERT…) (Kirill Shvakov). - 增加了对使用多个消费者的支持 `Kafka` 引擎 扩展的配置选项 `Kafka` (Marek Vavruša). - 添加了 `intExp3` 和 `intExp4` 功能。 - 添加了 `sumKahan` 聚合函数。 - 添加了to\*Number\*OrNull函数,其中\*Number\*是数字类型。 - 增加了对 `WITH` a的子句 `INSERT SELECT` 查询(作者:zhang2014)。 - 添加设置: `http_connection_timeout`, `http_send_timeout`, `http_receive_timeout`. 特别是,这些设置用于下载用于复制的数据部分。 如果网络过载,更改这些设置可以更快地进行故障转移。 - 增加了对 `ALTER` 对于类型的表 `Null` (Anastasiya Tsarkova) - 该 `reinterpretAsString` 函数扩展为连续存储在内存中的所有数据类型。 - 添加了 `--silent` 选项的 `clickhouse-local` 工具 它禁止在stderr中打印查询执行信息。 - 增加了对读取类型值的支持 `Date` 从使用单个数字而不是两个数字(Amos Bird)指定月份和/或月份日的格式的文本。 #### 性能优化: {#performance-optimizations} - 改进聚合函数的性能 `min`, `max`, `any`, `anyLast`, `anyHeavy`, `argMin`, `argMax` 从字符串参数。 - 改进功能的性能 `isInfinite`, `isFinite`, `isNaN`, `roundToExp2`. - 改进了解析和格式化的性能 `Date` 和 `DateTime` 以文本格式键入值。 - 改进了解析浮点数的性能和精度。 - 降低内存使用量 `JOIN` 在左部分和右部分具有不包含在相同名称的列的情况下 `USING` . - 改进聚合函数的性能 `varSamp`, `varPop`, `stddevSamp`, `stddevPop`, `covarSamp`, `covarPop`, `corr` 通过降低计算稳定性。 旧函数的名称下可用 `varSampStable`, `varPopStable`, `stddevSampStable`, `stddevPopStable`, `covarSampStable`, `covarPopStable`, `corrStable`. #### 错误修复: {#bug-fixes-28} - 固定数据重复数据删除运行后 `DROP` 或 `DETACH PARTITION` 查询。 在以前的版本中,删除分区并再次插入相同的数据不起作用,因为插入的块被认为是重复的。 - 修复了可能导致错误解释的错误 `WHERE` 条款 `CREATE MATERIALIZED VIEW` 查询与 `POPULATE` . - 修正了在使用 `root_path` 在参数 `zookeeper_servers` 配置。 - 通过固定意外的结果 `Date` 论据 `toStartOfDay` . - 修正了 `addMonths` 和 `subtractMonths` 函数和算术 `INTERVAL n MONTH` 在情况下,当结果有前一年。 - 增加了缺少的支持 `UUID` 数据类型 `DISTINCT` , `JOIN` ,和 `uniq` 聚合函数和外部字典(叶夫根尼伊万诺夫)。 支持 `UUID` 仍然是不完整的。 - 固定 `SummingMergeTree` 行为的情况下,当行相加为零。 - 各种修复 `Kafka` engine (Marek Vavruša). - 修正了不正确的行为 `Join` 表引擎(阿莫斯鸟)。 - 修复了FreeBSD和OS X下不正确的分配器行为。 - 该 `extractAll` 函数现在支持空匹配。 - 修复了阻止使用的错误 `libressl` 而不是 `openssl` . - 修正了 `CREATE TABLE AS SELECT` 从临时表查询。 - 修复了更新复制队列的非原子性。 这可能导致副本在服务器重新启动之前不同步。 - 修正了可能的溢出 `gcd` , `lcm` 和 `modulo` (`%` 运营商)(Maks Skorokhod)。 - `-preprocessed` 现在更改后创建文件 `umask` (`umask` 可以在配置中更改)。 - 修正了部分的背景检查中的错误 (`MergeTreePartChecker` )使用自定义分区密钥时。 - 元组的固定解析(的值 `Tuple` 数据类型)的文本格式。 - 改进了有关传递到的不兼容类型的错误消息 `multiIf` , `array` 和其他一些功能。 - 重新设计的支持 `Nullable` 类型。 修复了可能导致服务器崩溃的错误。 修正了与几乎所有其他错误 `NULL` 支持:insert SELECT中的类型转换不正确,HAVING和PREWHERE中对Nullable的支持不足, `join_use_nulls` 模式,可以为Null的类型作为参数 `OR` 操作员等。 - 修正了与数据类型的内部语义相关的各种错误。 例子:不必要的总结 `Enum` 输入字段 `SummingMergeTree` ;对齐 `Enum` 类型 `Pretty` 格式等。 - 对复合列的允许组合进行更严格的检查。 - 修复了指定一个非常大的参数时的溢出 `FixedString` 数据类型。 - 修正了一个错误 `topK` 一般情况下的聚合函数。 - 在聚合函数的n元变体的参数中添加了对数组大小相等性的缺失检查。 `-Array` combinator - 修正了一个错误 `--pager` 为 `clickhouse-client` (作者:ks1322)。 - 固定的精度 `exp10` 功能。 - 固定的行为 `visitParamExtract` 功能更好地符合文档。 - 修复了指定不正确的数据类型时的崩溃。 - 固定的行为 `DISTINCT` 在所有列都是常量的情况下。 - 在使用的情况下固定的查询格式 `tupleElement` 使用复数常量表达式作为元组元素索引的函数。 - 修正了一个错误 `Dictionary` 表 `range_hashed` 字典 - 修正了导致结果中的过多行的错误 `FULL` 和 `RIGHT JOIN` (阿莫斯鸟)。 - 修复了在创建和删除临时文件时的服务器崩溃 `config.d` 配置重新加载期间的目录。 - 修正了 `SYSTEM DROP DNS CACHE` 查询:缓存已刷新,但群集节点的地址未更新。 - 固定的行为 `MATERIALIZED VIEW` 执行后 `DETACH TABLE` for the table under the view (Marek Vavruša). #### 构建改进: {#build-improvements-4} - 该 `pbuilder` 工具用于构建。 构建过程几乎完全独立于构建主机环境。 - 单个构建用于不同的操作系统版本。 软件包和二进制文件已经与各种Linux系统兼容。 - 添加了 `clickhouse-test` 包。 它可用于运行功能测试。 - 现在可以将源代码包发布到存储库。 它可以用来在不使用GitHub的情况下重现构建。 - 增加了有限的集成与特拉维斯CI。 由于Travis中的构建时间限制,仅测试调试构建并运行有限的测试子集。 - 增加了对 `Cap'n'Proto` 在默认构建中。 - 更改文档来源的格式 `Restricted Text` 到 `Markdown`. - 增加了对 `systemd` (弗拉基米尔\*斯米尔诺夫)。 默认情况下,由于与某些操作系统映像不兼容,它被禁用,并且可以手动启用。 - 用于动态代码生成, `clang` 和 `lld` 嵌入到 `clickhouse` 二进制 它们也可以被调用为 `clickhouse clang` 和 `clickhouse lld` . - 从代码中删除GNU扩展的使用。 启用 `-Wextra` 选项。 当与建设 `clang` 默认值为 `libc++` 而不是 `libstdc++`. - 提取 `clickhouse_parsers` 和 `clickhouse_common_io` 库,以加快各种工具的构建。 #### 向后不兼容的更改: {#backward-incompatible-changes-11} - 标记的格式 `Log` 键入包含以下内容的表 `Nullable` 列以向后不兼容的方式进行了更改。 如果你有这些表,你应该将它们转换为 `TinyLog` 在启动新服务器版本之前键入。 要做到这一点,替换 `ENGINE = Log` 与 `ENGINE = TinyLog` 在相应的 `.sql` 文件中的 `metadata` 目录。 如果你的桌子没有 `Nullable` 列或表的类型不是 `Log`,那么你什么都不需要做。 - 删除了 `experimental_allow_extended_storage_definition_syntax` 设置。 现在,此功能默认启用。 - 该 `runningIncome` 函数重命名为 `runningDifferenceStartingWithFirstvalue` 为了避免混confusion。 - 删除了 `FROM ARRAY JOIN arr` 在FROM with no table(Amos Bird)之后直接指定数组连接时的语法。 - 删除了 `BlockTabSeparated` 仅用于演示目的的格式。 - 更改聚合函数的状态格式 `varSamp`, `varPop`, `stddevSamp`, `stddevPop`, `covarSamp`, `covarPop`, `corr`. 如果您已将这些聚合函数的状态存储在表中(使用 `AggregateFunction` 数据类型或具体化视图与相应的状态),请写信给clickhouse-feedback@yandex-team.com. - 在以前的服务器版本中,有一个未记录的功能:如果聚合函数依赖于参数,则仍然可以在AggregateFunction数据类型中指定它而不带参数。 示例: `AggregateFunction(quantiles, UInt64)` 而不是 `AggregateFunction(quantiles(0.5, 0.9), UInt64)`. 此功能已丢失。 虽然它没有记录,但我们计划在未来的版本中再次支持它。 - 枚举数据类型不能用于最小/最大聚合函数。 这种能力将在下一个版本中返回。 #### 升级时请注意: {#please-note-when-upgrading} - 当在群集上执行滚动更新时,当某些副本运行旧版本的ClickHouse,而某些副本运行新版本时,复制会暂时停止,并且消息 `unknown parameter 'shard'` 出现在日志中。 更新集群的所有副本后,复制将继续。 - 如果群集服务器上运行不同版本的ClickHouse,则使用以下函数的分布式查询可能会产生不正确的结果: `varSamp`, `varPop`, `stddevSamp`, `stddevPop`, `covarSamp`, `covarPop`, `corr`. 您应该更新所有群集节点。 ## [更新日志2017](./2017.md#clickhouse-release-1-1-54327-2017-12-21) {#changelog-for-2017}