Merge pull request #4581 from citusdata/error-for-alter-table-am-pg11

Adds error message to AlterTableSetAccessMethod for below PG12
pull/4592/head^2
Halil Ozan Akgül 2021-01-28 12:30:38 +03:00 committed by GitHub
commit e96db9b407
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 31 additions and 0 deletions

View File

@ -428,6 +428,11 @@ AlterDistributedTable(TableConversionParameters *params)
TableConversionReturn *
AlterTableSetAccessMethod(TableConversionParameters *params)
{
#if PG_VERSION_NUM < PG_VERSION_12
ereport(ERROR, (errmsg("table access methods are not supported "
"for Postgres versions earlier than 12")));
#endif
EnsureRelationExists(params->relationId);
EnsureTableOwner(params->relationId);

View File

@ -1,3 +1,17 @@
-- test for Postgres version
-- should error before PG12
CREATE TABLE alter_am_pg_version_table (a INT);
SELECT alter_table_set_access_method('alter_am_pg_version_table', 'columnar');
NOTICE: creating a new table for public.alter_am_pg_version_table
NOTICE: Moving the data of public.alter_am_pg_version_table
NOTICE: Dropping the old public.alter_am_pg_version_table
NOTICE: Renaming the new table to public.alter_am_pg_version_table
alter_table_set_access_method
---------------------------------------------------------------------
(1 row)
DROP TABLE alter_am_pg_version_table;
SHOW server_version \gset
SELECT substring(:'server_version', '\d+')::int > 11 AS server_version_above_eleven
\gset

View File

@ -1,3 +1,9 @@
-- test for Postgres version
-- should error before PG12
CREATE TABLE alter_am_pg_version_table (a INT);
SELECT alter_table_set_access_method('alter_am_pg_version_table', 'columnar');
ERROR: table access methods are not supported for Postgres versions earlier than 12
DROP TABLE alter_am_pg_version_table;
SHOW server_version \gset
SELECT substring(:'server_version', '\d+')::int > 11 AS server_version_above_eleven
\gset

View File

@ -1,3 +1,9 @@
-- test for Postgres version
-- should error before PG12
CREATE TABLE alter_am_pg_version_table (a INT);
SELECT alter_table_set_access_method('alter_am_pg_version_table', 'columnar');
DROP TABLE alter_am_pg_version_table;
SHOW server_version \gset
SELECT substring(:'server_version', '\d+')::int > 11 AS server_version_above_eleven
\gset