github questdb/questdb 6.2

latest releases: 7.4.2, 7.4.1, 7.4.0...
2 years ago

Release highlights

  • Major bugfix release with heavy investment in ILP and Core stability by implementing various fuzz tests
  • We introduce SIMD JIT compiler that is able to significantly accelerate the performance of arbitrary WHERE expressions
    (JIT is disabled by default and is limited to supporting primitive column types and their expressions, excluding function calls)
  • We significantly optimised LIMIT queries, specifically around fetching the most recent records of time series and aggregating top records
  • We introduced new syntax LATEST BY in SQL with more predictable and easy-to-understand behaviours
  • We simplified the configuration of network connection limits
  • We improved memory management to prevent QuestDB RAM usage from ballooning
  • We support JDK17 and use it in Docker image

A detailed walk-through of these highlights can be found in this blog post.

What is new

  • SQL: optimize queries with sort and limit by using fixed-size tree chain (#1736)
  • SQL: new LATEST BY syntax (#1739)
  • SQL: Just-in-time Compilation for simple filter expressions (#1592)
  • SQL: optimize getting last X rows by designated timestamp (#1748)
  • UI: implement Tree component to handle hierarchical views (#1710)
  • UI: table autocomplete in SQL editor (#1744)
  • CORE: allow disabling query caches (#1735)
  • CORE: detect and report file system type for the database location (#1725)
  • CORE: java 17 support (#1674)
  • ILP: removed 30s delay on ILP before data appears in table (#1731)
  • CONF: renamed network configuration properties to make names more intuitive (#1819)
  • CONF: automatically derive IODispatcher configuration from a single parameter (#1810)

What we fixed

  • SQL: apply filter before latest by when index is present (#1774)
  • SQL: fix incorrect results returned by latest by queries that have a sub-queries in the where clause, such as in (select ...) filters on a symbol column (#1747)
  • SQL: throw exception if order by expression is not in select list (#1743)
  • SQL: bind variable creation wasn't using correct execution context (#1742)
  • SQL: improve error message for o3 insert on non-partitioned table (#1708)
  • SQL: average function overflow for LONG column type (#1824)
  • SQL: support timestamp formats used by python drivers (#1816)
  • SQL: fix assertion for static symbol table (#1799)
  • SQL: support latest by over sub-query (#1796)
  • SQL: fixed crash to do with variable-length columns address/size adjustment (#1782)
  • SQL: fixed possible crash on SQL execution pipeline (#1782)
  • CORE: fixed consistency issues when reloading TableReader under contention (#1800)
  • CORE: check value block offset for sparse keys (#1776)
  • CORE: various failures when column sizes are near page size (#1727)
  • CORE: re-tagging DirectLongList instances with site of their use (#1722)
  • CORE: fix reader and txn scoreboard leak (#1759)
  • CORE: fixed race condition releasing (and potentially leaking) table reader (#1746)
  • CORE: fix o3 commit corrupts data in var columns (#1734)
  • CORE: reduces chances of "table busy" error message (#1695)
  • CORE: convert address to network order to fix tcp/udp binding on windows (#1780)
  • CORE: remove c++ runtime/stdlib dependency (#1761)
  • CORE: remove unnecessary object allocation (#1794)
  • CORE: cleaner algo to resolve race condition between pool return and close (#1821)
  • CORE: fix scoreboard race for new table readers (#1811)
  • CORE: fixed incorrect _txn content to be occasionally written to the file (#1805)
  • CORE: sleep bug (#1801)
  • CORE: remove unnecessary object allocation (#1794)
  • CORE: resolving high CPU utilisation at idle (#1791)
  • CORE: fixed windows dependency on mingw
  • O3: making txn release by TableReader more robust (#1766)
  • O3: partition purge logic (#1778)
  • ILP: fixed potential table corruption for cases with large number of ingested tables (#1767)
  • ILP: default partitioning for tables created by udp ilp (#1827)
  • ILP: case insensitivity for table names via ILP (#1826)
  • ILP: commit pending rows after a timeout if no further ingestion (#1731)
  • ILP: preventing occasional data corruption when input contains duplicated columns (#1696)
  • HTTP: adjusts column order during csv import (#1789)
  • PGWire: added support for asyncpg client (#1751)

Don't miss a new questdb release

NewReleases is sending notifications on new releases.