mirror of https://github.com/citusdata/citus.git
Single Shard Table Columnar UDFs Tests (#6937)
Adds columnar UDF tests for single shard tables.pull/6941/head
parent
321fcfcdb5
commit
9d9b3817c1
|
@ -354,5 +354,81 @@ DETAIL: Distribution column types don't match for update_col_4 and update_col_1
|
|||
SELECT update_distributed_table_colocation('update_col_4', colocate_with:='update_col_1');
|
||||
ERROR: cannot colocate tables update_col_1 and update_col_4
|
||||
DETAIL: Distribution column types don't match for update_col_1 and update_col_4.
|
||||
-- test columnar UDFs
|
||||
CREATE TABLE columnar_tbl (a INT) USING COLUMNAR;
|
||||
SELECT create_distributed_table('columnar_tbl', NULL, colocate_with:='none');
|
||||
create_distributed_table
|
||||
---------------------------------------------------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
SELECT * FROM columnar.options WHERE relation = 'columnar_tbl'::regclass;
|
||||
relation | chunk_group_row_limit | stripe_row_limit | compression | compression_level
|
||||
---------------------------------------------------------------------
|
||||
columnar_tbl | 10000 | 150000 | zstd | 3
|
||||
(1 row)
|
||||
|
||||
SELECT alter_columnar_table_set('columnar_tbl', compression_level => 2);
|
||||
alter_columnar_table_set
|
||||
---------------------------------------------------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
SELECT * FROM columnar.options WHERE relation = 'columnar_tbl'::regclass;
|
||||
relation | chunk_group_row_limit | stripe_row_limit | compression | compression_level
|
||||
---------------------------------------------------------------------
|
||||
columnar_tbl | 10000 | 150000 | zstd | 2
|
||||
(1 row)
|
||||
|
||||
SELECT alter_columnar_table_reset('columnar_tbl', compression_level => true);
|
||||
alter_columnar_table_reset
|
||||
---------------------------------------------------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
SELECT * FROM columnar.options WHERE relation = 'columnar_tbl'::regclass;
|
||||
relation | chunk_group_row_limit | stripe_row_limit | compression | compression_level
|
||||
---------------------------------------------------------------------
|
||||
columnar_tbl | 10000 | 150000 | zstd | 3
|
||||
(1 row)
|
||||
|
||||
SELECT columnar_internal.upgrade_columnar_storage(c.oid)
|
||||
FROM pg_class c, pg_am a
|
||||
WHERE c.relam = a.oid AND amname = 'columnar' AND relname = 'columnar_tbl';
|
||||
upgrade_columnar_storage
|
||||
---------------------------------------------------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
SELECT columnar_internal.downgrade_columnar_storage(c.oid)
|
||||
FROM pg_class c, pg_am a
|
||||
WHERE c.relam = a.oid AND amname = 'columnar' AND relname = 'columnar_tbl';
|
||||
downgrade_columnar_storage
|
||||
---------------------------------------------------------------------
|
||||
|
||||
(1 row)
|
||||
|
||||
CREATE OR REPLACE FUNCTION columnar_storage_info(
|
||||
rel regclass,
|
||||
version_major OUT int4,
|
||||
version_minor OUT int4,
|
||||
storage_id OUT int8,
|
||||
reserved_stripe_id OUT int8,
|
||||
reserved_row_number OUT int8,
|
||||
reserved_offset OUT int8)
|
||||
STRICT
|
||||
LANGUAGE c AS 'citus', $$columnar_storage_info$$;
|
||||
SELECT version_major, version_minor, reserved_stripe_id, reserved_row_number, reserved_offset FROM columnar_storage_info('columnar_tbl');
|
||||
version_major | version_minor | reserved_stripe_id | reserved_row_number | reserved_offset
|
||||
---------------------------------------------------------------------
|
||||
2 | 0 | 1 | 1 | 16336
|
||||
(1 row)
|
||||
|
||||
SELECT columnar.get_storage_id(oid) = storage_id FROM pg_class, columnar_storage_info('columnar_tbl') WHERE relname = 'columnar_tbl';
|
||||
?column?
|
||||
---------------------------------------------------------------------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SET client_min_messages TO WARNING;
|
||||
DROP SCHEMA null_dist_key_udfs CASCADE;
|
||||
|
|
|
@ -163,5 +163,38 @@ SELECT create_distributed_table ('update_col_4', 'a', colocate_with:='none');
|
|||
SELECT update_distributed_table_colocation('update_col_1', colocate_with:='update_col_4');
|
||||
SELECT update_distributed_table_colocation('update_col_4', colocate_with:='update_col_1');
|
||||
|
||||
-- test columnar UDFs
|
||||
CREATE TABLE columnar_tbl (a INT) USING COLUMNAR;
|
||||
SELECT create_distributed_table('columnar_tbl', NULL, colocate_with:='none');
|
||||
|
||||
SELECT * FROM columnar.options WHERE relation = 'columnar_tbl'::regclass;
|
||||
SELECT alter_columnar_table_set('columnar_tbl', compression_level => 2);
|
||||
SELECT * FROM columnar.options WHERE relation = 'columnar_tbl'::regclass;
|
||||
SELECT alter_columnar_table_reset('columnar_tbl', compression_level => true);
|
||||
SELECT * FROM columnar.options WHERE relation = 'columnar_tbl'::regclass;
|
||||
|
||||
SELECT columnar_internal.upgrade_columnar_storage(c.oid)
|
||||
FROM pg_class c, pg_am a
|
||||
WHERE c.relam = a.oid AND amname = 'columnar' AND relname = 'columnar_tbl';
|
||||
|
||||
SELECT columnar_internal.downgrade_columnar_storage(c.oid)
|
||||
FROM pg_class c, pg_am a
|
||||
WHERE c.relam = a.oid AND amname = 'columnar' AND relname = 'columnar_tbl';
|
||||
|
||||
CREATE OR REPLACE FUNCTION columnar_storage_info(
|
||||
rel regclass,
|
||||
version_major OUT int4,
|
||||
version_minor OUT int4,
|
||||
storage_id OUT int8,
|
||||
reserved_stripe_id OUT int8,
|
||||
reserved_row_number OUT int8,
|
||||
reserved_offset OUT int8)
|
||||
STRICT
|
||||
LANGUAGE c AS 'citus', $$columnar_storage_info$$;
|
||||
|
||||
SELECT version_major, version_minor, reserved_stripe_id, reserved_row_number, reserved_offset FROM columnar_storage_info('columnar_tbl');
|
||||
|
||||
SELECT columnar.get_storage_id(oid) = storage_id FROM pg_class, columnar_storage_info('columnar_tbl') WHERE relname = 'columnar_tbl';
|
||||
|
||||
SET client_min_messages TO WARNING;
|
||||
DROP SCHEMA null_dist_key_udfs CASCADE;
|
||||
|
|
Loading…
Reference in New Issue