UPDATE ENTITY

Syntax

UPDATE ENTITY entity_name
[IN STORE store_name]
[WITH (entity_parameter = value [, ...])];

Description

Updates a Store object or entity with the entity_parameter. You can only update logical-layer parameters of an entity after it's been created. (Logical-layer parameters are the ones that allow DeltaStream to operate on the entity.) To update physical-layer parameters, you must recreate an entity. See DROP ENTITY and CREATE ENTITY.

Arguments

entity_name

The name of the existing entity to update. If the name is case sensitive you must wrap it in double quotes; otherwise the system uses the lower case name.

IN STORE store_name

Optionally, update the entity in a specific store. If the name is case sensitive you must wrap it in double quotes; otherwise the system uses the lower case name.

WITH (entity_parameter = value [, …​])

Optionally, this clause specifies Entity Parameters.

Entity Parameters

Parameter Name
Description

key.descriptor

A qualified descriptor name used to decode a record's key, if applicable. Clear the descriptor by specifying NULL. Required: No Default value: None Type: String Valid values: See LIST DESCRIPTORS

value.descriptor

A qualified descriptor name used to decode a record's value. Clear the descriptor by specifying NULL. Required: No Default value: None Type: String Valid values: See LIST DESCRIPTORS

Examples

Add descriptors to a Kafka topic

The following updates the key and value descriptors for the entity transactions in the user's default store, demostore:

demodb.public/kafka_store# LIST DESCRIPTORS;
+--------------+--------------+----------+----------+-------------------------------+-------------------------------+
|  Name        |  Source Name |  Type    |  Owner   |  Created At                   |  Updated At                   |
+==============+==============+==========+==========+===============================+===============================+
| PageviewsKey | pb_key       | protobuf | sysadmin | 2024-07-16 21:23:01 +0000 UTC | 2024-07-16 21:23:01 +0000 UTC |
+--------------+--------------+----------+----------+-------------------------------+-------------------------------+
| Pageviews    | pb           | protobuf | sysadmin | 2024-07-16 21:15:50 +0000 UTC | 2024-07-16 21:15:50 +0000 UTC |
+--------------+--------------+----------+----------+-------------------------------+-------------------------------+
demodb.public/kafka_store# UPDATE ENTITY pageviews WITH ('key.descriptor' = pb_key."PageviewsKey", 'value.descriptor' = pb."Pageviews");
+--------+-----------+----------+------------------------------------------+
|  Type  |  Name     |  Command |  Summary                                 |
+========+===========+==========+==========================================+
| entity | pageviews | UPDATE   | entity "pageviews" was successfully      |
|        |           |          | updated in store "kafka_store"           |
+--------+-----------+----------+------------------------------------------+
demodb.public/kafka_store# DESCRIBE ENTITY pageviews;
+-----------+-------------+-----------+---------------------+-------------------+----------+
|  Name     |  Partitions |  Replicas |  Key Descriptor     |  Value Descriptor |  Configs |
+===========+=============+===========+=====================+===================+==========+
| pageviews | 1           | 1         | pb_key.PageviewsKey | pb.Pageviews      | {}       |
+-----------+-------------+-----------+---------------------+-------------------+----------+

Add descriptor to a Kinesis data stream

The following updates the descriptor for the entity pageviews in the store, kinesis_store:

demodb.public/kinesis_store# LIST DESCRIPTORS;
+-----------+--------------+----------+----------+-------------------------------+-------------------------------+
|  Name     |  Source Name |  Type    |  Owner   |  Created At                   |  Updated At                   |
+===========+==============+==========+==========+===============================+===============================+
| Pageviews | pb           | protobuf | sysadmin | 2024-07-16 21:15:50 +0000 UTC | 2024-07-16 21:15:50 +0000 UTC |
+-----------+--------------+----------+----------+-------------------------------+-------------------------------+
demodb.public/kinesis_store# UPDATE ENTITY pageviews WITH ('value.descriptor' = pb."Pageviews");
+--------+-----------+----------+------------------------------------------+
|  Type  |  Name     |  Command |  Summary                                 |
+========+===========+==========+==========================================+
| entity | pageviews | UPDATE   | entity "pageviews" was successfully      |
|        |           |          | updated in store "kinesis_store"         |
+--------+-----------+----------+------------------------------------------+
demodb.public/kinesis_store# DESCRIBE ENTITY pageviews;
+-----------+---------+--------------+
|  Name     |  Shards |  Descriptor  |
+===========+=========+==============+
| pageviews | 1       | pb.Pageviews |
+-----------+---------+--------------+

Remove descriptors from a Kafka topic

The following sets the key and value descriptors for the entity transactions in the user's default store to be NULL:

demodb.public/kafka_store# UPDATE ENTITY pageviews WITH ('key.descriptor' = NULL, 'value.descriptor' = NULL);
+--------+-----------+----------+------------------------------------------+
|  Type  |  Name     |  Command |  Summary                                 |
+========+===========+==========+==========================================+
| entity | pageviews | UPDATE   | entity "pageviews" was successfully      |
|        |           |          | updated in store "kafka_store"           |
+--------+-----------+----------+------------------------------------------+
demodb.public/kafka_store# DESCRIBE ENTITY pageviews;
+-----------+-------------+-----------+-----------------+-------------------+----------+
|  Name     |  Partitions |  Replicas |  Key Descriptor |  Value Descriptor |  Configs |
+===========+=============+===========+=================+===================+==========+
| pageviews | 1           | 1         | <null>          | <null>            | {}       |
+-----------+-------------+-----------+-----------------+-------------------+----------+

Add value descriptor to entity in a specific Kafka store

The following sets the value descriptor for the entity xActs in a specific store, OtherStore:

demodb.public/kinesis_store# LIST DESCRIPTORS;
+-----------+--------------+----------+----------+-------------------------------+-------------------------------+
|  Name     |  Source Name |  Type    |  Owner   |  Created At                   |  Updated At                   |
+===========+==============+==========+==========+===============================+===============================+
| Pageviews | pb           | protobuf | sysadmin | 2024-07-16 21:15:50 +0000 UTC | 2024-07-16 21:15:50 +0000 UTC |
+-----------+--------------+----------+----------+-------------------------------+-------------------------------+
demodb.public/kinesis_store# UPDATE ENTITY "xActs" IN STORE "OtherStore" WITH ('value.descriptor' = pb."Pageviews");
+--------+---------+----------+---------------------------------------+
|  Type  |  Name   |  Command |  Summary                              |
+========+=========+==========+=======================================+
| entity | xActs   | UPDATE   | entity "xActs" was successfully       |
|        |         |          | updated in store "OtherStore"         |
+--------+---------+----------+---------------------------------------+
demodb.public/kafka_store# DESCRIBE ENTITY "xActs" IN STORE "OtherStore";
+-----------+-------------+-----------+-----------------+-------------------+----------+
|  Name     |  Partitions |  Replicas |  Key Descriptor |  Value Descriptor |  Configs |
+===========+=============+===========+=================+===================+==========+
| xActs     | 1           | 2         | <null>          | pb.Pageviews      | {}       |
+-----------+-------------+-----------+-----------------+-------------------+----------+

Last updated