Fix worker partitioned size functions (#4922)

pull/4924/head^2
Ahmet Gedemenli 2021-04-26 10:29:46 +03:00 committed by GitHub
parent 8cd9b8d8af
commit 332c5ce4ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 29 additions and 29 deletions

View File

@ -16,8 +16,8 @@ COMMENT ON FUNCTION create_distributed_table(table_name regclass,
colocate_with text)
IS 'creates a distributed table';
DROP FUNCTION pg_catalog.worker_partitioned_relation_total_size(text);
DROP FUNCTION pg_catalog.worker_partitioned_relation_size(text);
DROP FUNCTION pg_catalog.worker_partitioned_table_size(text);
DROP FUNCTION pg_catalog.worker_partitioned_relation_total_size(regclass);
DROP FUNCTION pg_catalog.worker_partitioned_relation_size(regclass);
DROP FUNCTION pg_catalog.worker_partitioned_table_size(regclass);
#include "../udfs/citus_finish_pg_upgrade/10.0-1.sql"

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE FUNCTION worker_partitioned_relation_size(relation text)
CREATE OR REPLACE FUNCTION worker_partitioned_relation_size(relation regclass)
RETURNS bigint AS $$
SELECT sum(pg_relation_size(relid))::bigint
FROM (SELECT relid from pg_partition_tree(relation)) partition_tree;
$$ LANGUAGE SQL;
COMMENT ON FUNCTION pg_catalog.worker_partitioned_relation_size(text)
COMMENT ON FUNCTION pg_catalog.worker_partitioned_relation_size(regclass)
IS 'Calculates and returns the size of a partitioned relation';

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE FUNCTION worker_partitioned_relation_size(relation text)
CREATE OR REPLACE FUNCTION worker_partitioned_relation_size(relation regclass)
RETURNS bigint AS $$
SELECT sum(pg_relation_size(relid))::bigint
FROM (SELECT relid from pg_partition_tree(relation)) partition_tree;
$$ LANGUAGE SQL;
COMMENT ON FUNCTION pg_catalog.worker_partitioned_relation_size(text)
COMMENT ON FUNCTION pg_catalog.worker_partitioned_relation_size(regclass)
IS 'Calculates and returns the size of a partitioned relation';

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE FUNCTION worker_partitioned_relation_total_size(relation text)
CREATE OR REPLACE FUNCTION worker_partitioned_relation_total_size(relation regclass)
RETURNS bigint AS $$
SELECT sum(pg_total_relation_size(relid))::bigint
FROM (SELECT relid from pg_partition_tree(relation)) partition_tree;
$$ LANGUAGE SQL;
COMMENT ON FUNCTION worker_partitioned_relation_total_size(text)
COMMENT ON FUNCTION worker_partitioned_relation_total_size(regclass)
IS 'Calculates and returns the total size of a partitioned relation';

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE FUNCTION worker_partitioned_relation_total_size(relation text)
CREATE OR REPLACE FUNCTION worker_partitioned_relation_total_size(relation regclass)
RETURNS bigint AS $$
SELECT sum(pg_total_relation_size(relid))::bigint
FROM (SELECT relid from pg_partition_tree(relation)) partition_tree;
$$ LANGUAGE SQL;
COMMENT ON FUNCTION worker_partitioned_relation_total_size(text)
COMMENT ON FUNCTION worker_partitioned_relation_total_size(regclass)
IS 'Calculates and returns the total size of a partitioned relation';

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE FUNCTION worker_partitioned_table_size(relation text)
CREATE OR REPLACE FUNCTION worker_partitioned_table_size(relation regclass)
RETURNS bigint AS $$
SELECT sum(pg_table_size(relid))::bigint
FROM (SELECT relid from pg_partition_tree(relation)) partition_tree;
$$ LANGUAGE SQL;
COMMENT ON FUNCTION pg_catalog.worker_partitioned_table_size(text)
COMMENT ON FUNCTION pg_catalog.worker_partitioned_table_size(regclass)
IS 'Calculates and returns the size of a partitioned table';

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE FUNCTION worker_partitioned_table_size(relation text)
CREATE OR REPLACE FUNCTION worker_partitioned_table_size(relation regclass)
RETURNS bigint AS $$
SELECT sum(pg_table_size(relid))::bigint
FROM (SELECT relid from pg_partition_tree(relation)) partition_tree;
$$ LANGUAGE SQL;
COMMENT ON FUNCTION pg_catalog.worker_partitioned_table_size(text)
COMMENT ON FUNCTION pg_catalog.worker_partitioned_table_size(regclass)
IS 'Calculates and returns the size of a partitioned table';

View File

@ -565,9 +565,9 @@ SELECT * FROM print_extension_changes();
function citus_internal.columnar_ensure_objects_exist() |
function create_distributed_table(regclass,text,citus.distribution_type,text) |
| function create_distributed_table(regclass,text,citus.distribution_type,text,integer)
| function worker_partitioned_relation_size(text)
| function worker_partitioned_relation_total_size(text)
| function worker_partitioned_table_size(text)
| function worker_partitioned_relation_size(regclass)
| function worker_partitioned_relation_total_size(regclass)
| function worker_partitioned_table_size(regclass)
(6 rows)
DROP TABLE prev_objects, extension_diff;

View File

@ -2088,7 +2088,7 @@ SELECT create_distributed_table('"events.Energy Added"', 'user_id', colocate_wit
CREATE TABLE "Energy Added_17634" PARTITION OF "events.Energy Added" FOR VALUES FROM ('2018-04-13 00:00:00+00') TO ('2018-04-14 00:00:00+00');
-- test shard cost by disk size function
SELECT citus_shard_cost_by_disk_size(1660207);
SELECT citus_shard_cost_by_disk_size(shardid) FROM pg_dist_shard WHERE logicalrelid = '"events.Energy Added"'::regclass ORDER BY shardid LIMIT 1;
citus_shard_cost_by_disk_size
---------------------------------------------------------------------
16384
@ -2097,21 +2097,21 @@ SELECT citus_shard_cost_by_disk_size(1660207);
CREATE INDEX idx_btree_hobbies ON "events.Energy Added" USING BTREE ((data->>'location'));
\c - - - :worker_1_port
-- should not be zero because of TOAST, vm, fms
SELECT worker_partitioned_table_size('"events.Energy Added_1660207"');
SELECT worker_partitioned_table_size(oid) FROM pg_class WHERE relname LIKE '%events.Energy Added%' ORDER BY relname LIMIT 1;
worker_partitioned_table_size
---------------------------------------------------------------------
8192
(1 row)
-- should be zero since no data
SELECT worker_partitioned_relation_size('"events.Energy Added_1660207"');
SELECT worker_partitioned_relation_size(oid) FROM pg_class WHERE relname LIKE '%events.Energy Added%' ORDER BY relname LIMIT 1;
worker_partitioned_relation_size
---------------------------------------------------------------------
0
(1 row)
-- should not be zero because of indexes + pg_table_size()
SELECT worker_partitioned_relation_total_size('"events.Energy Added_1660207"');
SELECT worker_partitioned_relation_total_size(oid) FROM pg_class WHERE relname LIKE '%events.Energy Added%' ORDER BY relname LIMIT 1;
worker_partitioned_relation_total_size
---------------------------------------------------------------------
24576

View File

@ -199,9 +199,9 @@ ORDER BY 1;
function worker_partial_agg_ffunc(internal)
function worker_partial_agg_sfunc(internal,oid,anyelement)
function worker_partition_query_result(text,text,integer,citus.distribution_type,text[],text[],boolean)
function worker_partitioned_relation_size(text)
function worker_partitioned_relation_total_size(text)
function worker_partitioned_table_size(text)
function worker_partitioned_relation_size(regclass)
function worker_partitioned_relation_total_size(regclass)
function worker_partitioned_table_size(regclass)
function worker_range_partition_table(bigint,integer,text,text,oid,anyarray)
function worker_record_sequence_dependency(regclass,regclass,name)
function worker_repartition_cleanup(bigint)

View File

@ -1230,15 +1230,15 @@ SELECT create_distributed_table('"events.Energy Added"', 'user_id', colocate_wit
CREATE TABLE "Energy Added_17634" PARTITION OF "events.Energy Added" FOR VALUES FROM ('2018-04-13 00:00:00+00') TO ('2018-04-14 00:00:00+00');
-- test shard cost by disk size function
SELECT citus_shard_cost_by_disk_size(1660207);
SELECT citus_shard_cost_by_disk_size(shardid) FROM pg_dist_shard WHERE logicalrelid = '"events.Energy Added"'::regclass ORDER BY shardid LIMIT 1;
CREATE INDEX idx_btree_hobbies ON "events.Energy Added" USING BTREE ((data->>'location'));
\c - - - :worker_1_port
-- should not be zero because of TOAST, vm, fms
SELECT worker_partitioned_table_size('"events.Energy Added_1660207"');
SELECT worker_partitioned_table_size(oid) FROM pg_class WHERE relname LIKE '%events.Energy Added%' ORDER BY relname LIMIT 1;
-- should be zero since no data
SELECT worker_partitioned_relation_size('"events.Energy Added_1660207"');
SELECT worker_partitioned_relation_size(oid) FROM pg_class WHERE relname LIKE '%events.Energy Added%' ORDER BY relname LIMIT 1;
-- should not be zero because of indexes + pg_table_size()
SELECT worker_partitioned_relation_total_size('"events.Energy Added_1660207"');
SELECT worker_partitioned_relation_total_size(oid) FROM pg_class WHERE relname LIKE '%events.Energy Added%' ORDER BY relname LIMIT 1;
\c - - - :master_port
DROP TABLE "events.Energy Added";