Expose the column_to_column_name UDF to make partkey in pg_dist_partition human-readable

pull/1042/head
Marco Slot 2016-12-14 10:46:33 +01:00
parent 9d4e586457
commit 5714be0da5
7 changed files with 23 additions and 7 deletions

View File

@ -9,7 +9,7 @@ EXTVERSIONS = 5.0 5.0-1 5.0-2 \
5.1-1 5.1-2 5.1-3 5.1-4 5.1-5 5.1-6 5.1-7 5.1-8 \
5.2-1 5.2-2 5.2-3 5.2-4 \
6.0-1 6.0-2 6.0-3 6.0-4 6.0-5 6.0-6 6.0-7 6.0-8 6.0-9 6.0-10 6.0-11 6.0-12 6.0-13 6.0-14 6.0-15 6.0-16 6.0-17 6.0-18 \
6.1-1 6.1-2 6.1-3
6.1-1 6.1-2 6.1-3 6.1-4
# All citus--*.sql files in the source directory
DATA = $(patsubst $(citus_abs_srcdir)/%.sql,%.sql,$(wildcard $(citus_abs_srcdir)/$(EXTENSION)--*--*.sql))
@ -101,6 +101,8 @@ $(EXTENSION)--6.1-2.sql: $(EXTENSION)--6.1-1.sql $(EXTENSION)--6.1-1--6.1-2.sql
cat $^ > $@
$(EXTENSION)--6.1-3.sql: $(EXTENSION)--6.1-2.sql $(EXTENSION)--6.1-2--6.1-3.sql
cat $^ > $@
$(EXTENSION)--6.1-4.sql: $(EXTENSION)--6.1-3.sql $(EXTENSION)--6.1-3--6.1-4.sql
cat $^ > $@
NO_PGXS = 1

View File

@ -0,0 +1,12 @@
/* citus--6.1-3--6.1-4.sql */
SET search_path = 'pg_catalog';
CREATE FUNCTION column_to_column_name(table_name regclass, column_var_text text)
RETURNS text
LANGUAGE C STRICT
AS 'MODULE_PATHNAME', $$column_to_column_name$$;
COMMENT ON FUNCTION column_to_column_name(table_name regclass, column_var_text text)
IS 'convert the textual Var representation to a column name';
RESET search_path;

View File

@ -1,6 +1,6 @@
# Citus extension
comment = 'Citus distributed database'
default_version = '6.1-3'
default_version = '6.1-4'
module_pathname = '$libdir/citus'
relocatable = false
schema = pg_catalog

View File

@ -211,11 +211,11 @@ CREATE TABLE customers (
INSERT INTO pg_dist_partition (logicalrelid, partmethod, partkey)
VALUES
('customers'::regclass, 'h', column_name_to_column('customers'::regclass, 'id'));
SELECT partmethod, partkey FROM pg_dist_partition
SELECT partmethod, column_to_column_name(logicalrelid, partkey) FROM pg_dist_partition
WHERE logicalrelid = 'customers'::regclass;
partmethod | partkey
------------+------------------------------------------------------------------------------------------------------------------------
h | {VAR :varno 1 :varattno 1 :vartype 20 :vartypmod -1 :varcollid 0 :varlevelsup 0 :varnoold 1 :varoattno 1 :location -1}
partmethod | column_to_column_name
------------+-----------------------
h | id
(1 row)
-- make one huge shard and manually inspect shard row

View File

@ -61,6 +61,7 @@ ALTER EXTENSION citus UPDATE TO '6.0-18';
ALTER EXTENSION citus UPDATE TO '6.1-1';
ALTER EXTENSION citus UPDATE TO '6.1-2';
ALTER EXTENSION citus UPDATE TO '6.1-3';
ALTER EXTENSION citus UPDATE TO '6.1-4';
-- ensure no objects were created outside pg_catalog
SELECT COUNT(*)
FROM pg_depend AS pgd,

View File

@ -160,7 +160,7 @@ CREATE TABLE customers (
INSERT INTO pg_dist_partition (logicalrelid, partmethod, partkey)
VALUES
('customers'::regclass, 'h', column_name_to_column('customers'::regclass, 'id'));
SELECT partmethod, partkey FROM pg_dist_partition
SELECT partmethod, column_to_column_name(logicalrelid, partkey) FROM pg_dist_partition
WHERE logicalrelid = 'customers'::regclass;
-- make one huge shard and manually inspect shard row

View File

@ -61,6 +61,7 @@ ALTER EXTENSION citus UPDATE TO '6.0-18';
ALTER EXTENSION citus UPDATE TO '6.1-1';
ALTER EXTENSION citus UPDATE TO '6.1-2';
ALTER EXTENSION citus UPDATE TO '6.1-3';
ALTER EXTENSION citus UPDATE TO '6.1-4';
-- ensure no objects were created outside pg_catalog
SELECT COUNT(*)