mirror of
https://github.com/postgres/postgres.git
synced 2025-09-03 15:22:11 +03:00
Add location field to DefElem
Add a location field to the DefElem struct, used to parse many utility commands. Update various error messages to supply error position information. To propogate the error position information in a more systematic way, create a ParseState in standard_ProcessUtility() and pass that to interested functions implementing the utility commands. This seems better than passing the query string and then reassembling a parse state ad hoc, which violates the encapsulation of the ParseState type. Reviewed-by: Pavel Stehule <pavel.stehule@gmail.com>
This commit is contained in:
@@ -148,37 +148,37 @@ base_backup_opt:
|
||||
K_LABEL SCONST
|
||||
{
|
||||
$$ = makeDefElem("label",
|
||||
(Node *)makeString($2));
|
||||
(Node *)makeString($2), -1);
|
||||
}
|
||||
| K_PROGRESS
|
||||
{
|
||||
$$ = makeDefElem("progress",
|
||||
(Node *)makeInteger(TRUE));
|
||||
(Node *)makeInteger(TRUE), -1);
|
||||
}
|
||||
| K_FAST
|
||||
{
|
||||
$$ = makeDefElem("fast",
|
||||
(Node *)makeInteger(TRUE));
|
||||
(Node *)makeInteger(TRUE), -1);
|
||||
}
|
||||
| K_WAL
|
||||
{
|
||||
$$ = makeDefElem("wal",
|
||||
(Node *)makeInteger(TRUE));
|
||||
(Node *)makeInteger(TRUE), -1);
|
||||
}
|
||||
| K_NOWAIT
|
||||
{
|
||||
$$ = makeDefElem("nowait",
|
||||
(Node *)makeInteger(TRUE));
|
||||
(Node *)makeInteger(TRUE), -1);
|
||||
}
|
||||
| K_MAX_RATE UCONST
|
||||
{
|
||||
$$ = makeDefElem("max_rate",
|
||||
(Node *)makeInteger($2));
|
||||
(Node *)makeInteger($2), -1);
|
||||
}
|
||||
| K_TABLESPACE_MAP
|
||||
{
|
||||
$$ = makeDefElem("tablespace_map",
|
||||
(Node *)makeInteger(TRUE));
|
||||
(Node *)makeInteger(TRUE), -1);
|
||||
}
|
||||
;
|
||||
|
||||
@@ -315,7 +315,7 @@ plugin_opt_list:
|
||||
plugin_opt_elem:
|
||||
IDENT plugin_opt_arg
|
||||
{
|
||||
$$ = makeDefElem($1, $2);
|
||||
$$ = makeDefElem($1, $2, -1);
|
||||
}
|
||||
;
|
||||
|
||||
|
Reference in New Issue
Block a user