Releases: risingwavelabs/risingwave
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
v0.18.0
For installation and running instructions, see Get started.
Main changes
Starting from this version, we’ll respect semantic versioning conventions by using the middle number (y
, instead of z,
in x.y.z
) to indicate minor versions. That is why this is v0.18.0, not v0.1.18.
Administration and troubleshooting
- Improves error messages by including the location of the statement in question. #8646
- Initial values of immutable system parameters can be specified via the meta-node command line. The initial values provided in the configuration file will be ignored. #8366
SQL features
- Adds initial support for user-defined functions. #8597 #8644 #8255 #7943
- Adds support for JSONB data type. #8256 #8181
- Adds support for
NULLS { FIRST | LAST }
inORDER BY
clauses. #8485 - New commands:
- New functions:
array_length
: Returns the length of an array. #8636- String functions implemented with the help of chatGPT. #8767 #8839
chr(integer)
-> varcharstarts_with(varchar, varchar)
-> booleaninitcap(varchar)
-> varcharlpad(varchar, integer)
-> varcharlpad(varchar, integer, varchar)
-> varcharrpad(varchar, integer)
-> varcharrpad(varchar, integer, varchar)
-> varcharreverse(varchar)
-> varcharstrpos(varchar, varchar)
-> integerto_ascii(varchar)
-> varcharto_hex(integer)
-> varcharto_hex(bigint)
-> varchar)
- Improves the data type values of columns returned by
DESCRIBE
. #8819 UPDATE
commands cannot update primary key columns. #8569- Adds support for microsecond precision for intervals. #8501
- Adds an optional parameter
offset
totumble()
andhop()
functions. #8490 - Data records that has null time values will be ignored by time window functions. #8146
- Improves the behaviors of the
exp
operator when the operand is too large or small. #8309 - Supports process time temporal join, which enables the joining of an append-only stream (such as Kafka) with a temporal table (e.g. a materialized view backed by MySQL CDC). This feature ensures that any updates made to the temporal table will not affect previous results obtained from the temporal join. Supports
FOR SYSTEM_TIME AS OF NOW()
syntax to express process time temporal join. #8480
Connectors
- Adds a new field
basetime
to the load generator connector for generating timestamp data. The load generator will take this field asnow
and generates data accordingly. #8619 - Empty cells in CSV are now parsed as null. #8709
- Adds the Iceberg connector. #8508
- Adds support for the upsert type to the Kafka sink connector. #8168
- Removes the message name parameter for Avro data. #8124
- Adds support for AWS PrivateLink for Kafka source connector. #8247
Full Changelog: v0.1.17...v0.18.0
v0.1.17
For installation and running instructions, see Get started.
Main changes
Administration
- Adds a system catalog view
rw_catalog.rw_ddl_progress
, with which users can view the progress of aCREATE INDEX
,CREATE SINK
, orCREATE MATERIALIZED VIEW
statement. #7914 - Adds the
pg_conversion
andpg_enum
system catalogs. #7964, #7706
SQL features
- Adds the
exp()
function. #7971 - Adds the
pow()
function. #7789 - Adds support for displaying primary keys in
EXPLAIN
statements. #7590 - Adds support for descending order in
CREATE INDEX
statements. #7822 - Adds
SHOW PARAMETERS
andALTER SYSTEM
commands to display and update system parameters. #7882, #7913
Connectors
- Adds a new parameter
match_pattern
to the S3 connector. With the new parameter, users can specify the pattern to filter files that they want to ingest from S3 buckets. For documentation updates, see Ingest data from S3 buckets. #7565 - Adds the PostgreSQL CDC connector. Users can use this connector to ingest data and CDC events from PostgreSQL directly. For documentation updates, see Ingest data from PostgreSQL CDC. [#6869](#6869, #7133
- Adds the MySQL CDC connector. Users can use this connector to ingest data and CDC events from MySQL directly. For documentation updates, see Ingest data from MySQL CDC. #6689, #6345, #6481, #7133
- Adds the JDBC sink connector, with which users can sink data to MySQL, PostgreSQL, or other databases that are compliant with JDBC. #6493
- Add new parameters to the Kafka sink connector.
Full Changelog: v0.1.16...v0.1.17