CrateDB is a distributed SQL database that makes it easy to store and analyze large amounts of machine data in real time. CrateDB provides the scalability and flexibility typically associated with NoSQL databases, and the smallest CrateDB clusters can easily ingest tens of thousands of records per second. This data can be queried across the entire cluster in real time, ad hoc, and in parallel.
CrateDB 5.4.5 is now officially released. The updates to this version are as follows:
repair
-
Fixed an issue that, in clients using the PostgreSQL wire protocol, would cause
Received resultset tuples, but no field structure for them
an error if a query was fired after another query was pending and was not used. -
Issue causing errors on clients using the PostgreSQL wire protocol if a query is triggered after another query is pending and unused.
-
Fixed an issue that caused an error
WHERE
when trying to use a relative join in a clause of a query with a join.Couldn't create execution plan from logical plan ..
For example: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);
-
Fixed an issue where namespaces could not be displayed if the user had permissions on tables within the schema but not on the schema itself
pg_catalog.pg_namespace
. -
UNION
Fixed an issue that caused an error to be thrownSQLParseExceptions
instead when 2 or more columns were assigned the same nameAmbiguousColumnExceptions
. For example: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'
-
Fixed a regression introduced in CrateDB version 5.3.0 that could cause
INSERT INTO ... ON CONFLICT .. ``
queries to fail or even``ON CONFLICT
update the wrong subcolumn when using a subcolumn expression in a clause. -
Fixed an issue that
UNION
would return incorrect results or throw when output columns had the same name and came from an alias tableSQLParseException
. For example:SELECT * FROM (SELECT t1.a, t2.a FROM t AS t1, t AS t2) t3 UNION SELECT 1, 1;
where
t1.a
andt2.a
from an alias table with the same namea
. -
Fixed a regression introduced in version 4.2.0 that caused an incorrect HTTP error code to be returned when certain internal issues occurred during creation of a query's execution plan (for example: shards for tables involved in the query were unavailable ) .
-
Fixed an attribute that would cause clauses in type definitions
CREATE TABLE
in statements to be ignored.ARRAY(GEO_SHAPE)
INDEX using
Please see the update notes for details .