Columnar: rename chunk_num -> chunk_group_num.

pull/4698/head
Jeff Davis 2021-02-11 09:26:53 -08:00 committed by Jeff Davis
parent 1b5244c410
commit 1f1c3c362b
7 changed files with 18 additions and 18 deletions

View File

@ -32,9 +32,9 @@ COMMENT ON TABLE stripe IS 'Columnar per stripe metadata';
CREATE TABLE chunk_group (
storage_id bigint NOT NULL,
stripe_num bigint NOT NULL,
chunk_num int NOT NULL,
chunk_group_num int NOT NULL,
row_count bigint NOT NULL,
PRIMARY KEY (storage_id, stripe_num, chunk_num),
PRIMARY KEY (storage_id, stripe_num, chunk_group_num),
FOREIGN KEY (storage_id, stripe_num) REFERENCES stripe(storage_id, stripe_num) ON DELETE CASCADE
);
@ -44,7 +44,7 @@ CREATE TABLE chunk (
storage_id bigint NOT NULL,
stripe_num bigint NOT NULL,
attr_num int NOT NULL,
chunk_num int NOT NULL,
chunk_group_num int NOT NULL,
minimum_value bytea,
maximum_value bytea,
value_stream_offset bigint NOT NULL,
@ -55,8 +55,8 @@ CREATE TABLE chunk (
value_compression_level int NOT NULL,
value_decompressed_length bigint NOT NULL,
value_count bigint NOT NULL,
PRIMARY KEY (storage_id, stripe_num, attr_num, chunk_num),
FOREIGN KEY (storage_id, stripe_num, chunk_num) REFERENCES chunk_group(storage_id, stripe_num, chunk_num) ON DELETE CASCADE
PRIMARY KEY (storage_id, stripe_num, attr_num, chunk_group_num),
FOREIGN KEY (storage_id, stripe_num, chunk_group_num) REFERENCES chunk_group(storage_id, stripe_num, chunk_group_num) ON DELETE CASCADE
) WITH (user_catalog_table = true);
COMMENT ON TABLE chunk IS 'Columnar per chunk metadata';

View File

@ -45,11 +45,11 @@ $$ LANGUAGE plpgsql;
-- are chunk groups and chunks consistent?
CREATE view chunk_group_consistency AS
WITH a as (
SELECT storage_id, stripe_num, chunk_num, min(value_count) as row_count
SELECT storage_id, stripe_num, chunk_group_num, min(value_count) as row_count
FROM columnar.chunk
GROUP BY 1,2,3
), b as (
SELECT storage_id, stripe_num, chunk_num, max(value_count) as row_count
SELECT storage_id, stripe_num, chunk_group_num, max(value_count) as row_count
FROM columnar.chunk
GROUP BY 1,2,3
), c as (

View File

@ -192,10 +192,10 @@ ORDER BY 1,2,3;
---------------------------------------------------------------------
(0 rows)
SELECT relname, stripe_num, chunk_num, row_count FROM columnar.chunk_group a, pg_class b
SELECT relname, stripe_num, chunk_group_num, row_count FROM columnar.chunk_group a, pg_class b
WHERE columnar_relation_storageid(b.oid)=a.storage_id AND relname = 'zero_col'
ORDER BY 1,2,3,4;
relname | stripe_num | chunk_num | row_count
relname | stripe_num | chunk_group_num | row_count
---------------------------------------------------------------------
zero_col | 1 | 0 | 1
zero_col | 2 | 0 | 1

View File

@ -86,10 +86,10 @@ SELECT count(*) FROM t_stripes;
-- VACUUM FULL doesn't reclaim dropped columns, but converts them to NULLs
ALTER TABLE t DROP COLUMN a;
SELECT stripe_num, attr_num, chunk_num, minimum_value IS NULL, maximum_value IS NULL
SELECT stripe_num, attr_num, chunk_group_num, minimum_value IS NULL, maximum_value IS NULL
FROM columnar.chunk a, pg_class b
WHERE a.storage_id = columnar_relation_storageid(b.oid) AND b.relname='t' ORDER BY 1, 2, 3;
stripe_num | attr_num | chunk_num | ?column? | ?column?
stripe_num | attr_num | chunk_group_num | ?column? | ?column?
---------------------------------------------------------------------
1 | 1 | 0 | f | f
1 | 2 | 0 | f | f
@ -100,10 +100,10 @@ WHERE a.storage_id = columnar_relation_storageid(b.oid) AND b.relname='t' ORDER
(6 rows)
VACUUM FULL t;
SELECT stripe_num, attr_num, chunk_num, minimum_value IS NULL, maximum_value IS NULL
SELECT stripe_num, attr_num, chunk_group_num, minimum_value IS NULL, maximum_value IS NULL
FROM columnar.chunk a, pg_class b
WHERE a.storage_id = columnar_relation_storageid(b.oid) AND b.relname='t' ORDER BY 1, 2, 3;
stripe_num | attr_num | chunk_num | ?column? | ?column?
stripe_num | attr_num | chunk_group_num | ?column? | ?column?
---------------------------------------------------------------------
1 | 1 | 0 | t | t
1 | 2 | 0 | f | f

View File

@ -49,11 +49,11 @@ $$ LANGUAGE plpgsql;
-- are chunk groups and chunks consistent?
CREATE view chunk_group_consistency AS
WITH a as (
SELECT storage_id, stripe_num, chunk_num, min(value_count) as row_count
SELECT storage_id, stripe_num, chunk_group_num, min(value_count) as row_count
FROM columnar.chunk
GROUP BY 1,2,3
), b as (
SELECT storage_id, stripe_num, chunk_num, max(value_count) as row_count
SELECT storage_id, stripe_num, chunk_group_num, max(value_count) as row_count
FROM columnar.chunk
GROUP BY 1,2,3
), c as (

View File

@ -136,7 +136,7 @@ SELECT relname, stripe_num, value_count FROM columnar.chunk a, pg_class b
WHERE columnar_relation_storageid(b.oid)=a.storage_id AND relname = 'zero_col'
ORDER BY 1,2,3;
SELECT relname, stripe_num, chunk_num, row_count FROM columnar.chunk_group a, pg_class b
SELECT relname, stripe_num, chunk_group_num, row_count FROM columnar.chunk_group a, pg_class b
WHERE columnar_relation_storageid(b.oid)=a.storage_id AND relname = 'zero_col'
ORDER BY 1,2,3,4;

View File

@ -42,13 +42,13 @@ SELECT count(*) FROM t_stripes;
-- VACUUM FULL doesn't reclaim dropped columns, but converts them to NULLs
ALTER TABLE t DROP COLUMN a;
SELECT stripe_num, attr_num, chunk_num, minimum_value IS NULL, maximum_value IS NULL
SELECT stripe_num, attr_num, chunk_group_num, minimum_value IS NULL, maximum_value IS NULL
FROM columnar.chunk a, pg_class b
WHERE a.storage_id = columnar_relation_storageid(b.oid) AND b.relname='t' ORDER BY 1, 2, 3;
VACUUM FULL t;
SELECT stripe_num, attr_num, chunk_num, minimum_value IS NULL, maximum_value IS NULL
SELECT stripe_num, attr_num, chunk_group_num, minimum_value IS NULL, maximum_value IS NULL
FROM columnar.chunk a, pg_class b
WHERE a.storage_id = columnar_relation_storageid(b.oid) AND b.relname='t' ORDER BY 1, 2, 3;