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. Only logical-layer parameters of an Entity may be updated after it's been created. Logical-layer parameters are the ones that allow DeltaStream to operate on the Entity. For updating physical-layer parameters, an Entity must be recreated. See DROP ENTITY and CREATE ENTITY.

Arguments

entity_name

The name of the existing Entity to update. For case-sensitive names, the name must be wrapped in double quotes, otherwise, the lowercased name will be used.

IN STORE store_name

Optionally, update the Entity in a specific Store. For case-sensitive names, the name must be wrapped in double quotes, otherwise, the lowercased name will be used.

WITH (entity_parameter = value [, …​])

Optionally, this clause specifies Entity Parameters.

Entity Parameters

Parameter NameDescription

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