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();
|
StringInfo deleteShardCommand = makeStringInfo();
|
||||||
appendStringInfo(deleteShardCommand,
|
appendStringInfo(deleteShardCommand,
|
||||||
"SELECT citus_internal_delete_shard_metadata(%ld);", shardId);
|
"SELECT citus_internal.delete_shard_metadata(%ld);", shardId);
|
||||||
|
|
||||||
return list_make1(deleteShardCommand->data);
|
return list_make1(deleteShardCommand->data);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1314,7 +1314,7 @@ DropShardListMetadata(List *shardIntervalList)
|
||||||
{
|
{
|
||||||
ListCell *commandCell = NULL;
|
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);
|
List *shardMetadataDeleteCommandList = ShardDeleteCommandList(shardInterval);
|
||||||
foreach(commandCell, shardMetadataDeleteCommandList)
|
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_colocation_metadata/12.2-1.sql"
|
||||||
#include "udfs/citus_internal_delete_partition_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_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.adjust_local_clock_to_remote(pg_catalog.cluster_clock);
|
||||||
DROP FUNCTION citus_internal.delete_colocation_metadata(int);
|
DROP FUNCTION citus_internal.delete_colocation_metadata(int);
|
||||||
DROP FUNCTION citus_internal.delete_partition_metadata(regclass);
|
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)
|
CREATE OR REPLACE FUNCTION pg_catalog.citus_internal_delete_shard_metadata(shard_id bigint)
|
||||||
RETURNS void
|
RETURNS void
|
||||||
LANGUAGE C STRICT
|
LANGUAGE C STRICT
|
||||||
|
|
|
@ -1197,7 +1197,7 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||||
\set VERBOSITY terse
|
\set VERBOSITY terse
|
||||||
WITH shard_data(shardid)
|
WITH shard_data(shardid)
|
||||||
AS (VALUES (1420007))
|
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
|
ERROR: must be owner of table super_user_table
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
-- the user cannot delete non-existing shards
|
-- the user cannot delete non-existing shards
|
||||||
|
@ -1212,7 +1212,7 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||||
\set VERBOSITY terse
|
\set VERBOSITY terse
|
||||||
WITH shard_data(shardid)
|
WITH shard_data(shardid)
|
||||||
AS (VALUES (1420100))
|
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
|
ERROR: Shard id does not exists: 1420100
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
-- sucessfully delete shards
|
-- sucessfully delete shards
|
||||||
|
@ -1239,8 +1239,8 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||||
\set VERBOSITY terse
|
\set VERBOSITY terse
|
||||||
WITH shard_data(shardid)
|
WITH shard_data(shardid)
|
||||||
AS (VALUES (1420000))
|
AS (VALUES (1420000))
|
||||||
SELECT citus_internal_delete_shard_metadata(shardid) FROM shard_data;
|
SELECT citus_internal.delete_shard_metadata(shardid) FROM shard_data;
|
||||||
citus_internal_delete_shard_metadata
|
delete_shard_metadata
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
|
|
||||||
(1 row)
|
(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_colocation_metadata(integer) void
|
||||||
| function citus_internal.delete_partition_metadata(regclass) void
|
| function citus_internal.delete_partition_metadata(regclass) void
|
||||||
| function citus_internal.delete_placement_metadata(bigint) 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.execute_command_on_remote_nodes_as_user(text,text) void
|
||||||
| function citus_internal.mark_object_distributed(oid,text,oid,text) void
|
| function citus_internal.mark_object_distributed(oid,text,oid,text) void
|
||||||
| function citus_internal.start_management_transaction(xid8) void
|
| function citus_internal.start_management_transaction(xid8) void
|
||||||
(16 rows)
|
(17 rows)
|
||||||
|
|
||||||
DROP TABLE multi_extension.prev_objects, multi_extension.extension_diff;
|
DROP TABLE multi_extension.prev_objects, multi_extension.extension_diff;
|
||||||
-- show running version
|
-- show running version
|
||||||
|
|
|
@ -69,6 +69,7 @@ ORDER BY 1;
|
||||||
function citus_internal.delete_colocation_metadata(integer)
|
function citus_internal.delete_colocation_metadata(integer)
|
||||||
function citus_internal.delete_partition_metadata(regclass)
|
function citus_internal.delete_partition_metadata(regclass)
|
||||||
function citus_internal.delete_placement_metadata(bigint)
|
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.execute_command_on_remote_nodes_as_user(text,text)
|
||||||
function citus_internal.find_groupid_for_node(text,integer)
|
function citus_internal.find_groupid_for_node(text,integer)
|
||||||
function citus_internal.mark_object_distributed(oid,text,oid,text)
|
function citus_internal.mark_object_distributed(oid,text,oid,text)
|
||||||
|
@ -359,5 +360,5 @@ ORDER BY 1;
|
||||||
view citus_stat_tenants_local
|
view citus_stat_tenants_local
|
||||||
view pg_dist_shard_placement
|
view pg_dist_shard_placement
|
||||||
view time_partitions
|
view time_partitions
|
||||||
(349 rows)
|
(350 rows)
|
||||||
|
|
||||||
|
|
|
@ -745,7 +745,7 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||||
\set VERBOSITY terse
|
\set VERBOSITY terse
|
||||||
WITH shard_data(shardid)
|
WITH shard_data(shardid)
|
||||||
AS (VALUES (1420007))
|
AS (VALUES (1420007))
|
||||||
SELECT citus_internal_delete_shard_metadata(shardid) FROM shard_data;
|
SELECT citus_internal.delete_shard_metadata(shardid) FROM shard_data;
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
|
|
||||||
-- the user cannot delete non-existing shards
|
-- the user cannot delete non-existing shards
|
||||||
|
@ -755,7 +755,7 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||||
\set VERBOSITY terse
|
\set VERBOSITY terse
|
||||||
WITH shard_data(shardid)
|
WITH shard_data(shardid)
|
||||||
AS (VALUES (1420100))
|
AS (VALUES (1420100))
|
||||||
SELECT citus_internal_delete_shard_metadata(shardid) FROM shard_data;
|
SELECT citus_internal.delete_shard_metadata(shardid) FROM shard_data;
|
||||||
ROLLBACK;
|
ROLLBACK;
|
||||||
|
|
||||||
|
|
||||||
|
@ -770,7 +770,7 @@ BEGIN TRANSACTION ISOLATION LEVEL READ COMMITTED;
|
||||||
\set VERBOSITY terse
|
\set VERBOSITY terse
|
||||||
WITH shard_data(shardid)
|
WITH shard_data(shardid)
|
||||||
AS (VALUES (1420000))
|
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_shard WHERE shardid = 1420000;
|
||||||
SELECT count(*) FROM pg_dist_placement WHERE shardid = 1420000;
|
SELECT count(*) FROM pg_dist_placement WHERE shardid = 1420000;
|
||||||
|
|
Loading…
Reference in New Issue