mirror of
https://github.com/postgres/postgres.git
synced 2025-07-17 06:41:09 +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:
@ -38,7 +38,7 @@
|
||||
* CREATE COLLATION
|
||||
*/
|
||||
ObjectAddress
|
||||
DefineCollation(List *names, List *parameters)
|
||||
DefineCollation(ParseState *pstate, List *names, List *parameters)
|
||||
{
|
||||
char *collName;
|
||||
Oid collNamespace;
|
||||
@ -78,7 +78,8 @@ DefineCollation(List *names, List *parameters)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_SYNTAX_ERROR),
|
||||
errmsg("collation attribute \"%s\" not recognized",
|
||||
defel->defname)));
|
||||
defel->defname),
|
||||
parser_errposition(pstate, defel->location)));
|
||||
break;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user