Update dependency org.questdb:questdb to v8.1.4 #4
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/org.questdb-questdb-8.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
8.1.1
->8.1.4
Release Notes
questdb/questdb (org.questdb:questdb)
v8.1.4
It's spooky season. 🎃
What scares us the most? Poor performance. 😱
And just behind that, bugs and unintuitive UIs. Aaaahhhh!!
This release brings light to all of the aforementioned fears, as we continue with our seasonal theme of balance.
Breaking Changes 💥
SQL keyword quoting enforcement: SQL keywords used as column names now require double-quoting (e.g., "distinct", "order", "group"). While this was previously required, it's now enforced more strictly. This change supports PostgreSQL-compatible syntax and may break existing queries using unquoted keywords.
New features 🐣
Slick Web Console polish
Last patch, we introduced tabs to the Web Console experience. With tabs, navigating and work flows are easier and cleaner.
The polish continues in
8.1.4
and includes many small, tidy incremental improvements such as:F9
orCTL
+Enter
, hitting the same shortcut will no longer cancel running SQLRunning..
. when a query is running (... so you'd better go catch it!)Running..
. the "play" button is replaced with "stop" button=
as word delimiter, so that expressions like==
can be highlighted as errorsAnd more! Download, upgrade or checkout our live demo to see them.
Regression function
regr_slope()
We've introduced the
regr_slope(y, x)
SQL function, which calculates the slope of the linear regression line determined by the dependent variabley
and independent variablex
. One might use such a function in statistical analysis, trend identification, and predictive modelling:This query computes the slope of sales over time. Great for trend spotting.
Support for COUNT(DISTINCT col) and STRING_AGG(DISTINCT col)
The
DISTINCT
keyword is now available within aggregate functions to operate on unique values.Counting unique values:
Aggregating unique strings:
This simplifies queries where you need to work with distinct entries. We all appreciate more concise and expressive SQL.
Performance improvements 🚀
Suped up many statistical functions with parallelized execution. Functions like
var_samp()
,var_pop()
,stddev_samp()
,stddev_pop()
,covar_samp()
,covar_pop()
, andcorr()
are now up to 10× faster.Reduced memory usage during paralleled aggregate queries
General improvements and fixes 🔧
Addressed a disk space leak issue when upserting with deduplication
Resolved phantom errors in
SELECT
queries caused by concurrent partition squashingFixed inconsistencies in the interaction between the Web Console and the static metadata cache
Fixed issues causing unexpected timeouts and error messages in parallel query execution
Resolved an infinite loop issue that could occur on errors in parallel filter and
GROUP BY
queries - as fun as it was...Addressed a potential transaction leak in table reader/writer initialization on ZFS.
Fixed a rare failure to restore from a checkpoint, triggered by an indexed column being created while a checkpoint is in progress.
Unified macOS runtime requirements to macOS 13 for build consistency.
Fixed checkpoint backward compatibility with snapshot semantics.
Fixed a memory leak with pipelined
UPDATE
s in the PostgreSQL Wire Protocol.Pull requests
regr_slope()
SQL function by @vss96 in https://github.com/questdb/questdb/pull/5021Full Changelog: https://github.com/questdb/questdb/compare/8.1.2...8.1.4
v8.1.2
Compare Source
October has arrived, and with it the fall. According to an interesting character, it's also Libra ♎ season, a phase of balance. It works for us, as this release restores the balance within QuestDB's production reliability. Chasing maximum performance and cutting-edge features is our favourite game. But every now and then, it's essential to double-back and smooth out the edges so that the overall experience presents consistent excellence. And, well, we'll keep improving performance too.
Download, upgrade, and prepare for the seasonal feasts. 🎃
Breaking Changes 💥
INFO
level have been changed toDEBUG
. This reduction in log verbosity may impact monitoring systems relying on these messages. Adjust logging configurations as necessary.New features 🐣
Web Console UI tabs: The QuestDB Web Console features tabs for better query management. Tabs are archived upon closing and can be brought back from the history section as needed.
ILP client row cancellation: The ILP client now supports cancelling the current row during data ingestion. This allows for greater control when writing data and helps prevent incomplete or erroneous data from being committed.
New financial function
spread_bps
: Computes the spread in basis points between two numerical values.greatest
andleast
functions: Determine the maximum or minimum value from a list of expressions. These functions simplify comparisons across multiple columns or expressions.Interval functions for date filters: Implemented new interval functions
today()
,tomorrow()
, andyesterday()
that return intervals representing the entire day. These functions make it easier to filter queries based on whole-day periods without manually specifying time ranges.New aggregate function
string_distinct_agg
: Aggregates unique string values into a single, concatenated string with a specified delimiter. This is useful for creating summaries of distinct values in a dataset.ILP traffic to Prometheus: Introduced metrics to monitor ILP (Influx Line Protocol) traffic volumes over both TCP and HTTP. These metrics help in tracking data ingestion rates and diagnosing network-related issues.
RedHat OpenShift Compatible Docker Image: Beginning with this release, QuestDB Docker images with a
-rhel
suffix are now compatible with RedHat's OpenShift container orchestration platform.New integrations
Bento by Warpstream Labs: In the words of Bento they provide: Fancy stream processing made operationally mundane. Indeed, and now even fancier with a fresh QuestDB component.
Redpanda Connect: Formerly Benthos. Comes with a QuestDB output component that can be used as a sink for your stream processing data. Read our docs for more information.
Performance improvements 🚀
Static metadata cache: Implemented a static metadata cache to improve performance by reducing the overhead associated with frequent metadata access. This enhancement speeds up query compilation and execution.
Optimized partition reloads: Reduced unnecessary reloads of
TableReader
partitions, which enhances query performance, especially in environments with high data ingestion rates and frequent queries.Improved parallel
GROUP BY
execution: Optimized parallelGROUP BY
operations by eliminating redundant bytecode generation. This results in faster execution times for complex aggregation queries.Faster Web Console queries: You'll notice improved performance during the highligh and execution of queries with SQL comments in the editor.
Improvements 🛠️
Enhanced log compatibility: Added a configuration option to control verbose log levels, improving compatibility with log readers and monitoring tools that require specific log formats or verbosity levels.
Detailed ILP error messages: Enhanced the server logs to include specific error messages indicating the exact line that caused a receive buffer overflow during ILP ingestion. This aids in troubleshooting and correcting data formatting issues.
Bug fixes 🐛
ILP client retry behaviour: Fixed an issue where ILP clients would retry data insertion when encountering invalid UUID values. The client now correctly handles bad UUIDs without unnecessary retries, improving ingestion stability.
Server crash with
first(varchar)
andlast(varchar)
: Resolved a critical issue where usingfirst(varchar)
orlast(varchar)
functions could cause the server to crash. These functions now operate reliably withVARCHAR
data types.Deduplication key crash fix: Addressed a potential crash when writing data with deduplication enabled on
VARCHAR
orSTRING
columns as keys.Parquet
byte
column support: Added support forRleDictionary
encoding ofBYTE
columns in theread_parquet()
function. This enhances compatibility with Parquet files that use this encoding scheme.Handling comment-only queries: Fixed an issue where SQL queries containing only comments were not properly processed. The server now correctly handles such queries without errors.
UUID and IPv4 in
coalesce
andswitch
: Corrected the lack of support forUUID
andIPv4
literals in thecoalesce()
function andSWITCH
statements. These functions now fully support these data types.Parallel
GROUP BY
race condition: Fixed a race condition that could occur during parallelGROUP BY
operations involving a large number of groups.Symbol to integer comparison fix: Resolved a
NullPointerException
that occurred when comparingSYMBOL
columns to integer values. Comparisons between these data types now function correctly.Responsive health check endpoint: Improved the responsiveness of the health check HTTP endpoint when the server reaches its memory limit. This ensures that health checks remain reliable under memory pressure.
List of PRs
New Contributors
Full Changelog: https://github.com/questdb/questdb/compare/8.1.1...8.1.2
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
Update dependency org.questdb:questdb to v8.1.2to Update dependency org.questdb:questdb to v8.1.319382972b8
toa5ca634dfa
Update dependency org.questdb:questdb to v8.1.3to Update dependency org.questdb:questdb to v8.1.4a5ca634dfa
to6b441f97bd
Checkout
From your project repository, check out a new branch and test the changes.