Releases: risingwavelabs/risingwave
v1.1.4
release v1.1.4
v1.1.3
release v1.1.3
v1.1.2
release v1.1.2
v1.1.1
release v1.1.1
v1.1.0
For installation and running instructions, see Get started.
Main changes
SQL features
-
SQL commands:
-
DROP
commands now support theCASCADE
option, which drops the specified item and all its dependencies. #11250 -
CREATE TABLE
now supports theAPPEND ONLY
clause, allowing the definition of watermark columns on the table. #11233 -
Supports new commands
START TRANSACTION
,BEGIN
, andCOMMIT
for read-only transactions. #10735 -
Supports
SHOW CLUSTER
to show the details of your RisingWave cluster, including the address of the cluster, its state, the parallel units it is using, and whether it's streaming data, serving data or unschedulable. #10656, #10932
-
-
SQL functions:
-
Supports new window functions:
lead()
andlag()
. #10915 -
Supports new aggregate functions:
first_value()
andlast_value()
, which retrieve the first and last values within a specific ordering from a set of rows. #10740 -
Supports the
grouping()
function to determine if a column or expression in theGROUP BY
clause is part of the current grouping set or not. #11006 -
Supports the
set_config()
system administration function. #11147 -
Supports the
sign()
mathematical function. #10819 -
Supports
string_agg()
withDISTINCT
andORDER BY
, enabling advanced string concatenation with distinct values and custom sorting. #10864 -
Supports the co-existence of
string_agg()
and other aggregations withDISTINCT
. #10864 -
Supports the
zone_string
parameter in thedate_trunc()
,extract()
, anddate_part()
functions, ensuring compatibility with PostgreSQL. #10480- Breaking change: Previously, when the input for
date_trunc
was actually a date, the function would cast it to a timestamp and record the choice in the query plan. However, after this release, new query plans will cast the input totimestamptz
instead. As a result, some old SQL queries, especially those saved as views, may fail to bind correctly and require type adjustments. It's important to note that old query plans will still continue working because the casting choice is recorded with a cast to timestamp.
Before this release:
```sql SELECT date_trunc('month', date '2023-03-04'); date_trunc --------------------------- 2023-03-01 00:00:00 (1 row) ```
After this release:
```sql SELECT date_trunc('month', date '2023-03-04'); date_trunc --------------------------- 2023-03-01 00:00:00+00:00 (1 row) ```
Now, the result of
date_trunc
includes the timezone offset (+00:00
) in the output, making it consistent with the behavior in PostgreSQL. - Breaking change: Previously, when the input for
-
round()
now accepts a negative value and rounds it to the left of the decimal point. #10961 -
to_timestamp()
now returnstimestamptz
. #11018
-
-
Query clauses
-
SELECT
now supports theEXCEPT
clause which excludes specific columns from the result set. #10438, #10723 -
SELECT
now supports theGROUPING SETS
clause which allows users to perform aggregations on multiple levels of grouping within a single query. #10807 -
Supports index selection for temporal joins. #11019
-
Supports
CUBE
in group-by clauses to generate multiple grouping sets. #11262
-
-
Patterns
- Supports multiple rank function calls in TopN by group. #11149
-
System catalog
- Supports querying
created_at
andinitialized_at
from RisingWave relations such as sources, sinks, and tables in RisingWave catalogs. #11199
- Supports querying
Connectors
-
Supports specifying Kafka parameters when creating a source or sink. #11203
-
JDBC sinks used for upserts must specify the downstream primary key via the
primary_key
option. #11042 -
access_key
and its correspondingsecret_key
are now mandatory for all AWS authentication components. #11120
Full Changelog: v1.0.0...v1.1.0
v1.0.0
For installation and running instructions, see Get started.
Main changes
SQL features
-
SQL command:
-
SQL function:
-
Adds the
current_setting()
function to get the current value of a configuration parameter. #10051 -
Adds new array functions:
array_position()
,array_replace()
,array_ndims()
,array_lower()
,array_upper()
,array_length()
, andarray_dims()
. #10166, #10197 -
Adds new aggregate functions:
percentile_cont()
,percentile_disc()
, andmode()
. #10252 -
Adds new system functions:
user()
,current_user()
, andcurrent_role()
. #10366 -
Adds new string functions:
left()
andright()
. #10765 -
Adds new bytea functions:
octet_length()
andbit_length()
. #10462 -
array_length()
andcardinality()
return integer instead of bigint. #10267 -
Supports the
row_number
window function that doesn't match the TopN pattern. #10869
-
-
User-defined function:
-
System catalog:
-
Supports
GROUP BY
output alias or index. #10305 -
Supports using scalar functions in the
FROM
clause. #10317 -
Supports tagging the created VPC endpoints when creating a PrivateLink connection. #10582
Connectors
-
Breaking change: When creating a source or table with a connector whose schema is auto-resolved from an external format file, the syntax for defining primary keys within column definitions is replaced with the table constraint syntax. #10195
CREATE TABLE debezium_non_compact (order_id int PRIMARY KEY) WITH ( connector = 'kafka', kafka.topic = 'debezium_non_compact_avro_json', kafka.brokers = 'message_queue:29092', kafka.scan.startup.mode = 'earliest' ) ROW FORMAT DEBEZIUM_AVRO ROW SCHEMA LOCATION CONFLUENT SCHEMA REGISTRY 'http://message_queue:8081';
CREATE TABLE debezium_non_compact (PRIMARY KEY(order_id)) WITH ( ...
-
Breaking change: Modifies the syntax for specifying data and encoding formats for a source in
CREATE SOURCE
andCREATE TABLE
commands. For v1.0.0, the old syntax is still accepted but will be deprecated in the next release. #10768Old syntax - part 1:
ROW FORMAT data_format [ MESSAGE 'message' ] [ ROW SCHEMA LOCATION ['location' | CONFLUENT SCHEMA REGISTRY 'schema_registry_url' ] ];
New syntax - part 1:
FORMAT data_format ENCODE data_encode ( message = 'message', schema_location = 'location' | confluent_schema_registry = 'schema_registry_url' );
Old syntax - part 2:
ROW FORMAT csv WITHOUT HEADER DELIMITED BY ',';
New syntax - part 2:
FORMAT PLAIN ENCODE CSV ( without_header = 'true', delimiter = ',' );
-
Supports sinking data to AWS Kinesis. #10437
-
Supports
BYTES
as a row format. #10592 -
Supports specifying schema for the PostgreSQL sink. #10576
-
Supports using the user-provided publication to create a PostgreSQL CDC table. #10804
Full Changelog: v0.19.0...v1.0.0
v0.19.3
release v0.19.3
v0.19.2
release v0.19.2
v0.19.1
release v0.19.1
v0.19.0
For installation and running instructions, see Get started.
Main changes
Installation
- Now, you can easily install RisingWave on your local machine with Homebrew by running
brew install risingwave
.
Administration
- Adds the
pg_indexes
anddattablespace
system catalogs. #9844, #9822 - Now, the
SHOW PARAMETERS
command will display the mutability of each system parameter. #9526
SQL features
- Experimental features: Adds support for 256-bit integer. #9146, #9184, #9186, #9191, #9217
- Indexes can be created on expressions. #9142
- Adds support for expressions in aggregate function arguments. #9955
- Adds support for
VALUES
clause. #8751 - Adds support for generated columns, which are special columns computed from other columns in a table or source. #8700, #9580
- Adds support for using expressions in the
ORDER BY
andPARTITION BY
clauses. #9827 - New SQL commands
CREATE CONNECTION
andSHOW CONNECTIONS
: Creates an AWS PrivateLink connection and show all available connections. #8907DROP CONNECTION
: Drops a connection. #9128SHOW FUNCTIONS
: Shows existing user-defined functions. #9398DROP FUNCTIONS
: Drops a user-defined function. #9561SHOW CREATE SOURCE
andSHOW CREATE SINK
: Shows the SQL statement used to create a source or sink. #9083SHOW INDEXES
: Shows all indexes on a particular table. #9835
- SQL functions
- Adds support for trigonometric functions. #8838, #8918, #9064, #9203, #9259
- Adds support for degrees and radians functions. #9108
- Adds support for the
lag()
andlead()
window functions and theOVER()
andEMIT ON WINDOW CLOSE
clause. #9597, #9622, #9701 - Adds support for new aggregate functions, including
bool_and
,bool_or
,jsonb_agg
, andjsonb_object_agg
. #9452 - Adds support for
max()
,min()
, andcount()
for timestamptz data. #9165 - Adds support for microseconds and milliseconds for
to_char()
andto_timestamp()
. #9257 - Adds support for multibyte Unicode in
overlay()
andascii()
functions. #9321 - Adds support for the
string_to_array()
function. #9289 - Adds support for
array_positions()
. #9152 - Adds support for
cardinality()
. #8867 - Adds support for
array_remove()
. #9116 - Adds support for
trim_array()
. #9265 - Adds support for array range access. #9362
- Adds support for JSONB in UDF. #9103
- Adds support for
btrim()
and updatestrim()
to PostgreSQL standard syntax. #8985 - Adds support for
date_part()
. #8830 - Expands
extract()
with more fields. #8830 - Adds support for
proctime()
, which returns the system time with time zone when a record is processed. #9088 - Adds support for
translate()
,@()
, andceiling()
. #8998 - Adds support for
encode()
anddecode()
. #9351 - Adds support for the
intersect
operator. #9573 - Adds support for the default escape
\
in alike
expression. #9624 - Adds support for the
IS [NOT] UNKNOWN
comparison predicate. #9965 - Adds support for the
starts_with()
string function and^@
. #9967 - Adds support for unary
trunc
,ln
,log10
(log
),exp
,cbrt
(||/
) mathematical functions. #9991
Connectors
- Adds support for ingesting CDC data from TiDB and sinking data to TiDB with the JDBC connector. #8708
- Adds support for ingesting CDC data from Citus. #8988
- Adds support for loading Pulsar secret key file from AWS S3. #8428, #8222
- Adds support for using an established AWS PrivateLink connection in a
CREATE SOURCE
,CREATE TABLE
, orCREATE SINK
statement for a Kafka source/sink. #9119, #9128, #9728, #9263 - Deprecates the
use_transaction
field in the Kafka sink connector. #9207 - Adds support for zstd compression type for Kafka connector. #9297
- Deprecates the
upsert
property in the Kafka connector as it can be inferred from the row format. #9457 - Adds a new field
properties.sync.call.timeout
in the WITH clause of the Kafka source connector to control the timeout. #9005 - Adds support for a new row format
DEBEZIUM_MONGO_JSON
in the Kafka source connector. #9250 - Adds CSV format support for the Kafka source connector. #9875
Cluster configuration changes
--data_directory
and--state_store
must be specified on CLI of the meta node, or the cluster will fail to start. #9170- Clusters will refuse to start if the specified object store URL identified by
state_store
anddata_directory
is occupied by another instance. Do not share the object store URL between multiple clusters. #9642
Full Changelog: v0.18.0...v0.19.0