6.0.0
The following changes are a delta of version 5.0.6.1 and therefore may include changes announced in 6.0.0 prereleases.
Release Highlights
Version 6.0.0 adds support for out-of-order (O3) record ingestion on-the-fly, and as a result, does not enforce that records appear at QuestDB in strict chronological order. O3 support adds flexibility and efficiency of use to the system and provides compatibility with the Time Series Benchmark Suite (TSBS) which is used to reliably measure and compare the performance of time series databases. Also included with this version is a a massive internal revision of InfluxDB Line Protocol (ILP) ingestion which brings significant performance improvements, alongside multiple UI fixes for the Web Console and SQL features.
What is new
- Arch: ARM64 and Apple Silicon (M1) support (#878)
- O3 support for ingestion of records which are out-of-order (O3) by timestamp (#926)
- REST:
fileName
parameter can be specified for the/exp
endpoint for CSV exports (#830) - PG wire: PostgreSQL JDBC driver now supports
getSQLKeywords
method (#836) - UI: UI improvements for results with only one column (#897)
- UI: Notification element does not obscure returned rows (#896)
- O3: stable sort, reuse memory during sort (#987)
- O3: move o3SortVarColumn0 to C++ (#984)
What we fixed
- PG wire: fixed server "hang" when clients are slow to read data (#954)
- SQL: implicit handling of scientific notation for floating-point literals (ex: .
12e-20
) (#957) - SQL:
LIMIT -1
returns last row as expected (#831) - SQL: Epoch timestamps supported in CSV imports (#876)
- SQL: Behavior of
ORDER BY
query returns correct values on non-cachedsymbol
types (#877) - SQL: Column names allow minus
-
underscore_
for compatibility with InfluxDB Line Protocol messages (#859) - SQL: latest by query could return data in incorrect timestamp order (#986)
- ILP: logging of errno and replaced catch(CairoException) with catch(Throwable) (#983)
- O3: fixed fairness issue in ILP (#981)
JDK versions for embedded applications
Users who wish to run QuestDB 6.0 in an embedded capacity in a Maven project may choose between JDK versions.
JDK11
<dependency>
<groupId>org.questdb</groupId>
<artifactId>questdb</artifactId>
<version>6.0.0</version>
</dependency>
JDK8
<dependency>
<groupId>org.questdb</groupId>
<artifactId>questdb-jdk8</artifactId>
<version>6.0.0</version>
</dependency>