Together with our global community of contributors, GreptimeDB continues to evolve and flourish as a growing open-source project. We are grateful to each and every one of you.
In the past two weeks, we have iterated through two minor versions, v0.4.1 and v0.4.2, following the official release of GreptimeDB v0.4. Below are some highlights:
- Implemented support for Prometheus Histograms.
- Optimized the OpenTSDB protocol.
- Added support for nested
rangeexpressions in queries, which is very useful.
- Resolved a bug related to inconsistent behavior in the
rangeimplementation when using different
- Provided a built-in tool to assist users in upgrading from v0.3 to v0.4. For more information, please refer to the official documentation at https://docs.greptime.com/user-guide/upgrade.
For the past two weeks, our community has been super active with a total of 76 PRs merged. 8 PRs from 6 external contributors merged successfully and lots pending to be merged.
Congrats on becoming our most active contributors in the past 2 weeks:
👏 Welcome contributors @AbhineshJha @shoothzj and @tisonkun to the community as new contributors, and congratulations on successfully merging their first PR!
A big THANK YOU to all our members and contributors! It is people like you who are making GreptimeDB a great product. Let's build an even greater community together.
Highlights of Recent PR
#2626 #2651 Implemented the histogram_quantile function for PromQL
This is one of the most commonly used calculation functions for the Histogram data type among the four data types in Prometheus, capable of computing the φ-quantile (0 ≤ φ ≤ 1). For example:
Range expressions like
max(a+1) Range '5m' FILL NULL are allowed to nest in any expression.
Valid SQL example:
select round(max(a+1) Range '5m' FILL NULL), sin((max(a) + 1) Range '5m' FILL NULL)， from test ALIGN '1h' by (b) FILL NULL;
This is semantically equivalent to SQL:
select round(x), sin(y + 1) from ( select max(a+1) Range '5m' FILL NULL as x, max(a) Range '5m' FILL NULL as y from test ALIGN '1h' by (b) FILL NULL; ) ;
Invalid example: Nested
range expressions into another
range expression are invalid (e.g. ,
SELECT min(max(val) RANGE '20s') RANGE '20s' FROM host ALIGN '10s';).
Range queries now support the following fill options, used to fill in occurrences of null values:
NULL: Keeps nulls as it is.
PREV: Fills nulls with the previous value.
LINEAR: Fills nulls with the average of the previous number and next number.
x: Fills nulls with a constant
LINEAR converts integers to floats.
For specific usage of
range query, please refer to the documentation: https://docs.greptime.com/reference/sql/range