Columnar: improve naming of limit config variables. (#4653)

* Rename chunk_row_count to chunk_group_row_limit

* Rename stripe_row_count to stripe_row_limit

* Undo couple of renames
pull/4655/head
Hadi Moshayedi 2021-02-06 09:04:04 -08:00 committed by GitHub
parent a7da38e71f
commit eff8cffaf3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
29 changed files with 279 additions and 279 deletions

View File

@ -73,8 +73,8 @@ Set options using:
```sql
alter_columnar_table_set(
relid REGCLASS,
chunk_row_count INT4 DEFAULT NULL,
stripe_row_count INT4 DEFAULT NULL,
chunk_group_row_limit INT4 DEFAULT NULL,
stripe_row_limit INT4 DEFAULT NULL,
compression NAME DEFAULT NULL,
compression_level INT4)
```
@ -85,7 +85,7 @@ For example:
SELECT alter_columnar_table_set(
'my_columnar_table',
compression => 'none',
stripe_row_count => 10000);
stripe_row_limit => 10000);
```
The following options are available:
@ -98,11 +98,11 @@ The following options are available:
settings are from 1 through 19. If the compression method does not
support the level chosen, the closest level will be selected
instead.
* **stripe_row_count**: ``<integer>`` - the maximum number of rows per
* **stripe_row_limit**: ``<integer>`` - the maximum number of rows per
stripe for _newly-inserted_ data. Existing stripes of data will not
be changed and may have more rows than this maximum value. The
default value is `150000`.
* **chunk_row_count**: ``<integer>`` - the maximum number of rows per
* **chunk_group_row_limit**: ``<integer>`` - the maximum number of rows per
chunk for _newly-inserted_ data. Existing chunks of data will not be
changed and may have more rows than this maximum value. The default
value is `10000`.
@ -118,8 +118,8 @@ following GUCs:
* `columnar.compression`
* `columnar.compression_level`
* `columnar.stripe_row_count`
* `columnar.chunk_row_count`
* `columnar.stripe_row_limit`
* `columnar.chunk_group_row_limit`
GUCs only affect newly-created *tables*, not any newly-created
*stripes* on an existing table.

View File

@ -36,8 +36,8 @@
#endif
int columnar_compression = DEFAULT_COMPRESSION_TYPE;
int columnar_stripe_row_count = DEFAULT_STRIPE_ROW_COUNT;
int columnar_chunk_row_count = DEFAULT_CHUNK_ROW_COUNT;
int columnar_stripe_row_limit = DEFAULT_STRIPE_ROW_COUNT;
int columnar_chunk_group_row_limit = DEFAULT_CHUNK_ROW_COUNT;
int columnar_compression_level = 3;
static const struct config_enum_entry columnar_compression_options[] =
@ -81,10 +81,10 @@ columnar_init_gucs()
NULL,
NULL);
DefineCustomIntVariable("columnar.stripe_row_count",
DefineCustomIntVariable("columnar.stripe_row_limit",
"Maximum number of tuples per stripe.",
NULL,
&columnar_stripe_row_count,
&columnar_stripe_row_limit,
DEFAULT_STRIPE_ROW_COUNT,
STRIPE_ROW_COUNT_MINIMUM,
STRIPE_ROW_COUNT_MAXIMUM,
@ -94,10 +94,10 @@ columnar_init_gucs()
NULL,
NULL);
DefineCustomIntVariable("columnar.chunk_row_count",
DefineCustomIntVariable("columnar.chunk_group_row_limit",
"Maximum number of rows per chunk.",
NULL,
&columnar_chunk_row_count,
&columnar_chunk_group_row_limit,
DEFAULT_CHUNK_ROW_COUNT,
CHUNK_ROW_COUNT_MINIMUM,
CHUNK_ROW_COUNT_MAXIMUM,

View File

@ -105,8 +105,8 @@ PG_FUNCTION_INFO_V1(columnar_relation_storageid);
/* constants for columnar.options */
#define Natts_columnar_options 5
#define Anum_columnar_options_regclass 1
#define Anum_columnar_options_chunk_row_count 2
#define Anum_columnar_options_stripe_row_count 3
#define Anum_columnar_options_chunk_group_row_limit 2
#define Anum_columnar_options_stripe_row_limit 3
#define Anum_columnar_options_compression_level 4
#define Anum_columnar_options_compression 5
@ -117,8 +117,8 @@ PG_FUNCTION_INFO_V1(columnar_relation_storageid);
typedef struct FormData_columnar_options
{
Oid regclass;
int32 chunk_row_count;
int32 stripe_row_count;
int32 chunk_group_row_limit;
int32 stripe_row_limit;
int32 compressionLevel;
NameData compression;
@ -145,7 +145,7 @@ typedef FormData_columnar_options *Form_columnar_options;
#define Anum_columnar_chunk_stripe 2
#define Anum_columnar_chunk_attr 3
#define Anum_columnar_chunk_chunk 4
#define Anum_columnar_chunk_row_count 5
#define Anum_columnar_chunk_value_count 5
#define Anum_columnar_chunk_minimum_value 6
#define Anum_columnar_chunk_maximum_value 7
#define Anum_columnar_chunk_value_stream_offset 8
@ -174,8 +174,8 @@ InitColumnarOptions(Oid regclass)
}
ColumnarOptions defaultOptions = {
.chunkRowCount = columnar_chunk_row_count,
.stripeRowCount = columnar_stripe_row_count,
.chunkRowCount = columnar_chunk_group_row_limit,
.stripeRowCount = columnar_stripe_row_limit,
.compressionType = columnar_compression,
.compressionLevel = columnar_compression_level
};
@ -251,8 +251,8 @@ WriteColumnarOptions(Oid regclass, ColumnarOptions *options, bool overwrite)
/* TODO check if the options are actually different, skip if not changed */
/* update existing record */
bool update[Natts_columnar_options] = { 0 };
update[Anum_columnar_options_chunk_row_count - 1] = true;
update[Anum_columnar_options_stripe_row_count - 1] = true;
update[Anum_columnar_options_chunk_group_row_limit - 1] = true;
update[Anum_columnar_options_stripe_row_limit - 1] = true;
update[Anum_columnar_options_compression_level - 1] = true;
update[Anum_columnar_options_compression - 1] = true;
@ -371,8 +371,8 @@ ReadColumnarOptions(Oid regclass, ColumnarOptions *options)
{
Form_columnar_options tupOptions = (Form_columnar_options) GETSTRUCT(heapTuple);
options->chunkRowCount = tupOptions->chunk_row_count;
options->stripeRowCount = tupOptions->stripe_row_count;
options->chunkRowCount = tupOptions->chunk_group_row_limit;
options->stripeRowCount = tupOptions->stripe_row_limit;
options->compressionLevel = tupOptions->compressionLevel;
options->compressionType = ParseCompressionType(NameStr(tupOptions->compression));
}
@ -380,8 +380,8 @@ ReadColumnarOptions(Oid regclass, ColumnarOptions *options)
{
/* populate options with system defaults */
options->compressionType = columnar_compression;
options->stripeRowCount = columnar_stripe_row_count;
options->chunkRowCount = columnar_chunk_row_count;
options->stripeRowCount = columnar_stripe_row_limit;
options->chunkRowCount = columnar_chunk_group_row_limit;
options->compressionLevel = columnar_compression_level;
}
@ -525,7 +525,7 @@ ReadStripeSkipList(RelFileNode relfilenode, uint64 stripe, TupleDesc tupleDescri
ColumnChunkSkipNode *chunk =
&chunkList->chunkSkipNodeArray[columnIndex][chunkIndex];
chunk->rowCount = DatumGetInt64(datumArray[Anum_columnar_chunk_row_count -
chunk->rowCount = DatumGetInt64(datumArray[Anum_columnar_chunk_value_count -
1]);
chunk->valueChunkOffset =
DatumGetInt64(datumArray[Anum_columnar_chunk_value_stream_offset - 1]);

View File

@ -1524,8 +1524,8 @@ CitusCreateAlterColumnarTableSet(char *qualifiedRelationName,
appendStringInfo(&buf,
"SELECT alter_columnar_table_set(%s, "
"chunk_row_count => %d, "
"stripe_row_count => %lu, "
"chunk_group_row_limit => %d, "
"stripe_row_limit => %lu, "
"compression_level => %d, "
"compression => %s);",
quote_literal_cstr(qualifiedRelationName),
@ -1634,8 +1634,8 @@ ColumnarGetTableOptionsDDL(Oid relationId)
* sql syntax:
* pg_catalog.alter_columnar_table_set(
* table_name regclass,
* chunk_row_count int DEFAULT NULL,
* stripe_row_count int DEFAULT NULL,
* chunk_group_row_limit int DEFAULT NULL,
* stripe_row_limit int DEFAULT NULL,
* compression name DEFAULT null)
*
* All arguments except the table name are optional. The UDF is supposed to be called
@ -1666,7 +1666,7 @@ alter_columnar_table_set(PG_FUNCTION_ARGS)
ereport(ERROR, (errmsg("unable to read current options for table")));
}
/* chunk_row_count => not null */
/* chunk_group_row_limit => not null */
if (!PG_ARGISNULL(1))
{
options.chunkRowCount = PG_GETARG_INT32(1);
@ -1674,7 +1674,7 @@ alter_columnar_table_set(PG_FUNCTION_ARGS)
(errmsg("updating chunk row count to %d", options.chunkRowCount)));
}
/* stripe_row_count => not null */
/* stripe_row_limit => not null */
if (!PG_ARGISNULL(2))
{
options.stripeRowCount = PG_GETARG_INT32(2);
@ -1744,8 +1744,8 @@ alter_columnar_table_set(PG_FUNCTION_ARGS)
* pg_catalog.alter_columnar_table_re
* teset(
* table_name regclass,
* chunk_row_count bool DEFAULT FALSE,
* stripe_row_count bool DEFAULT FALSE,
* chunk_group_row_limit bool DEFAULT FALSE,
* stripe_row_limit bool DEFAULT FALSE,
* compression bool DEFAULT FALSE)
*
* All arguments except the table name are optional. The UDF is supposed to be called
@ -1773,18 +1773,18 @@ alter_columnar_table_reset(PG_FUNCTION_ARGS)
ereport(ERROR, (errmsg("unable to read current options for table")));
}
/* chunk_row_count => true */
/* chunk_group_row_limit => true */
if (!PG_ARGISNULL(1) && PG_GETARG_BOOL(1))
{
options.chunkRowCount = columnar_chunk_row_count;
options.chunkRowCount = columnar_chunk_group_row_limit;
ereport(DEBUG1,
(errmsg("resetting chunk row count to %d", options.chunkRowCount)));
}
/* stripe_row_count => true */
/* stripe_row_limit => true */
if (!PG_ARGISNULL(2) && PG_GETARG_BOOL(2))
{
options.stripeRowCount = columnar_stripe_row_count;
options.stripeRowCount = columnar_stripe_row_limit;
ereport(DEBUG1,
(errmsg("resetting stripe row count to " UINT64_FORMAT,
options.stripeRowCount)));

View File

@ -7,8 +7,8 @@ CREATE SEQUENCE storageid_seq MINVALUE 10000000000 NO CYCLE;
CREATE TABLE options (
regclass regclass NOT NULL PRIMARY KEY,
chunk_row_count int NOT NULL,
stripe_row_count int NOT NULL,
chunk_group_row_limit int NOT NULL,
stripe_row_limit int NOT NULL,
compression_level int NOT NULL,
compression name NOT NULL
) WITH (user_catalog_table = true);
@ -34,7 +34,7 @@ CREATE TABLE chunk (
stripeid bigint NOT NULL,
attnum int NOT NULL,
chunkid int NOT NULL,
row_count bigint NOT NULL,
value_count bigint NOT NULL,
minimum_value bytea,
maximum_value bytea,
value_stream_offset bigint NOT NULL,

View File

@ -9,15 +9,15 @@ IF substring(current_Setting('server_version'), '\d+')::int >= 12 THEN
EXECUTE $$
DROP FUNCTION pg_catalog.alter_columnar_table_reset(
table_name regclass,
chunk_row_count bool,
stripe_row_count bool,
chunk_group_row_limit bool,
stripe_row_limit bool,
compression bool,
compression_level bool);
DROP FUNCTION pg_catalog.alter_columnar_table_set(
table_name regclass,
chunk_row_count int,
stripe_row_count int,
chunk_group_row_limit int,
stripe_row_limit int,
compression name,
compression_level int);

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE FUNCTION pg_catalog.alter_columnar_table_reset(
table_name regclass,
chunk_row_count bool DEFAULT false,
stripe_row_count bool DEFAULT false,
chunk_group_row_limit bool DEFAULT false,
stripe_row_limit bool DEFAULT false,
compression bool DEFAULT false,
compression_level bool DEFAULT false)
RETURNS void
@ -10,8 +10,8 @@ AS 'MODULE_PATHNAME', 'alter_columnar_table_reset';
COMMENT ON FUNCTION pg_catalog.alter_columnar_table_reset(
table_name regclass,
chunk_row_count bool,
stripe_row_count bool,
chunk_group_row_limit bool,
stripe_row_limit bool,
compression bool,
compression_level bool)
IS 'reset on or more options on a columnar table to the system defaults';

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE FUNCTION pg_catalog.alter_columnar_table_reset(
table_name regclass,
chunk_row_count bool DEFAULT false,
stripe_row_count bool DEFAULT false,
chunk_group_row_limit bool DEFAULT false,
stripe_row_limit bool DEFAULT false,
compression bool DEFAULT false,
compression_level bool DEFAULT false)
RETURNS void
@ -10,8 +10,8 @@ AS 'MODULE_PATHNAME', 'alter_columnar_table_reset';
COMMENT ON FUNCTION pg_catalog.alter_columnar_table_reset(
table_name regclass,
chunk_row_count bool,
stripe_row_count bool,
chunk_group_row_limit bool,
stripe_row_limit bool,
compression bool,
compression_level bool)
IS 'reset on or more options on a columnar table to the system defaults';

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE FUNCTION pg_catalog.alter_columnar_table_set(
table_name regclass,
chunk_row_count int DEFAULT NULL,
stripe_row_count int DEFAULT NULL,
chunk_group_row_limit int DEFAULT NULL,
stripe_row_limit int DEFAULT NULL,
compression name DEFAULT null,
compression_level int DEFAULT NULL)
RETURNS void
@ -10,8 +10,8 @@ AS 'MODULE_PATHNAME', 'alter_columnar_table_set';
COMMENT ON FUNCTION pg_catalog.alter_columnar_table_set(
table_name regclass,
chunk_row_count int,
stripe_row_count int,
chunk_group_row_limit int,
stripe_row_limit int,
compression name,
compression_level int)
IS 'set one or more options on a columnar table, when set to NULL no change is made';

View File

@ -1,7 +1,7 @@
CREATE OR REPLACE FUNCTION pg_catalog.alter_columnar_table_set(
table_name regclass,
chunk_row_count int DEFAULT NULL,
stripe_row_count int DEFAULT NULL,
chunk_group_row_limit int DEFAULT NULL,
stripe_row_limit int DEFAULT NULL,
compression name DEFAULT null,
compression_level int DEFAULT NULL)
RETURNS void
@ -10,8 +10,8 @@ AS 'MODULE_PATHNAME', 'alter_columnar_table_set';
COMMENT ON FUNCTION pg_catalog.alter_columnar_table_set(
table_name regclass,
chunk_row_count int,
stripe_row_count int,
chunk_group_row_limit int,
stripe_row_limit int,
compression name,
compression_level int)
IS 'set one or more options on a columnar table, when set to NULL no change is made';

View File

@ -29,14 +29,14 @@ IF NOT EXISTS (SELECT 1 FROM pg_am WHERE amname = 'columnar') THEN
ALTER EXTENSION citus ADD ACCESS METHOD columnar;
ALTER EXTENSION citus ADD FUNCTION pg_catalog.alter_columnar_table_set(
table_name regclass,
chunk_row_count int,
stripe_row_count int,
chunk_group_row_limit int,
stripe_row_limit int,
compression name,
compression_level int);
ALTER EXTENSION citus ADD FUNCTION pg_catalog.alter_columnar_table_reset(
table_name regclass,
chunk_row_count bool,
stripe_row_count bool,
chunk_group_row_limit bool,
stripe_row_limit bool,
compression bool,
compression_level bool);

View File

@ -29,14 +29,14 @@ IF NOT EXISTS (SELECT 1 FROM pg_am WHERE amname = 'columnar') THEN
ALTER EXTENSION citus ADD ACCESS METHOD columnar;
ALTER EXTENSION citus ADD FUNCTION pg_catalog.alter_columnar_table_set(
table_name regclass,
chunk_row_count int,
stripe_row_count int,
chunk_group_row_limit int,
stripe_row_limit int,
compression name,
compression_level int);
ALTER EXTENSION citus ADD FUNCTION pg_catalog.alter_columnar_table_reset(
table_name regclass,
chunk_row_count bool,
stripe_row_count bool,
chunk_group_row_limit bool,
stripe_row_limit bool,
compression bool,
compression_level bool);

View File

@ -26,8 +26,8 @@
/* Defines for valid option names */
#define OPTION_NAME_COMPRESSION_TYPE "compression"
#define OPTION_NAME_STRIPE_ROW_COUNT "stripe_row_count"
#define OPTION_NAME_CHUNK_ROW_COUNT "chunk_row_count"
#define OPTION_NAME_STRIPE_ROW_COUNT "stripe_row_limit"
#define OPTION_NAME_CHUNK_ROW_COUNT "chunk_group_row_limit"
/* Limits for option parameters */
#define STRIPE_ROW_COUNT_MINIMUM 1000
@ -262,8 +262,8 @@ typedef struct TableWriteState
} TableWriteState;
extern int columnar_compression;
extern int columnar_stripe_row_count;
extern int columnar_chunk_row_count;
extern int columnar_stripe_row_limit;
extern int columnar_chunk_group_row_limit;
extern int columnar_compression_level;
extern void columnar_init_gucs(void);

View File

@ -11,20 +11,20 @@ SELECT alter_columnar_table_set('t_compressed', compression => 'pglz');
(1 row)
SELECT alter_columnar_table_set('t_compressed', stripe_row_count => 100);
SELECT alter_columnar_table_set('t_compressed', stripe_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
(1 row)
SELECT alter_columnar_table_set('t_compressed', chunk_row_count => 100);
SELECT alter_columnar_table_set('t_compressed', chunk_group_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
(1 row)
SELECT * FROM columnar.options WHERE regclass = 't_compressed'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
t_compressed | 100 | 100 | 3 | pglz
(1 row)

View File

@ -26,7 +26,7 @@ SELECT * FROM t_view a ORDER BY a;
-- show columnar options for materialized view
SELECT * FROM columnar.options
WHERE regclass = 't_view'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
t_view | 10000 | 150000 | 3 | none
(1 row)
@ -40,7 +40,7 @@ SELECT alter_columnar_table_set('t_view', compression => 'pglz');
SELECT * FROM columnar.options
WHERE regclass = 't_view'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
t_view | 10000 | 150000 | 3 | pglz
(1 row)
@ -49,7 +49,7 @@ REFRESH MATERIALIZED VIEW t_view;
-- verify options have not been changed
SELECT * FROM columnar.options
WHERE regclass = 't_view'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
t_view | 10000 | 150000 | 3 | pglz
(1 row)

View File

@ -13,7 +13,7 @@ CREATE FUNCTION top_memory_context_usage()
RETURNS BIGINT AS $$
SELECT TopMemoryContext FROM column_store_memory_stats();
$$ LANGUAGE SQL VOLATILE;
SET columnar.stripe_row_count TO 50000;
SET columnar.stripe_row_limit TO 50000;
SET columnar.compression TO 'pglz';
CREATE TABLE t (a int, tag text, memusage bigint) USING columnar;
-- measure memory before doing writes

View File

@ -6,7 +6,7 @@ INSERT INTO table_options SELECT generate_series(1,100);
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 10000 | 150000 | 3 | none
(1 row)
@ -21,7 +21,7 @@ SELECT alter_columnar_table_set('table_options', compression => 'pglz');
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 10000 | 150000 | 3 | pglz
(1 row)
@ -36,13 +36,13 @@ SELECT alter_columnar_table_set('table_options', compression_level => 5);
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 10000 | 150000 | 5 | pglz
(1 row)
-- test changing the chunk_row_count
SELECT alter_columnar_table_set('table_options', chunk_row_count => 10);
-- test changing the chunk_group_row_limit
SELECT alter_columnar_table_set('table_options', chunk_group_row_limit => 10);
alter_columnar_table_set
---------------------------------------------------------------------
@ -51,13 +51,13 @@ SELECT alter_columnar_table_set('table_options', chunk_row_count => 10);
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 10 | 150000 | 5 | pglz
(1 row)
-- test changing the chunk_row_count
SELECT alter_columnar_table_set('table_options', stripe_row_count => 100);
-- test changing the chunk_group_row_limit
SELECT alter_columnar_table_set('table_options', stripe_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
@ -66,7 +66,7 @@ SELECT alter_columnar_table_set('table_options', stripe_row_count => 100);
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 10 | 100 | 5 | pglz
(1 row)
@ -76,13 +76,13 @@ VACUUM FULL table_options;
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 10 | 100 | 5 | pglz
(1 row)
-- set all settings at the same time
SELECT alter_columnar_table_set('table_options', stripe_row_count => 1000, chunk_row_count => 100, compression => 'none', compression_level => 7);
SELECT alter_columnar_table_set('table_options', stripe_row_limit => 1000, chunk_group_row_limit => 100, compression => 'none', compression_level => 7);
alter_columnar_table_set
---------------------------------------------------------------------
@ -91,7 +91,7 @@ SELECT alter_columnar_table_set('table_options', stripe_row_count => 1000, chunk
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 100 | 1000 | 7 | none
(1 row)
@ -101,7 +101,7 @@ VACUUM table_options;
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 100 | 1000 | 7 | none
(1 row)
@ -111,7 +111,7 @@ VACUUM FULL table_options;
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 100 | 1000 | 7 | none
(1 row)
@ -121,7 +121,7 @@ TRUNCATE table_options;
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 100 | 1000 | 7 | none
(1 row)
@ -130,26 +130,26 @@ ALTER TABLE table_options ALTER COLUMN a TYPE bigint;
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 100 | 1000 | 7 | none
(1 row)
-- reset settings one by one to the version of the GUC's
SET columnar.chunk_row_count TO 1000;
SET columnar.stripe_row_count TO 10000;
SET columnar.chunk_group_row_limit TO 1000;
SET columnar.stripe_row_limit TO 10000;
SET columnar.compression TO 'pglz';
SET columnar.compression_level TO 11;
-- verify setting the GUC's didn't change the settings
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 100 | 1000 | 7 | none
(1 row)
SELECT alter_columnar_table_reset('table_options', chunk_row_count => true);
SELECT alter_columnar_table_reset('table_options', chunk_group_row_limit => true);
alter_columnar_table_reset
---------------------------------------------------------------------
@ -158,12 +158,12 @@ SELECT alter_columnar_table_reset('table_options', chunk_row_count => true);
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 1000 | 1000 | 7 | none
(1 row)
SELECT alter_columnar_table_reset('table_options', stripe_row_count => true);
SELECT alter_columnar_table_reset('table_options', stripe_row_limit => true);
alter_columnar_table_reset
---------------------------------------------------------------------
@ -172,7 +172,7 @@ SELECT alter_columnar_table_reset('table_options', stripe_row_count => true);
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 1000 | 10000 | 7 | none
(1 row)
@ -186,7 +186,7 @@ SELECT alter_columnar_table_reset('table_options', compression => true);
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 1000 | 10000 | 7 | pglz
(1 row)
@ -200,28 +200,28 @@ SELECT alter_columnar_table_reset('table_options', compression_level => true);
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 1000 | 10000 | 11 | pglz
(1 row)
-- verify resetting all settings at once work
SET columnar.chunk_row_count TO 10000;
SET columnar.stripe_row_count TO 100000;
SET columnar.chunk_group_row_limit TO 10000;
SET columnar.stripe_row_limit TO 100000;
SET columnar.compression TO 'none';
SET columnar.compression_level TO 13;
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 1000 | 10000 | 11 | pglz
(1 row)
SELECT alter_columnar_table_reset(
'table_options',
chunk_row_count => true,
stripe_row_count => true,
chunk_group_row_limit => true,
stripe_row_limit => true,
compression => true,
compression_level => true);
alter_columnar_table_reset
@ -232,7 +232,7 @@ SELECT alter_columnar_table_reset(
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
table_options | 10000 | 100000 | 13 | none
(1 row)
@ -258,7 +258,7 @@ HINT: compression level must be between 1 and 19
DROP TABLE table_options;
-- we expect no entries in çstore.options for anything not found int pg_class
SELECT * FROM columnar.options o WHERE o.regclass NOT IN (SELECT oid FROM pg_class);
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
(0 rows)

View File

@ -40,7 +40,7 @@ SELECT count(*) FROM t_stripes;
(1 row)
-- test the case when all data cannot fit into a single stripe
SELECT alter_columnar_table_set('t', stripe_row_count => 1000);
SELECT alter_columnar_table_set('t', stripe_row_limit => 1000);
alter_columnar_table_set
---------------------------------------------------------------------
@ -172,8 +172,8 @@ SELECT count(*) FROM t;
-- then vacuum to print stats
BEGIN;
SELECT alter_columnar_table_set('t',
chunk_row_count => 1000,
stripe_row_count => 2000,
chunk_group_row_limit => 1000,
stripe_row_limit => 2000,
compression => 'pglz');
alter_columnar_table_set
---------------------------------------------------------------------
@ -250,8 +250,8 @@ SELECT count(distinct storageid) - :columnar_table_count FROM columnar.stripe;
-- A table with high compression ratio
SET columnar.compression TO 'pglz';
SET columnar.stripe_row_count TO 1000000;
SET columnar.chunk_row_count TO 100000;
SET columnar.stripe_row_limit TO 1000000;
SET columnar.chunk_group_row_limit TO 100000;
CREATE TABLE t(a int, b char, c text) USING columnar;
INSERT INTO t SELECT 1, 'a', 'xyz' FROM generate_series(1, 1000000) i;
VACUUM VERBOSE t;

View File

@ -115,10 +115,10 @@ $cmd$);
(localhost,57638,20090003,t,3)
(4 rows)
-- setting: chunk_row_count
-- setting: chunk_group_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -129,7 +129,7 @@ $cmd$);
(4 rows)
-- change setting
SELECT alter_columnar_table_set('table_option', chunk_row_count => 100);
SELECT alter_columnar_table_set('table_option', chunk_group_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
@ -137,7 +137,7 @@ SELECT alter_columnar_table_set('table_option', chunk_row_count => 100);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -148,7 +148,7 @@ $cmd$);
(4 rows)
-- reset setting
SELECT alter_columnar_table_reset('table_option', chunk_row_count => true);
SELECT alter_columnar_table_reset('table_option', chunk_group_row_limit => true);
alter_columnar_table_reset
---------------------------------------------------------------------
@ -156,7 +156,7 @@ SELECT alter_columnar_table_reset('table_option', chunk_row_count => true);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -166,10 +166,10 @@ $cmd$);
(localhost,57638,20090003,t,10000)
(4 rows)
-- setting: stripe_row_count
-- setting: stripe_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -180,7 +180,7 @@ $cmd$);
(4 rows)
-- change setting
SELECT alter_columnar_table_set('table_option', stripe_row_count => 100);
SELECT alter_columnar_table_set('table_option', stripe_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
@ -188,7 +188,7 @@ SELECT alter_columnar_table_set('table_option', stripe_row_count => 100);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -199,7 +199,7 @@ $cmd$);
(4 rows)
-- reset setting
SELECT alter_columnar_table_reset('table_option', stripe_row_count => true);
SELECT alter_columnar_table_reset('table_option', stripe_row_limit => true);
alter_columnar_table_reset
---------------------------------------------------------------------
@ -207,7 +207,7 @@ SELECT alter_columnar_table_reset('table_option', stripe_row_count => true);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -220,8 +220,8 @@ $cmd$);
-- verify settings are propagated when creating a table
CREATE TABLE table_option_2 (a int, b text) USING columnar;
SELECT alter_columnar_table_set('table_option_2',
chunk_row_count => 100,
stripe_row_count => 1000,
chunk_group_row_limit => 100,
stripe_row_limit => 1000,
compression => 'pglz',
compression_level => 15);
alter_columnar_table_set
@ -237,7 +237,7 @@ SELECT create_distributed_table('table_option_2', 'a');
-- verify settings on placements
SELECT run_command_on_placements('table_option_2',$cmd$
SELECT ROW(chunk_row_count, stripe_row_count, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT ROW(chunk_group_row_limit, stripe_row_limit, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -406,10 +406,10 @@ $cmd$);
(localhost,57638,20090011,t,3)
(8 rows)
-- setting: chunk_row_count
-- setting: chunk_group_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -424,7 +424,7 @@ $cmd$);
(8 rows)
-- change setting
SELECT alter_columnar_table_set('table_option', chunk_row_count => 100);
SELECT alter_columnar_table_set('table_option', chunk_group_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
@ -432,7 +432,7 @@ SELECT alter_columnar_table_set('table_option', chunk_row_count => 100);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -447,7 +447,7 @@ $cmd$);
(8 rows)
-- reset setting
SELECT alter_columnar_table_reset('table_option', chunk_row_count => true);
SELECT alter_columnar_table_reset('table_option', chunk_group_row_limit => true);
alter_columnar_table_reset
---------------------------------------------------------------------
@ -455,7 +455,7 @@ SELECT alter_columnar_table_reset('table_option', chunk_row_count => true);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -469,10 +469,10 @@ $cmd$);
(localhost,57638,20090011,t,10000)
(8 rows)
-- setting: stripe_row_count
-- setting: stripe_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -487,7 +487,7 @@ $cmd$);
(8 rows)
-- change setting
SELECT alter_columnar_table_set('table_option', stripe_row_count => 100);
SELECT alter_columnar_table_set('table_option', stripe_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
@ -495,7 +495,7 @@ SELECT alter_columnar_table_set('table_option', stripe_row_count => 100);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -510,7 +510,7 @@ $cmd$);
(8 rows)
-- reset setting
SELECT alter_columnar_table_reset('table_option', stripe_row_count => true);
SELECT alter_columnar_table_reset('table_option', stripe_row_limit => true);
alter_columnar_table_reset
---------------------------------------------------------------------
@ -518,7 +518,7 @@ SELECT alter_columnar_table_reset('table_option', stripe_row_count => true);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -535,8 +535,8 @@ $cmd$);
-- verify settings are propagated when creating a table
CREATE TABLE table_option_2 (a int, b text) USING columnar;
SELECT alter_columnar_table_set('table_option_2',
chunk_row_count => 100,
stripe_row_count => 1000,
chunk_group_row_limit => 100,
stripe_row_limit => 1000,
compression => 'pglz',
compression_level => 19);
alter_columnar_table_set
@ -552,7 +552,7 @@ SELECT create_distributed_table('table_option_2', 'a');
-- verify settings on placements
SELECT run_command_on_placements('table_option_2',$cmd$
SELECT ROW(chunk_row_count, stripe_row_count, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT ROW(chunk_group_row_limit, stripe_row_limit, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -687,10 +687,10 @@ $cmd$);
(localhost,57638,20090016,t,3)
(2 rows)
-- setting: chunk_row_count
-- setting: chunk_group_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -699,7 +699,7 @@ $cmd$);
(2 rows)
-- change setting
SELECT alter_columnar_table_set('table_option_reference', chunk_row_count => 100);
SELECT alter_columnar_table_set('table_option_reference', chunk_group_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
@ -707,7 +707,7 @@ SELECT alter_columnar_table_set('table_option_reference', chunk_row_count => 100
-- verify setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -716,7 +716,7 @@ $cmd$);
(2 rows)
-- reset setting
SELECT alter_columnar_table_reset('table_option_reference', chunk_row_count => true);
SELECT alter_columnar_table_reset('table_option_reference', chunk_group_row_limit => true);
alter_columnar_table_reset
---------------------------------------------------------------------
@ -724,7 +724,7 @@ SELECT alter_columnar_table_reset('table_option_reference', chunk_row_count => t
-- verify setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -732,10 +732,10 @@ $cmd$);
(localhost,57638,20090016,t,10000)
(2 rows)
-- setting: stripe_row_count
-- setting: stripe_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -744,7 +744,7 @@ $cmd$);
(2 rows)
-- change setting
SELECT alter_columnar_table_set('table_option_reference', stripe_row_count => 100);
SELECT alter_columnar_table_set('table_option_reference', stripe_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
@ -752,7 +752,7 @@ SELECT alter_columnar_table_set('table_option_reference', stripe_row_count => 10
-- verify setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -761,7 +761,7 @@ $cmd$);
(2 rows)
-- reset setting
SELECT alter_columnar_table_reset('table_option_reference', stripe_row_count => true);
SELECT alter_columnar_table_reset('table_option_reference', stripe_row_limit => true);
alter_columnar_table_reset
---------------------------------------------------------------------
@ -769,7 +769,7 @@ SELECT alter_columnar_table_reset('table_option_reference', stripe_row_count =>
-- verify setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -780,8 +780,8 @@ $cmd$);
-- verify settings are propagated when creating a table
CREATE TABLE table_option_reference_2 (a int, b text) USING columnar;
SELECT alter_columnar_table_set('table_option_reference_2',
chunk_row_count => 100,
stripe_row_count => 1000,
chunk_group_row_limit => 100,
stripe_row_limit => 1000,
compression => 'pglz',
compression_level => 9);
alter_columnar_table_set
@ -797,7 +797,7 @@ SELECT create_reference_table('table_option_reference_2');
-- verify settings on placements
SELECT run_command_on_placements('table_option_reference_2',$cmd$
SELECT ROW(chunk_row_count, stripe_row_count, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT ROW(chunk_group_row_limit, stripe_row_limit, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -927,10 +927,10 @@ $cmd$);
(localhost,57636,20090018,t,3)
(1 row)
-- setting: chunk_row_count
-- setting: chunk_group_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -938,7 +938,7 @@ $cmd$);
(1 row)
-- change setting
SELECT alter_columnar_table_set('table_option_citus_local', chunk_row_count => 100);
SELECT alter_columnar_table_set('table_option_citus_local', chunk_group_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
@ -946,7 +946,7 @@ SELECT alter_columnar_table_set('table_option_citus_local', chunk_row_count => 1
-- verify setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -954,7 +954,7 @@ $cmd$);
(1 row)
-- reset setting
SELECT alter_columnar_table_reset('table_option_citus_local', chunk_row_count => true);
SELECT alter_columnar_table_reset('table_option_citus_local', chunk_group_row_limit => true);
alter_columnar_table_reset
---------------------------------------------------------------------
@ -962,17 +962,17 @@ SELECT alter_columnar_table_reset('table_option_citus_local', chunk_row_count =>
-- verify setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
(localhost,57636,20090018,t,10000)
(1 row)
-- setting: stripe_row_count
-- setting: stripe_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -980,7 +980,7 @@ $cmd$);
(1 row)
-- change setting
SELECT alter_columnar_table_set('table_option_citus_local', stripe_row_count => 100);
SELECT alter_columnar_table_set('table_option_citus_local', stripe_row_limit => 100);
alter_columnar_table_set
---------------------------------------------------------------------
@ -988,7 +988,7 @@ SELECT alter_columnar_table_set('table_option_citus_local', stripe_row_count =>
-- verify setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -996,7 +996,7 @@ $cmd$);
(1 row)
-- reset setting
SELECT alter_columnar_table_reset('table_option_citus_local', stripe_row_count => true);
SELECT alter_columnar_table_reset('table_option_citus_local', stripe_row_limit => true);
alter_columnar_table_reset
---------------------------------------------------------------------
@ -1004,7 +1004,7 @@ SELECT alter_columnar_table_reset('table_option_citus_local', stripe_row_count =
-- verify setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------
@ -1014,8 +1014,8 @@ $cmd$);
-- verify settings are propagated when creating a table
CREATE TABLE table_option_citus_local_2 (a int, b text) USING columnar;
SELECT alter_columnar_table_set('table_option_citus_local_2',
chunk_row_count => 100,
stripe_row_count => 1000,
chunk_group_row_limit => 100,
stripe_row_limit => 1000,
compression => 'pglz',
compression_level => 9);
alter_columnar_table_set
@ -1031,7 +1031,7 @@ SELECT citus_add_local_table_to_metadata('table_option_citus_local_2');
-- verify settings on placements
SELECT run_command_on_placements('table_option_citus_local_2',$cmd$
SELECT ROW(chunk_row_count, stripe_row_count, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT ROW(chunk_group_row_limit, stripe_row_limit, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
run_command_on_placements
---------------------------------------------------------------------

View File

@ -102,7 +102,7 @@ SELECT * FROM matview ORDER BY a;
-- test we retained options
SELECT * FROM columnar.options WHERE regclass = 'test_options_1'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
test_options_1 | 1000 | 5000 | 3 | pglz
(1 row)
@ -122,7 +122,7 @@ SELECT count(*), sum(a), sum(b) FROM test_options_1;
(1 row)
SELECT * FROM columnar.options WHERE regclass = 'test_options_2'::regclass;
regclass | chunk_row_count | stripe_row_count | compression_level | compression
regclass | chunk_group_row_limit | stripe_row_limit | compression_level | compression
---------------------------------------------------------------------
test_options_2 | 2000 | 6000 | 13 | none
(1 row)

View File

@ -115,20 +115,20 @@ SELECT :relfilenode_pre_alter <> :relfilenode_post_alter AS relfilenode_changed;
--
-- Test that we retain options
--
SET columnar.stripe_row_count TO 5000;
SET columnar.chunk_row_count TO 1000;
SET columnar.stripe_row_limit TO 5000;
SET columnar.chunk_group_row_limit TO 1000;
SET columnar.compression TO 'pglz';
CREATE TABLE test_options_1(a int, b int) USING columnar;
INSERT INTO test_options_1 SELECT i, floor(i/1000) FROM generate_series(1, 10000) i;
CREATE TABLE test_options_2(a int, b int) USING columnar;
INSERT INTO test_options_2 SELECT i, floor(i/1000) FROM generate_series(1, 10000) i;
SELECT alter_columnar_table_set('test_options_2', chunk_row_count => 2000);
SELECT alter_columnar_table_set('test_options_2', chunk_group_row_limit => 2000);
alter_columnar_table_set
---------------------------------------------------------------------
(1 row)
SELECT alter_columnar_table_set('test_options_2', stripe_row_count => 6000);
SELECT alter_columnar_table_set('test_options_2', stripe_row_limit => 6000);
alter_columnar_table_set
---------------------------------------------------------------------

View File

@ -28,9 +28,9 @@ $$ LANGUAGE PLPGSQL;
-- Create and load data
-- chunk_row_count '1000', stripe_row_count '2000'
set columnar.stripe_row_count = 2000;
set columnar.chunk_row_count = 1000;
-- chunk_group_row_limit '1000', stripe_row_limit '2000'
set columnar.stripe_row_limit = 2000;
set columnar.chunk_group_row_limit = 1000;
CREATE TABLE test_chunk_filtering (a int)
USING columnar;
@ -58,8 +58,8 @@ SELECT filtered_row_count('SELECT count(*) FROM test_chunk_filtering WHERE a < 2
SELECT filtered_row_count('SELECT count(*) FROM test_chunk_filtering WHERE a < 0');
SELECT filtered_row_count('SELECT count(*) FROM test_chunk_filtering WHERE a BETWEEN 990 AND 2010');
set columnar.stripe_row_count to default;
set columnar.chunk_row_count to default;
set columnar.stripe_row_limit to default;
set columnar.chunk_group_row_limit to default;
-- Verify that we are fine with collations which use a different alphabet order
CREATE TABLE collation_chunk_filtering_test(A text collate "da_DK")

View File

@ -24,9 +24,9 @@ $$
END;
$$ LANGUAGE PLPGSQL;
-- Create and load data
-- chunk_row_count '1000', stripe_row_count '2000'
set columnar.stripe_row_count = 2000;
set columnar.chunk_row_count = 1000;
-- chunk_group_row_limit '1000', stripe_row_limit '2000'
set columnar.stripe_row_limit = 2000;
set columnar.chunk_group_row_limit = 1000;
CREATE TABLE test_chunk_filtering (a int)
USING columnar;
COPY test_chunk_filtering FROM '@abs_srcdir@/data/chunk_filtering.csv' WITH CSV;
@ -106,8 +106,8 @@ SELECT filtered_row_count('SELECT count(*) FROM test_chunk_filtering WHERE a BET
3958
(1 row)
set columnar.stripe_row_count to default;
set columnar.chunk_row_count to default;
set columnar.stripe_row_limit to default;
set columnar.chunk_group_row_limit to default;
-- Verify that we are fine with collations which use a different alphabet order
CREATE TABLE collation_chunk_filtering_test(A text collate "da_DK")
USING columnar;

View File

@ -8,8 +8,8 @@ create table t_compressed(a int) using columnar;
-- set options
SELECT alter_columnar_table_set('t_compressed', compression => 'pglz');
SELECT alter_columnar_table_set('t_compressed', stripe_row_count => 100);
SELECT alter_columnar_table_set('t_compressed', chunk_row_count => 100);
SELECT alter_columnar_table_set('t_compressed', stripe_row_limit => 100);
SELECT alter_columnar_table_set('t_compressed', chunk_group_row_limit => 100);
SELECT * FROM columnar.options WHERE regclass = 't_compressed'::regclass;

View File

@ -17,7 +17,7 @@ CREATE FUNCTION top_memory_context_usage()
SELECT TopMemoryContext FROM column_store_memory_stats();
$$ LANGUAGE SQL VOLATILE;
SET columnar.stripe_row_count TO 50000;
SET columnar.stripe_row_limit TO 50000;
SET columnar.compression TO 'pglz';
CREATE TABLE t (a int, tag text, memusage bigint) USING columnar;

View File

@ -23,15 +23,15 @@ SELECT alter_columnar_table_set('table_options', compression_level => 5);
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
-- test changing the chunk_row_count
SELECT alter_columnar_table_set('table_options', chunk_row_count => 10);
-- test changing the chunk_group_row_limit
SELECT alter_columnar_table_set('table_options', chunk_group_row_limit => 10);
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
-- test changing the chunk_row_count
SELECT alter_columnar_table_set('table_options', stripe_row_count => 100);
-- test changing the chunk_group_row_limit
SELECT alter_columnar_table_set('table_options', stripe_row_limit => 100);
-- show table_options settings
SELECT * FROM columnar.options
@ -45,7 +45,7 @@ SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
-- set all settings at the same time
SELECT alter_columnar_table_set('table_options', stripe_row_count => 1000, chunk_row_count => 100, compression => 'none', compression_level => 7);
SELECT alter_columnar_table_set('table_options', stripe_row_limit => 1000, chunk_group_row_limit => 100, compression => 'none', compression_level => 7);
-- show table_options settings
SELECT * FROM columnar.options
@ -75,8 +75,8 @@ SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
-- reset settings one by one to the version of the GUC's
SET columnar.chunk_row_count TO 1000;
SET columnar.stripe_row_count TO 10000;
SET columnar.chunk_group_row_limit TO 1000;
SET columnar.stripe_row_limit TO 10000;
SET columnar.compression TO 'pglz';
SET columnar.compression_level TO 11;
@ -85,12 +85,12 @@ SET columnar.compression_level TO 11;
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
SELECT alter_columnar_table_reset('table_options', chunk_row_count => true);
SELECT alter_columnar_table_reset('table_options', chunk_group_row_limit => true);
-- show table_options settings
SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
SELECT alter_columnar_table_reset('table_options', stripe_row_count => true);
SELECT alter_columnar_table_reset('table_options', stripe_row_limit => true);
-- show table_options settings
SELECT * FROM columnar.options
@ -109,8 +109,8 @@ SELECT * FROM columnar.options
WHERE regclass = 'table_options'::regclass;
-- verify resetting all settings at once work
SET columnar.chunk_row_count TO 10000;
SET columnar.stripe_row_count TO 100000;
SET columnar.chunk_group_row_limit TO 10000;
SET columnar.stripe_row_limit TO 100000;
SET columnar.compression TO 'none';
SET columnar.compression_level TO 13;
@ -120,8 +120,8 @@ WHERE regclass = 'table_options'::regclass;
SELECT alter_columnar_table_reset(
'table_options',
chunk_row_count => true,
stripe_row_count => true,
chunk_group_row_limit => true,
stripe_row_limit => true,
compression => true,
compression_level => true);

View File

@ -24,7 +24,7 @@ SELECT sum(a), sum(b) FROM t;
SELECT count(*) FROM t_stripes;
-- test the case when all data cannot fit into a single stripe
SELECT alter_columnar_table_set('t', stripe_row_count => 1000);
SELECT alter_columnar_table_set('t', stripe_row_limit => 1000);
INSERT INTO t SELECT i, 2 * i FROM generate_series(1,2500) i;
SELECT sum(a), sum(b) FROM t;
@ -76,8 +76,8 @@ SELECT count(*) FROM t;
BEGIN;
SELECT alter_columnar_table_set('t',
chunk_row_count => 1000,
stripe_row_count => 2000,
chunk_group_row_limit => 1000,
stripe_row_limit => 2000,
compression => 'pglz');
SAVEPOINT s1;
INSERT INTO t SELECT i FROM generate_series(1, 1500) i;
@ -116,8 +116,8 @@ SELECT count(distinct storageid) - :columnar_table_count FROM columnar.stripe;
-- A table with high compression ratio
SET columnar.compression TO 'pglz';
SET columnar.stripe_row_count TO 1000000;
SET columnar.chunk_row_count TO 100000;
SET columnar.stripe_row_limit TO 1000000;
SET columnar.chunk_group_row_limit TO 100000;
CREATE TABLE t(a int, b char, c text) USING columnar;
INSERT INTO t SELECT 1, 'a', 'xyz' FROM generate_series(1, 1000000) i;

View File

@ -48,54 +48,54 @@ SELECT run_command_on_placements('table_option',$cmd$
SELECT compression_level FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- setting: chunk_row_count
-- setting: chunk_group_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- change setting
SELECT alter_columnar_table_set('table_option', chunk_row_count => 100);
SELECT alter_columnar_table_set('table_option', chunk_group_row_limit => 100);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- reset setting
SELECT alter_columnar_table_reset('table_option', chunk_row_count => true);
SELECT alter_columnar_table_reset('table_option', chunk_group_row_limit => true);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- setting: stripe_row_count
-- setting: stripe_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- change setting
SELECT alter_columnar_table_set('table_option', stripe_row_count => 100);
SELECT alter_columnar_table_set('table_option', stripe_row_limit => 100);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- reset setting
SELECT alter_columnar_table_reset('table_option', stripe_row_count => true);
SELECT alter_columnar_table_reset('table_option', stripe_row_limit => true);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- verify settings are propagated when creating a table
CREATE TABLE table_option_2 (a int, b text) USING columnar;
SELECT alter_columnar_table_set('table_option_2',
chunk_row_count => 100,
stripe_row_count => 1000,
chunk_group_row_limit => 100,
stripe_row_limit => 1000,
compression => 'pglz',
compression_level => 15);
SELECT create_distributed_table('table_option_2', 'a');
-- verify settings on placements
SELECT run_command_on_placements('table_option_2',$cmd$
SELECT ROW(chunk_row_count, stripe_row_count, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT ROW(chunk_group_row_limit, stripe_row_limit, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- verify undistribute works
@ -148,54 +148,54 @@ SELECT run_command_on_placements('table_option',$cmd$
SELECT compression_level FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- setting: chunk_row_count
-- setting: chunk_group_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- change setting
SELECT alter_columnar_table_set('table_option', chunk_row_count => 100);
SELECT alter_columnar_table_set('table_option', chunk_group_row_limit => 100);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- reset setting
SELECT alter_columnar_table_reset('table_option', chunk_row_count => true);
SELECT alter_columnar_table_reset('table_option', chunk_group_row_limit => true);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- setting: stripe_row_count
-- setting: stripe_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- change setting
SELECT alter_columnar_table_set('table_option', stripe_row_count => 100);
SELECT alter_columnar_table_set('table_option', stripe_row_limit => 100);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- reset setting
SELECT alter_columnar_table_reset('table_option', stripe_row_count => true);
SELECT alter_columnar_table_reset('table_option', stripe_row_limit => true);
-- verify setting
SELECT run_command_on_placements('table_option',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- verify settings are propagated when creating a table
CREATE TABLE table_option_2 (a int, b text) USING columnar;
SELECT alter_columnar_table_set('table_option_2',
chunk_row_count => 100,
stripe_row_count => 1000,
chunk_group_row_limit => 100,
stripe_row_limit => 1000,
compression => 'pglz',
compression_level => 19);
SELECT create_distributed_table('table_option_2', 'a');
-- verify settings on placements
SELECT run_command_on_placements('table_option_2',$cmd$
SELECT ROW(chunk_row_count, stripe_row_count, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT ROW(chunk_group_row_limit, stripe_row_limit, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- verify undistribute works
@ -245,54 +245,54 @@ SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT compression_level FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- setting: chunk_row_count
-- setting: chunk_group_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- change setting
SELECT alter_columnar_table_set('table_option_reference', chunk_row_count => 100);
SELECT alter_columnar_table_set('table_option_reference', chunk_group_row_limit => 100);
-- verify setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- reset setting
SELECT alter_columnar_table_reset('table_option_reference', chunk_row_count => true);
SELECT alter_columnar_table_reset('table_option_reference', chunk_group_row_limit => true);
-- verify setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- setting: stripe_row_count
-- setting: stripe_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- change setting
SELECT alter_columnar_table_set('table_option_reference', stripe_row_count => 100);
SELECT alter_columnar_table_set('table_option_reference', stripe_row_limit => 100);
-- verify setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- reset setting
SELECT alter_columnar_table_reset('table_option_reference', stripe_row_count => true);
SELECT alter_columnar_table_reset('table_option_reference', stripe_row_limit => true);
-- verify setting
SELECT run_command_on_placements('table_option_reference',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- verify settings are propagated when creating a table
CREATE TABLE table_option_reference_2 (a int, b text) USING columnar;
SELECT alter_columnar_table_set('table_option_reference_2',
chunk_row_count => 100,
stripe_row_count => 1000,
chunk_group_row_limit => 100,
stripe_row_limit => 1000,
compression => 'pglz',
compression_level => 9);
SELECT create_reference_table('table_option_reference_2');
-- verify settings on placements
SELECT run_command_on_placements('table_option_reference_2',$cmd$
SELECT ROW(chunk_row_count, stripe_row_count, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT ROW(chunk_group_row_limit, stripe_row_limit, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- verify undistribute works
@ -345,54 +345,54 @@ SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT compression_level FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- setting: chunk_row_count
-- setting: chunk_group_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- change setting
SELECT alter_columnar_table_set('table_option_citus_local', chunk_row_count => 100);
SELECT alter_columnar_table_set('table_option_citus_local', chunk_group_row_limit => 100);
-- verify setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- reset setting
SELECT alter_columnar_table_reset('table_option_citus_local', chunk_row_count => true);
SELECT alter_columnar_table_reset('table_option_citus_local', chunk_group_row_limit => true);
-- verify setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT chunk_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT chunk_group_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- setting: stripe_row_count
-- setting: stripe_row_limit
-- get baseline for setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- change setting
SELECT alter_columnar_table_set('table_option_citus_local', stripe_row_count => 100);
SELECT alter_columnar_table_set('table_option_citus_local', stripe_row_limit => 100);
-- verify setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- reset setting
SELECT alter_columnar_table_reset('table_option_citus_local', stripe_row_count => true);
SELECT alter_columnar_table_reset('table_option_citus_local', stripe_row_limit => true);
-- verify setting
SELECT run_command_on_placements('table_option_citus_local',$cmd$
SELECT stripe_row_count FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT stripe_row_limit FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- verify settings are propagated when creating a table
CREATE TABLE table_option_citus_local_2 (a int, b text) USING columnar;
SELECT alter_columnar_table_set('table_option_citus_local_2',
chunk_row_count => 100,
stripe_row_count => 1000,
chunk_group_row_limit => 100,
stripe_row_limit => 1000,
compression => 'pglz',
compression_level => 9);
SELECT citus_add_local_table_to_metadata('table_option_citus_local_2');
-- verify settings on placements
SELECT run_command_on_placements('table_option_citus_local_2',$cmd$
SELECT ROW(chunk_row_count, stripe_row_count, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
SELECT ROW(chunk_group_row_limit, stripe_row_limit, compression, compression_level) FROM columnar.options WHERE regclass = '%s'::regclass;
$cmd$);
-- verify undistribute works

View File

@ -95,8 +95,8 @@ SELECT :relfilenode_pre_alter <> :relfilenode_post_alter AS relfilenode_changed;
-- Test that we retain options
--
SET columnar.stripe_row_count TO 5000;
SET columnar.chunk_row_count TO 1000;
SET columnar.stripe_row_limit TO 5000;
SET columnar.chunk_group_row_limit TO 1000;
SET columnar.compression TO 'pglz';
CREATE TABLE test_options_1(a int, b int) USING columnar;
@ -104,8 +104,8 @@ INSERT INTO test_options_1 SELECT i, floor(i/1000) FROM generate_series(1, 10000
CREATE TABLE test_options_2(a int, b int) USING columnar;
INSERT INTO test_options_2 SELECT i, floor(i/1000) FROM generate_series(1, 10000) i;
SELECT alter_columnar_table_set('test_options_2', chunk_row_count => 2000);
SELECT alter_columnar_table_set('test_options_2', stripe_row_count => 6000);
SELECT alter_columnar_table_set('test_options_2', chunk_group_row_limit => 2000);
SELECT alter_columnar_table_set('test_options_2', stripe_row_limit => 6000);
SELECT alter_columnar_table_set('test_options_2', compression => 'none');
SELECT alter_columnar_table_set('test_options_2', compression_level => 13);
INSERT INTO test_options_2 SELECT i, floor(i/2000) FROM generate_series(1, 10000) i;