mirror of
https://github.com/postgres/postgres.git
synced 2025-09-02 04:21:28 +03:00
Rename some enums to use TABLE instead of REL.
Commit 5a2832465f
introduced some enums to represent all tables in schema
publications and used REL in their names. Use TABLE instead of REL in
those enums to avoid confusion with other objects like SEQUENCES that can
be part of a publication in the future.
In the passing, (a) Change one of the newly introduced error messages to
make it consistent for Create and Alter commands, (b) add missing alias in
one of the SQL Statements that is used to print publications associated
with the table.
Reported-by: Tomas Vondra, Peter Smith
Author: Vignesh C
Reviewed-by: Hou Zhijie, Peter Smith
Discussion: https://www.postgresql.org/message-id/CALDaNm0OANxuJ6RXqwZsM1MSY4s19nuH3734j4a72etDwvBETQ%40mail.gmail.com
This commit is contained in:
@@ -9662,14 +9662,14 @@ PublicationObjSpec:
|
||||
| ALL TABLES IN_P SCHEMA ColId
|
||||
{
|
||||
$$ = makeNode(PublicationObjSpec);
|
||||
$$->pubobjtype = PUBLICATIONOBJ_REL_IN_SCHEMA;
|
||||
$$->pubobjtype = PUBLICATIONOBJ_TABLE_IN_SCHEMA;
|
||||
$$->name = $5;
|
||||
$$->location = @5;
|
||||
}
|
||||
| ALL TABLES IN_P SCHEMA CURRENT_SCHEMA
|
||||
{
|
||||
$$ = makeNode(PublicationObjSpec);
|
||||
$$->pubobjtype = PUBLICATIONOBJ_CURRSCHEMA;
|
||||
$$->pubobjtype = PUBLICATIONOBJ_TABLE_IN_CUR_SCHEMA;
|
||||
$$->location = @5;
|
||||
}
|
||||
| ColId
|
||||
@@ -17323,7 +17323,7 @@ preprocess_pubobj_list(List *pubobjspec_list, core_yyscan_t yyscanner)
|
||||
if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
|
||||
ereport(ERROR,
|
||||
errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("FOR TABLE/FOR ALL TABLES IN SCHEMA should be specified before the table/schema name(s)"),
|
||||
errmsg("TABLE/ALL TABLES IN SCHEMA should be specified before the table/schema name(s)"),
|
||||
parser_errposition(pubobj->location));
|
||||
|
||||
foreach(cell, pubobjspec_list)
|
||||
@@ -17351,17 +17351,17 @@ preprocess_pubobj_list(List *pubobjspec_list, core_yyscan_t yyscanner)
|
||||
pubobj->name = NULL;
|
||||
}
|
||||
}
|
||||
else if (pubobj->pubobjtype == PUBLICATIONOBJ_REL_IN_SCHEMA ||
|
||||
pubobj->pubobjtype == PUBLICATIONOBJ_CURRSCHEMA)
|
||||
else if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLE_IN_SCHEMA ||
|
||||
pubobj->pubobjtype == PUBLICATIONOBJ_TABLE_IN_CUR_SCHEMA)
|
||||
{
|
||||
/*
|
||||
* We can distinguish between the different type of schema
|
||||
* objects based on whether name and pubtable is set.
|
||||
*/
|
||||
if (pubobj->name)
|
||||
pubobj->pubobjtype = PUBLICATIONOBJ_REL_IN_SCHEMA;
|
||||
pubobj->pubobjtype = PUBLICATIONOBJ_TABLE_IN_SCHEMA;
|
||||
else if (!pubobj->name && !pubobj->pubtable)
|
||||
pubobj->pubobjtype = PUBLICATIONOBJ_CURRSCHEMA;
|
||||
pubobj->pubobjtype = PUBLICATIONOBJ_TABLE_IN_CUR_SCHEMA;
|
||||
else
|
||||
ereport(ERROR,
|
||||
errcode(ERRCODE_SYNTAX_ERROR),
|
||||
|
Reference in New Issue
Block a user