CrateDB 5.4.5 发布,分布式 SQL 数据库

CrateDB 是一个分布式的 SQL 数据库,使得实时存储和分析大量的机器数据变得简单。CrateDB 提供了通常与 NoSQL 数据库相关的可扩展性和灵活性,最小的 CrateDB 集群可以轻松地每秒摄取数万条记录。这些数据可以在整个集群中实时地、临时地、并行地进行查询。

CrateDB 5.4.5 现已正式发布,该版本更新内容如下:

修复

  • 修复了一个问题,在使用 PostgreSQL wire protocol 的客户端中,如果一个查询在另一个查询挂起后被触发且未被使用,则会导致Received resultset tuples, but no field structure for them错误。

  • 如果在另一个查询挂起且未使用后触发查询,则导致使用 PostgreSQL wire protocol 的客户端出现错误的问题。

  • 修复了尝试在带有联接的查询的WHERE子句中使用相关联接时,导致Couldn't create execution plan from logical plan ..错误的问题。例如:

    SELECT
        n.nspname AS schema,
        t.typname AS typename,
        t.oid::int4 AS typeid
    FROM
        pg_type t
        LEFT JOIN pg_catalog.pg_namespace n ON n.oid = t.typnamespace
    WHERE
        EXISTS (
            SELECT 1 FROM pg_catalog.pg_type el WHERE el.oid = t.typelem);
  • 修复了以下问题:如果用户对架构内的表拥有权限,但对架构本身没有权限,则命名空间无法显示在pg_catalog.pg_namespace中。

  • 修复了当 2 个或更多列被分配相同名称时导致UNION抛出SQLParseExceptions而不是AmbiguousColumnExceptions的问题。例如:

    SELECT a FROM (SELECT a, b AS a FROM t UNION SELECT 1, 1) t2;
    -- selecting 'a' from 't2' is ambiguous since there are 'a' and 'b AS a'
  • 修复了 CrateDB 版本 5.3.0 引入的一个回归,该回归可能导致INSERT INTO ... ON CONFLICT .. ``查询失败,甚至在``ON CONFLICT子句中使用子列表达式时更新错误的子列。​​​​​​

  • 修正了一个问题,当输出列的名称相同且来自别名表时,UNION会返回错误结果或抛出SQLParseException的问题。例如:

    SELECT * FROM (SELECT t1.a, t2.a FROM t AS t1, t AS t2) t3 UNION SELECT 1, 1;

    其中t1.at2.a来自具有相同名称的别名表a

  • 修复了版本 4.2.0中引入的回归,当创建查询的执行计划期间发生某些内部问题时(例如:查询中涉及的表的分片不可用),该回归会导致返回错误的 HTTP 错误代码

  • 修复了会导致忽略CREATE TABLE 语句中 ARRAY(GEO_SHAPE)类型定义中INDEX using子句的属性。

详情可查看更新说明

猜你喜欢

转载自www.oschina.net/news/263682/cratedb-5-4-5-released