mirror of https://github.com/citusdata/citus.git
Move citus_internal_delete_shard_metadata
parent
f734d399cf
commit
6ddb6d86d1
|
@ -1354,7 +1354,7 @@ ShardDeleteCommandList(ShardInterval *shardInterval)
|
|||
|
||||
StringInfo deleteShardCommand = makeStringInfo();
|
||||
appendStringInfo(deleteShardCommand,
|
||||
"SELECT citus_internal_delete_shard_metadata(%ld);", shardId);
|
||||
"SELECT citus_internal.delete_shard_metadata(%ld);", shardId);
|
||||
|
||||
return list_make1(deleteShardCommand->data);
|
||||
}
|
||||
|
|
|
@ -1314,7 +1314,7 @@ DropShardListMetadata(List *shardIntervalList)
|
|||
{
|
||||
ListCell *commandCell = NULL;
|
||||
|
||||
/* send the commands one by one (calls citus_internal_delete_shard_metadata internally) */
|
||||
/* send the commands one by one (calls citus_internal.delete_shard_metadata internally) */
|
||||
List *shardMetadataDeleteCommandList = ShardDeleteCommandList(shardInterval);
|
||||
foreach(commandCell, shardMetadataDeleteCommandList)
|
||||
{
|
||||
|
|
|
@ -36,3 +36,4 @@ REVOKE ALL ON FUNCTION citus_internal.start_management_transaction FROM PUBLIC;
|
|||
#include "udfs/citus_internal_delete_colocation_metadata/12.2-1.sql"
|
||||
#include "udfs/citus_internal_delete_partition_metadata/12.2-1.sql"
|
||||
#include "udfs/citus_internal_delete_placement_metadata/12.2-1.sql"
|
||||
#include "udfs/citus_internal_delete_shard_metadata/12.2-1.sql"
|
||||
|
|
|
@ -32,4 +32,5 @@ DROP FUNCTION citus_internal.add_tenant_schema(oid, integer);
|
|||
DROP FUNCTION citus_internal.adjust_local_clock_to_remote(pg_catalog.cluster_clock);
|
||||
DROP FUNCTION citus_internal.delete_colocation_metadata(int);
|
||||
DROP FUNCTION citus_internal.delete_partition_metadata(regclass);
|
||||
DROP FUNCTION citus_internal.delete_placement_metadata(bigint);
|
||||
DROP FUNCTION citus_internal.delete_placement_metadata(bigint);
|
||||
DROP FUNCTION citus_internal.delete_shard_metadata(bigint);
|
14
src/backend/distributed/sql/udfs/citus_internal_delete_shard_metadata/12.2-1.sql
generated
Normal file
14
src/backend/distributed/sql/udfs/citus_internal_delete_shard_metadata/12.2-1.sql
generated
Normal file
|
@ -0,0 +1,14 @@
|
|||
CREATE OR REPLACE FUNCTION citus_internal.delete_shard_metadata(shard_id bigint)
|
||||
RETURNS void
|
||||
LANGUAGE C STRICT
|
||||
AS 'MODULE_PATHNAME', $$citus_internal_delete_shard_metadata$$;
|
||||
COMMENT ON FUNCTION citus_internal.delete_shard_metadata(bigint) IS
|
||||
'Deletes rows from pg_dist_shard and pg_dist_shard_placement with user checks';
|
||||
|
||||
CREATE OR REPLACE FUNCTION pg_catalog.citus_internal_delete_shard_metadata(shard_id bigint)
|
||||
RETURNS void
|
||||
LANGUAGE C STRICT
|
||||
AS 'MODULE_PATHNAME';
|
||||
COMMENT ON FUNCTION pg_catalog.citus_internal_delete_shard_metadata(bigint) IS
|
||||
'Deletes rows from pg_dist_shard and pg_dist_shard_placement with user checks';
|
||||
|
|
@ -1,3 +1,10 @@
|
|||
CREATE OR REPLACE FUNCTION citus_internal.delete_shard_metadata(shard_id bigint)
|
||||
RETURNS void
|
||||
LANGUAGE C STRICT
|
||||
AS 'MODULE_PATHNAME', $$citus_internal_delete_shard_metadata$$;
|
||||
COMMENT ON FUNCTION citus_internal.delete_shard_metadata(bigint) IS
|
||||
'Deletes rows from pg_dist_shard and pg_dist_shard_placement with user checks';
|
||||
|
||||
CREATE OR REPLACE FUNCTION pg_catalog.citus_internal_delete_shard_metadata(shard_id bigint)
|
||||
RETURNS void
|
||||
LANGUAGE C STRICT
|
||||
|
|
|
@ -1197,7 +1197,7 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|||
\set VERBOSITY terse
|
||||
WITH shard_data(shardid)
|
||||
AS (VALUES (1420007))
|
||||
SELECT citus_internal_delete_shard_metadata(shardid) FROM shard_data;
|
||||
SELECT citus_internal.delete_shard_metadata(shardid) FROM shard_data;
|
||||
ERROR: must be owner of table super_user_table
|
||||
ROLLBACK;
|
||||
-- the user cannot delete non-existing shards
|
||||
|
@ -1212,7 +1212,7 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|||
\set VERBOSITY terse
|
||||
WITH shard_data(shardid)
|
||||
AS (VALUES (1420100))
|
||||
SELECT citus_internal_delete_shard_metadata(shardid) FROM shard_data;
|
||||
SELECT citus_internal.delete_shard_metadata(shardid) FROM shard_data;
|
||||
ERROR: Shard id does not exists: 1420100
|
||||
ROLLBACK;
|
||||
-- sucessfully delete shards
|
||||
|
@ -1239,8 +1239,8 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|||
\set VERBOSITY terse
|
||||
WITH shard_data(shardid)
|
||||
AS (VALUES (1420000))
|
||||
SELECT citus_internal_delete_shard_metadata(shardid) FROM shard_data;
|
||||
citus_internal_delete_shard_metadata
|
||||
SELECT citus_internal.delete_shard_metadata(shardid) FROM shard_data;
|
||||
delete_shard_metadata
|
||||
---------------------------------------------------------------------
|
||||
|
||||
(1 row)
|
||||
|
|
|
@ -1435,10 +1435,11 @@ SELECT * FROM multi_extension.print_extension_changes();
|
|||
| function citus_internal.delete_colocation_metadata(integer) void
|
||||
| function citus_internal.delete_partition_metadata(regclass) void
|
||||
| function citus_internal.delete_placement_metadata(bigint) void
|
||||
| function citus_internal.delete_shard_metadata(bigint) void
|
||||
| function citus_internal.execute_command_on_remote_nodes_as_user(text,text) void
|
||||
| function citus_internal.mark_object_distributed(oid,text,oid,text) void
|
||||
| function citus_internal.start_management_transaction(xid8) void
|
||||
(16 rows)
|
||||
(17 rows)
|
||||
|
||||
DROP TABLE multi_extension.prev_objects, multi_extension.extension_diff;
|
||||
-- show running version
|
||||
|
|
|
@ -69,6 +69,7 @@ ORDER BY 1;
|
|||
function citus_internal.delete_colocation_metadata(integer)
|
||||
function citus_internal.delete_partition_metadata(regclass)
|
||||
function citus_internal.delete_placement_metadata(bigint)
|
||||
function citus_internal.delete_shard_metadata(bigint)
|
||||
function citus_internal.execute_command_on_remote_nodes_as_user(text,text)
|
||||
function citus_internal.find_groupid_for_node(text,integer)
|
||||
function citus_internal.mark_object_distributed(oid,text,oid,text)
|
||||
|
@ -359,5 +360,5 @@ ORDER BY 1;
|
|||
view citus_stat_tenants_local
|
||||
view pg_dist_shard_placement
|
||||
view time_partitions
|
||||
(349 rows)
|
||||
(350 rows)
|
||||
|
||||
|
|
|
@ -745,7 +745,7 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|||
\set VERBOSITY terse
|
||||
WITH shard_data(shardid)
|
||||
AS (VALUES (1420007))
|
||||
SELECT citus_internal_delete_shard_metadata(shardid) FROM shard_data;
|
||||
SELECT citus_internal.delete_shard_metadata(shardid) FROM shard_data;
|
||||
ROLLBACK;
|
||||
|
||||
-- the user cannot delete non-existing shards
|
||||
|
@ -755,7 +755,7 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|||
\set VERBOSITY terse
|
||||
WITH shard_data(shardid)
|
||||
AS (VALUES (1420100))
|
||||
SELECT citus_internal_delete_shard_metadata(shardid) FROM shard_data;
|
||||
SELECT citus_internal.delete_shard_metadata(shardid) FROM shard_data;
|
||||
ROLLBACK;
|
||||
|
||||
|
||||
|
@ -770,7 +770,7 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
|||
\set VERBOSITY terse
|
||||
WITH shard_data(shardid)
|
||||
AS (VALUES (1420000))
|
||||
SELECT citus_internal_delete_shard_metadata(shardid) FROM shard_data;
|
||||
SELECT citus_internal.delete_shard_metadata(shardid) FROM shard_data;
|
||||
|
||||
SELECT count(*) FROM pg_dist_shard WHERE shardid = 1420000;
|
||||
SELECT count(*) FROM pg_dist_placement WHERE shardid = 1420000;
|
||||
|
|
Loading…
Reference in New Issue