The RisingWave team continues to deliver impressive features and updates with this new v1.4 release. This release continues to introduce new upstream and downstream connectors while improving upon existing ones. New functions and operators have also been added to allow for more complex data transformations. Follow along as we highlight some of the more notable features.
If you are interested in the full list of v1.4 updates, see the release note.
A new version of the S3 source connector
This release of RisingWave introduces a new version of the existing AWS S3 source connector. This improved version of the S3 source connector aims to resolve the scalability issues that the previous connector faced. The method of creating an S3 source with the improved connector is almost exactly the same as before. If you are interested in testing the integration between AWS S3 and RisingWave, we recommend using the upgraded version of the S3 source connector for a stable, hassle-free experience.
For more details:
- See Ingest data from S3.
- See the design document.
New sink connectors
The RisingWave team continues to improve RisingWave’s ability to connect to more systems, allowing RisingWave to be easily incorporated with any existing data stack. Check out our Integrations page for a list of supported systems. You can also vote to signal support for a specific integration to prioritize its development. With this release, RisingWave can sink data to Doris, Google BigQuery, and Redis. BigQuery, Doris, and Redis can all be used as a data storage tool. Using a simple SQL command, you can easily create a sink in RisingWave to output data to all these systems.
For more details:
- See Doris sink documentation.
- See Google BigQuery sink documentation.
- See Redis sink documentation.
- See Integrations page.
Support for COMMENT ON command
We now offer support for the COMMENT ON command. With this command, you can add comments to tables and columns, providing you with the ability to add documentation to the database objects. For current and future collaborators, the extra comments may allow them to quickly understand the purpose and usage of the tables and columns.
The following SQL query adds a comment to the table t1.
<span style="background-color: initial;">COMMENT ON TABLE t1 IS 'this is table 1';</span>
To see the comment made, you can select from the rw_description RisingWave catalog.
<span style="background-color: initial;">SELECT * FROM rw_description; </span><span style="background-color: initial;">------- </span><span style="background-color: initial;">objoid | classoid | objsubid | description </span><span style="background-color: initial;">-------+----------+----------+------------------- </span><span style="background-color: initial;">1001 | 41 | | this is table 1</span>
You can also use the SHOW COLUMNS or DESCRIBE commands for the same purpose.
For more details:
- See the documentation for the
COMMENT ONcommand.
Support for subqueries in UPDATE and DELETE commands
You can now include a subquery when using the UPDATE or DELETE command. This allows for more complex data manipulations and easier data clean-up as you are able to perform updates and deletions based on specific conditions.
<code>UPDATE table_name </code><span style="background-color: initial;">SET col_1 = col_1 * 2.2 </span><span style="background-color: initial;">WHERE col_1 NOT IN (SELECT col_2 FROM drop_vals);</span>
For more details:
- See the documentation for the_
UPDATE_clause. - See the documentation for the
DELETEclause.
A multitude of new JSON functions and operators
These new JSON functions and operators introduced in RisingWave handle JSONB types as inputs or outputs. In RisingWave, JSONB is a data type that enables you to create a column that stores JSON data. If being able to JSONB data types improves your data cleaning and transformation experience, these new features may come in handy.
This release introduces numerous JSON operators, allowing you to easily manipulate JSON data in RisingWave. Here are some examples of the new JSON operators:
- The
@>operator, which checks if the leftJSONBobject contains the values that are in the rightJSONBobject.
<code>'[1, 2, 3]'::jsonb @> '[1, 3]'::jsonb → t</code>
- The
-operator, which deletes a key-value pair, all matching keys, array elements, or an element at the specified index from a JSON object.
<code>'{"a": "b", "c": "d"}'::jsonb - 'a' → {"c": "d"}</code>
- The
#-operator, which deletes the element at the specified path. The path element can be field keys or array indexes.
<code>'["a", {"b":1}]'::jsonb #- '{1,b}' → ["a", {}]</code>
The full list of operators includes: @>, <@, ?, ?| , ?&, #>, #>>, - and #-.
Four new JSON functions have also been added and they include jsonb_extract_path, jsonb_object, jsonb_pretty, and jsonb_strip_nulls. We will briefly introduce the jsonb_object and jsonb_pretty functions.
jsonb_objectturns the input array of text elements and returns aJSONBobject, where adjacent values in the string are read as key-value pairs.
<code>jsonb_object(array['a', null]) → {"a": null}</code>
jsonb_prettyoutputs the inputJSONBobject as a nicely formatted text.
SELECT jsonb_pretty('[{"f1":1,"f2":null}, 2]');
------RESULT
[
{
"f1": 1,
"f2": null
},
2
]
For more details:
- See the documentation on JSON functions and operators.
- See the
JSONBdata type.
These are just some of the new features included with the release of RisingWave v1.4. To get the entire list of updates, which includes new window functions, additional upgrades to existing connectors, and more, please refer to the detailed release notes. Look out for next month’s edition to see what new, exciting features will be added. Check out the RisingWave GitHub repository to stay up to date on the newest features and planned releases. Sign up for our monthly newsletter if you’d like to keep up to date on all the happenings with RisingWave. Follow us on Twitter and Linkedin, and join our Slack community to talk to our engineers and hundreds of streaming enthusiasts worldwide. > >

