Release notes
This page summarizes changes in each version of RisingWave, including new features and important bug fixes.
v1.2.0
This version was released on September 11, 2023.
Main changes
SQL features
SQL commands:
Breaking change: Syntax of emit-on-window-close has changed. If your application contains integration code, please update your code accordingly. #11363
In v1.1:
CREATE MATERIALIZED VIEW mv
EMIT ON WINDOW CLOSE
AS SELECT
...;In v1.2 and onwards:
CREATE MATERIALIZED VIEW mv
AS SELECT
...
EMIT ON WINDOW CLOSE;Privileges for tables can now be granted or revoked. #11725
The default
DISTRIBUTED BY
columns have been changed from the whole index columns into the first index column. #11865Supports
ALTER SOURCE ADD COLUMN
. #11350Supports
SHOW JOBS
andCANCEL JOBS
, with which you can show the in-progress streaming jobs and cancel jobs by their IDs. #11854Supports
[I]LIKE
inSHOW
commands. #11791
SQL functions & operators
- Supports lambda functions via
array_transform
. #11888, #11937 - Supports
to_date()
. #11241 - The
to_char()
function now supportstimestamptz
input. #11778 - Supports
scale
,min_scale
, andtrim_scale
. #11663 - Supports
regexp_replace
. #11819 - Supports
regexp_count
. #11975 - Supports
[NOT] ILIKE
expressions. #11743 - Supports
[!]~~[*]
operators, which are equivalent to[NOT] [I]LIKE
. #11748 - Supports
IS JSON
predicate. #11831
- Supports lambda functions via
Query syntax:
System catalog
Adds support for transactions for single-table CDC data. #11453
Sources & sinks
- Adds a new parameter
schema.registry.name.strategy
to the Kafka connector, with which you can specify naming strategies for schema registries. #11384 - Breaking Change: Implements a Rust-native Iceberg sink connector to improve stability and performance. The connector introduces new parameters. Applications that rely on the previous version of the feature (specifically, the version included in RisingWave v1.0 and v1.1) may no longer function correctly. To restore functionality to your applications, please carefully review the syntax and parameters outlined on this page and make any necessary revisions to your code. Please refer to Sink data to Iceberg for details. #11326
- Adds support for sinking data to ClickHouse. For a detailed guide about how to sink data from RisingWave to ClickHouse, see Sink data to ClickHouse. #11240
- Experimental: An enhancement has been made to the mysql-cdc connector to improve data ingestion performance. It achieves so by optimizing the data backfilling logic for CDC tables. This feature is not enabled by default. To enable it, run this command:
SET cdc_backfill="true";
#11707 - Adds a parameter
client.id
for Kafka sources. #11911
Deployment
- Supports HDFS as the storage backend for deployments via Docker Compose. #11632
Administration & observability
- Adds a new system parameter
max_concurrent_creating_streaming_jobs
, with which users can specify the maximum number of streaming jobs that can be created concurrently. #11601 - Improves the calculation logic of the Mem Table Size (Max) metric in RisingWave Dashboard. #11442
- Adds new metrics to RisingWave Dashboard:
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.2.0 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
- risectl-v1.2.0-x86_64-unknown-linux.tar.gz
- risingwave-connector-v1.2.0.tar.gz
See the Full Changelog here.
v1.1.0
This version was released on August 8, 2023.
Main changes
SQL features
SQL commands:
DROP
commands now support theCASCADE
option, which drops the specified item and all its dependencies. #11250CREATE TABLE
now supports theAPPEND ONLY
clause, allowing the definition of watermark columns on the table. #11233Supports new commands
START TRANSACTION
,BEGIN
, andCOMMIT
for read-only transactions. #10735Supports
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()
. #10915Supports new aggregate functions:
first_value()
andlast_value()
, which retrieve the first and last values within a specific ordering from a set of rows. #10740Supports the
grouping()
function to determine if a column or expression in theGROUP BY
clause is part of the current grouping set or not. #11006Supports the
set_config()
system administration function. #11147Supports the
sign()
mathematical function. #10819Supports
string_agg()
withDISTINCT
andORDER BY
, enabling advanced string concatenation with distinct values and custom sorting. #10864Supports the co-existence of
string_agg()
and other aggregations withDISTINCT
. #10864Supports the
zone_string
parameter in thedate_trunc()
,extract()
, anddate_part()
functions, ensuring compatibility with PostgreSQL. #10480Breaking 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.
round()
now accepts a negative value and rounds it to the left of the decimal point. #10961to_timestamp()
now returnstimestamptz
. #11018
Query clauses
SELECT
now supports theEXCEPT
clause which excludes specific columns from the result set. #10438, #10723SELECT
now supports theGROUPING SETS
clause which allows users to perform aggregations on multiple levels of grouping within a single query. #10807Supports 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 more 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. #11042access_key
and its correspondingsecret_key
are now mandatory for all AWS authentication components. #11120
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.1.0 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
v1.0.0
This version was released on July 12, 2023.
Main changes
SQL features
SQL command:
- Supports the
GROUPING SETS
clause. #10807
- Supports the
SQL function:
Adds the
current_setting()
function to get the current value of a configuration parameter. #10051Adds new array functions:
array_position()
,array_replace()
,array_ndims()
,array_lower()
,array_upper()
,array_length()
, andarray_dims()
. #10166, #10197Adds new aggregate functions:
percentile_cont()
,percentile_disc()
, andmode()
. #10252Adds new system functions:
user()
,current_user()
, andcurrent_role()
. #10366Adds new string functions:
left()
andright()
. #10765Adds new bytea functions:
octet_length()
andbit_length()
. #10462array_length()
andcardinality()
return integer instead of bigint. #10267Supports 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. #10305Supports using scalar functions in the
FROM
clause. #10317Supports 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
OldCREATE 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';NewCREATE 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' | 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. #10592Supports specifying schema for the PostgreSQL sink. #10576
Supports using the user-provided publication to create a PostgreSQL CDC table. #10804
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v1.0.0 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
v0.19.0
This version was released on June 1, 2023.
Main changes
Installation
- Now, you can easily install RisingWave on your local machine with Homebrew by running
brew install risingwave
. See Run 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
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.19.0 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
v0.18.0
This version was released on March 31, 2023.
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
.
Main changes
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)
->varchar
starts_with(varchar, varchar)
->boolean
initcap(varchar)
->varchar
lpad(varchar, integer)
->varchar
lpad(varchar, integer, varchar)
->varchar
rpad(varchar, integer)
-> varcharrpad(varchar, integer, varchar)
->varchar
reverse(varchar)
->varchar
strpos(varchar, varchar)
->integer
to_ascii(varchar)
->varchar
to_hex(integer)
->varchar
to_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: https://github.com/risingwavelabs/risingwave/compare/v0.1.17...v0.18.0
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.18.0 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
v0.1.17
This version was released on February 28, 2023
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, #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.
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.1.17 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
v0.1.16
This version was released on February 1, 2023.
Main changes
Administration
- Adds support for aborting a query in local mode with
Ctrl + C
. #7444
SQL features
- Adds support for the
to_timestamp
function. #7060 - Adds support for the
RETURNING
clause in DML statements. #7094 - Breaking change: Deprecates
CREATE MATERIALIZED SOURCE
. To create a materialized source, create a table and include the newly added connector settings. #7281, #7110 - Adds support for the
c
andi
flags inregex_match()
andregex_matches()
functions. #7135 - Adds support for
SHOW CREATE TABLE
. You can use this statement to show the definition of a table. #7152 - Adds support for the
pg_stat_activity
system catalog and several system functions. #7274 - Adds the
_rw_kafka_timestamp
parameter to show the timestamps of Kafka messages. Users can now specify the scope of Kafka messages by timestamps. #7275, #7150 - Adds support for displaying PostgreSQL and RisingWave versions in
version()
. #7314 - Adds support for displaying internal tables using the
SHOW INTERNAL TABLES
statement. #7348 - Adds support for
SET VISIBILITY_MODE
You can use this session variable to configure whether only checkpoint data is readable for batch query. #5850 - Adds support for
SET STREAMING_PARALLELISM
. You can use this session variable to configure parallelism for streaming queries. #7370
Connectors
- Adds support for generating array and struct data using the datagen connector. #7099
- Adds the S3 source connector, with which users can ingest data in CSV format from S3 locations. For data ingestion from files, CSV is the only supported format and the files must be placed on S3. #6846
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.1.16 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
v0.1.15
This version was released on January 4, 2023.
Main changes
Installation and deployment
- Parallelism and available memory of compute nodes are now command-line arguments and removed from the configuration file. #6767
- The default barrier interval is set to 1 second. #6553
- Adds support for meta store backup and recovery. #6737
SQL features
- Adds support for
SHOW CREATE MATERIALIZED VIEW
andSHOW CREATE VIEW
to show how materialized and non-materialized views are defined. #6921 - Adds support for
CREATE TABLE IF NOT EXISTS
. #6643 - A sink can be created from a SELECT query. #6648
- Adds support for struct casting and comparison. #6552
- Adds pg_catalog views and system functions. #6982
- Adds support for
CREATE TABLE AS
. #6798 - Ads the initial support for batch query on Kafka source. #6474
- Adds support for
SET QUERY_EPOCH
to query historical data based on meta backup. #6840
Connectors
- Improves the handling of schema errors for Avro and Protobuf data. #6821
- Adds two options to the datagen connector to make it possible to generate increasing timestamp values. #6591
Observability
- Adds metrics for the backup manager in Grafana. #6898
- RisingWave Dashboard can now fetch data from Prometheus and visualize it in charts. #6602
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.1.15 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
v0.1.14
This version was released on December 1, 2022.
Main changes
SQL features
PRIMARY KEY
constraint checks can be performed on materialized sources and tables but not on non-materialized sources. For tables or materialized sources that enabledPRIMARY KEY
constraints, if you insert data to an existing key, the new data will overwrite the old data. #6320 #6435- Adds support for timestamp with time zone data type. You can use this data type in time window functions, and convert between it and timestamp (without time zone). #5855 #5910 #5968
- Adds support for
UNION
andUNION ALL
operators. #6363 #6397 - Implements the
rank()
function to support a different mode of Top-N queries. #6383 - Adds support for logical views (
CREATE VIEW
). #6023 - Adds the
data_trunc()
function. #6365 - Adds the system catalog schema. #6227
- Displays error messages when users enter conflicting or redundant command options. #5933
Connectors
- Adds support for the Maxwell Change Data Capture (CDC) format. #6057
- Protobuf schema files can be loaded from Web locations in
s3://
,http://
, orhttps://
formats. #6114 #5964 - Adds support for Confluent Schema Registry for Kafka data in Avro and Protobuf formats. #6289
- Adds two options to the Kinesis connector. Users can specify the startup mode and optionally the sequence number to start with. #6317
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.1.14 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
v0.1.13
This version was released on October 17, 2022.
Main changes
SQL features
SQL commands:
- Improves the formatting of response messages of
EXPLAIN
statements. #5541
- Improves the formatting of response messages of
SQL functions:
to_char()
now supports specifying output format in lowercase. #5032`to_char(timestamp '2006-01-02 15:04:05', 'yyyy-mm-dd hh24:mi:ss')` → `2006-01-02 15:04:05`
generate_series
now supports negative steps. #5231```sql
SELECT * FROM generate_series(5,1,-2);
generate_series
-----------------
5
3
1
(3 rows)
```Adds support for sum/min/max functions over interval-type data. #5105, #5549
Adds support for specifying empty arrays. #5402
Casting from array to varchar is now supported. #5081
`array[1,2]::varchar` → `{1,2}`
Casting from varchar to integer allows leading and trailing spaces. #5452
`' 1 '::int` → `1`
Adds new system catalog and psql meta-commands. #5127, #5742
\d
: Lists all relations in the current database. (Materialized) sources are not supported yet.\dt
: Lists all tables in the current database.\dm
: Lists all materialized views in the current database.\di
: Lists all indexes in the current database.pg_catalog.pg_index
: Contains information about indexes.
Connectors
- Nested columns are now supported for the datagen connector. #5550
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 risingwavelabs/risingwave:v0.1.13 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
v0.1.12
This version was released on September 7, 2022.
Main changes
SQL features
- SQL commands:
EXPLAIN
now supports specifying options. Supported options:trace
,verbose
, andtype
. Unlike PostgreSQL, each option should be separated by a comma and wrapped by parentheses as a whole. #4730- Adds support for
ALTER USER
. #4261 CREATE/ALTER USER
now has new optionsCREATEUSER
andNOCREATEUSER
, which specify whether or not the user has the privilege to create, alter, or drop other users. #4447- Adds support for EXPLAIN CREATE SINK. #4430
- SQL functions:
- Adds support for new system information functions:
current_schema
,current_schema()
, andsession_user
. #4358
- Adds support for new system information functions:
- The
pg_namespace
catalog now has a new namespace columnnspacl
for storing access privileges. #4326
Connectors
Some connector parameters were renamed. The old parameter names are still functional but may be deprecated in the future. #4503
Kafka & Redpanda
kafka.brokers
->properties.bootstrap.server
kafka.topic
->topic
kafka.scan.startup.mode
->scan.starup.mode
kafka.time.offset
->scan.startup.timestamp_millis
kafka.consumer.group
->consumer.group.id
Kinesis
kinesis.stream.name
->stream
kinesis.stream.region
->aws.region
kinesis.endpoint
->endpoint
kinesis.credentials.access
->aws.credentials.access_key_id
kinesis.credentials.secret
->aws.credentials.secret_access_key
kinesis.credentials.session_token
->aws.credentials.session_token
kinesis.assumerole.arn
->aws.credentials.role.arn
kinesis.assumerole.external_id
->aws.credentials.role.external_id
Pulsar
pulsar.topic
->topic
pulsar.admin.url
->admin.url
pulsar.service.url
->service.url
pulsar.scan.startup.mode
->scan.startup.mode
pulsar.time.offset
->scan.startup.timestamp_millis
The row format name,
debezium json
, for CDC stream sources, has been renamed todebezium_json
. #4494
Configuration changes
- The default batch query execution mode was changed from distributed to local. #4789
Assets
- Run this version from Docker:
docker run -it --pull=always -p 4566:4566 -p 5691:5691 ghcr.io/risingwavelabs/risingwave:v0.1.12 playground
- Prebuilt library for Linux is not available in this release.
- Source code (zip)
- Source code (tar.gz)
v0.1.11
This version was released on July 29, 2022.
Main changes
SQL features
- New SQL functions:
overlay()
: Replaces a substring. #3671generate_series()
: Generates a series of values from the starting point to the ending point. #4030regexp_match()
,regexp_matches()
: Compares a string against a regular expression pattern and returns matched substrings. #3702 #4062string_agg ()
: Concatenates the values into a string. #3952 #4183current_database()
: Returns the current database. #3650
- New SQL commands:
- Support for lookup joins. Currently, lookup joins can only be performed in local query mode. To use lookup joins, users need to set the configuration parameter
rw_batch_enable_lookup_join
to true. #3859 #3763 - An
ORDER BY
clause in theCREATE MATERIALIZED VIEW
statement is allowed but not considered as part of the definition of the materialized view. It is only used in the initial creation of the materialized view. It is not used during refreshes. This is a behavior change due to the introduction of parallel table scans. #3670 - Support for filter clauses on aggregate functions. #4114
Connectors
- RisingWave can now sink data to Kafka topics in append-only mode and Debezium mode. #3923 #3682 #3674
- Syntax change for
CREATE SOURCE
: A parameter name is no longer wrapped by single quotation marks. #3997. See the example:- Old:
CREATE SOURCE s1 WITH ( 'connector' = 'kafka', 'kafka.topic' = 'kafka_1_partition_topic', 'kafka.brokers' = '127.0.0.1:29092' ) ROW FORMAT json;
- New:
CREATE SOURCE s WITH ( connector = 'kafka', kafka.topic = 'kafka_1_partition_topic', kafka.brokers = '127.0.0.1:29092' ) ROW FORMAT json;
- Old:
Assets
- Run this version from Docker:
run -it --pull=always -p 4566:4566 -p 5691:5691 ghcr.io/risingwavelabs/risingwave:v0.1.11 playground
- Prebuilt library for Linux
- Source code (zip)
- Source code (tar.gz)
v0.1.10
This version was released on July 5, 2022.
Main changes
SQL features
SQL operators and functions
- Support string concatenation operator
||
. #3147 - Support interval comparison. #3222
- Support dividing intervals by integers, floats, or decimals. #3441
- Intervals multiplying intervals by floats. #3641
- Support more temporal operations. #3472
- Support Common Table Expressions (CTEs) as input of time window functions. #3188
- Add these new functions:
concat()
for concatenating strings #3091repeat()
for repeating string #3148octet_length()
and bit_length() for getting string length #3526Row()
for constructing rows #2914 #3152pg_typeof()
for getting data types of values #3494current_database()
for getting the name of the current database in the session #3650approx_count_distinct()
for distinct counting #3121unnest()
for expanding nested tables to rows #3017
- Support
count()
,min()
, andmax()
functions on these data types: interval, timestamp, varchar, and date. #3069
SQL commands
- Support
EXPLAIN CREATE INDEX
. #3229 - Add cascade and restrict options in
REVOKE
commands. #3363 - Expand the
CREATE TABLE
syntax to support creating append-only tables. #3058 - Support the
CREATE USER
command and user authentication. #3074
Data types
- Support implicit casts from single-quoted literals. #3487
- Add string as an alias for data type varchar. #3094
- Support string intervals. #3037
Database management
- Add the default super user “postgres”. #3127
- The default schema name is changed to “public” from “dev”. #3166
Connectors
- Add random seed for the Datagen Source Connector. #3124