Add location field to DefElem

Peter Eisentraut <peter_e@gmx.net>

Commit: 49eb0fd0972d14014dd3533b1f1bf8c94c899883
Author: Peter Eisentraut <peter_e@gmx.net>
Date: 2016-09-06T16:00:00Z
Releases: 10.0
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>

Files

PathChange+/−
contrib/file_fdw/file_fdw.c modified +9 −7
src/backend/access/common/reloptions.c modified +1 −1
src/backend/catalog/aclchk.c modified +5 −3
src/backend/commands/aggregatecmds.c modified +3 −4
src/backend/commands/collationcmds.c modified +3 −2
src/backend/commands/copy.c modified +57 −36
src/backend/commands/dbcommands.c modified +40 −21
src/backend/commands/define.c modified +0 −9
src/backend/commands/explain.c modified +5 −3
src/backend/commands/extension.c modified +15 −10
src/backend/commands/functioncmds.c modified +30 −27
src/backend/commands/sequence.c modified +22 −14
src/backend/commands/tsearchcmds.c modified +4 −4
src/backend/commands/typecmds.c modified +5 −3
src/backend/commands/user.c modified +27 −14
src/backend/commands/view.c modified +2 −2
src/backend/nodes/copyfuncs.c modified +1 −0
src/backend/nodes/equalfuncs.c modified +2 −0
src/backend/nodes/makefuncs.c modified +4 −2
src/backend/nodes/outfuncs.c modified +1 −0
src/backend/nodes/readfuncs.c modified +1 −0
src/backend/parser/gram.y modified +124 −124
src/backend/parser/parse_utilcmd.c modified +3 −2
src/backend/replication/logical/logicalfuncs.c modified +1 −1
src/backend/replication/repl_gram.y modified +8 −8
src/backend/tcop/utility.c modified +37 −27
src/include/commands/collationcmds.h modified +1 −1
src/include/commands/copy.h modified +4 −3
src/include/commands/dbcommands.h modified +2 −2
src/include/commands/defrem.h modified +6 −7
src/include/commands/explain.h modified +2 −1
src/include/commands/extension.h modified +2 −2
src/include/commands/sequence.h modified +3 −2
src/include/commands/typecmds.h modified +1 −1
src/include/commands/user.h modified +2 −1
src/include/nodes/makefuncs.h modified +2 −2
src/include/nodes/parsenodes.h modified +1 −0
src/include/utils/acl.h modified +2 −1