diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2016-09-06 12:00:00 -0400 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2016-09-06 12:00:00 -0400 |
commit | 49eb0fd0972d14014dd3533b1f1bf8c94c899883 (patch) | |
tree | bcbfa5cf8f49c1b73066a5c4eaf80f33fc4ecc53 /src/backend/commands/collationcmds.c | |
parent | 975768f8eae2581b89ceafe8b16a77ff375207fe (diff) |
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>
Diffstat (limited to 'src/backend/commands/collationcmds.c')
-rw-r--r-- | src/backend/commands/collationcmds.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/commands/collationcmds.c b/src/backend/commands/collationcmds.c index e4ebb654a6e..0c75d16f369 100644 --- a/src/backend/commands/collationcmds.c +++ b/src/backend/commands/collationcmds.c @@ -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; } |