citus/src/backend/distributed/worker
Gokhan Gulbiz e71bfd6074
Identity column implementation refactorings (#6738)
This pull request proposes a change to the logic used for propagating
identity columns to worker nodes in citus. Instead of creating a
dependent sequence for each identity column and changing its default
value to `nextval(seq)/worker_nextval(seq)`, this update will pass the
identity columns as-is to the worker nodes.

Please note that there are a few limitations to this change. 

1. Only bigint identity columns will be allowed in distributed tables to
ensure compatibility with the DDL from any node functionality. Our
current distributed sequence implementation only allows insert
statements from all nodes for bigint sequences.
2. `alter_distributed_table` and `undistribute_table` operations will
not be allowed for tables with identity columns. This is because we do
not have a proper way of keeping sequence states consistent across the
cluster.

DESCRIPTION: Prevents using identity columns on data types other than
`bigint` on distributed tables
DESCRIPTION: Prevents using `alter_distributed_table` and
`undistribute_table` UDFs when a table has identity columns
DESCRIPTION: Fixes a bug that prevents enforcing identity column
restrictions on worker nodes

Depends on #6740
Fixes #6694
2023-03-30 10:41:01 +03:00
..
task_tracker_protocol.c update test outputs with task-tracker removal 2020-07-21 16:25:08 +03:00
worker_create_or_replace.c Propagate CREATE PUBLICATION statements 2023-03-29 00:59:12 +02:00
worker_data_fetch_protocol.c Identity column implementation refactorings (#6738) 2023-03-30 10:41:01 +03:00
worker_drop_protocol.c Drop SHARD_STATE_TO_DELETE (#6494) 2023-01-03 14:38:16 +03:00
worker_partition_protocol.c Remove old re-partitioning functions 2022-04-04 18:11:52 +02:00
worker_shard_visibility.c Hide shards from CDC subscriptions 2023-03-29 00:59:12 +02:00
worker_sql_task_protocol.c Refactor/partitioned result destreceiver (#5432) 2021-11-05 13:31:18 +01:00
worker_truncate_trigger_protocol.c Use current user to sync metadata 2021-07-16 13:25:27 +02:00