What's Changed
Better. Faster. Stronger. And even more good looking. 😎
Highlighting our latest release:
-
Window functions. These flexible functions provide moving averages, running totals, or Top-N results within a group, and more via a "window", defined by an
OFFSET
against aRANGE
orROWS
. Unlike aggregate functions, window functions do not cause rows to become grouped into a single output row — the rows retain their separate identities. Additional perks? Performance and an easing of query complexity. -
More functions. We've added:
first(boolean)
,last(boolean)
,first(string)
,last(string)
, mathematical exponentexp(D)
andfirst_not_null()
,last_not_null()
, which operate on most nullable data types, except IPv4 and GeoHash. -
Performance. Our goal is top performance.
LIKE
/ILIKE
queries now perform over 80% faster. -
Web Console Refresh. The best tools provide the help that you need without getting in your way. We've tuned the Web Console UI to put what you need closer to where you need it. Less used UI elements have had their significance reduced and overall navigation has been streamlined. On top of that, a discrete news feed will send you all the latest, so that you don't miss a beat.
Before:
After:
New features
- feat(sql): add first and last boolean aggregation functions by @rexf in #3873
- feat(sql): add math exp function by @rexf in #3903
- feat(sql): add first and last string aggregation functions by @rexf in #3879
- perf(sql): speed up simple LIKE/ILIKE filters by @puzpuzpuz in #3897
- feat(core): add metrics around worker by @marregui in #3872
- feat(web-console): general UI refresh, new News UI, new CSV Import UI #199
- feat(sql): sql functions to support traffic light widget in the Web Console by @bluestreak01 (#3918)
- feat(sql): add first_not_null and last_not_null aggregation functions for major data types by @rexf in #3883
- feat(sql): add vwap aggregation function by @rexf in #3885
- feat(sql): moving avg window function by @bluestreak01 @bziobrowski in #3763
- feat(sql): vectorized aggregation of
short
columns by @bluestreak01 (#3924)
UI
- feat(web-console): general UI refresh, new News UI, new CSV Import UI questdb/ui#199
Improvements and bug fixes
- fix(http): REST interface sends HTTP error replies on runtime errors by @jerrinot (#3908)
- fix(sql): fix duplicate column error for implicit timestamp by @bziobrowski #3921
- fix(sql): prevent predicate pushdown into subquery with window clause by @bziobrowski (#3923)
- fix(sql): fix segmentation fault in non-keyed max(int) vectorised implementation by @bziobrowski (#3914)
- fix(sql): fix server hang on evaluating large integer addition expression by @bziobrowski (#3922)
- fix(sql): fix 'Invalid column' error for columns used in non-equality join conditions by @bziobrowski (#3912)
- fix(core): fix random file descriptor leak on WAL table drop by @ideoma (#3919)
- fix(core): fix connection error to HTTP TCP port on MacOS by @jerrinot in #3830
- fix(http): prometheus exporter occasionally fails to send all metrics by @jerrinot in #3835
- fix(sql): ensure EXPLAIN (FORMAT JSON) returns valid JSON by @biosfood in #3756
- fix(sql): fix ArrayIndexOutOfBoundsException in select distinct with duplicate columns by @puzpuzpuz in #3834
- fix(core): fix intermittent writing failures by @jerrinot in #3844
- fix(core): fix write error appearing after symbol column drop by @ideoma in #3876
- fix(sql): rename column from
name
totable_name
in cursor function tables by @marregui in #3857 - fix(sql): fix sql error [col in (1,2)] when col is type short by @ideoma in #3887
- fix(http): large prometheus metrics responses split across multiple chunks by @amunra in #3843
- fix(sql): fix error on UPDATE statement with WAL tables after ALTER by @ideoma in #3894
- fix(sql): fix comparing Date columns with date literals by @jerrinot in #3862
- fix(core): add FreeBSD UFS (0x35) to the list of supported file systems by @nitram509 in #3899
- fix(sql): fix symbol value comparison with <, <=, >, >= operators by @bziobrowski in #3909
- fix(sql): fix modulo int operator result with nulls by @bziobrowski in #3910
Documentation
New Contributors
- @abhiram6121 made their first contribution in #3789
- @biosfood made their first contribution in #3756
- @rexf made their first contribution in #3873
- @nitram509 made their first contribution in #3899
Full Changelog: 7.3.3...7.3.4