Adds error message to AlterTableSetAccessMethod for below PG12

pull/4581/head
Halil Ozan Akgul 2021-01-26 14:40:04 +03:00
parent 15297cab49
commit 913aa91449
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