mirror of
https://github.com/postgres/postgres.git
synced 2025-10-19 15:49:24 +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:
@@ -16,16 +16,17 @@
|
||||
|
||||
#include "nodes/execnodes.h"
|
||||
#include "nodes/parsenodes.h"
|
||||
#include "parser/parse_node.h"
|
||||
#include "tcop/dest.h"
|
||||
|
||||
/* CopyStateData is private in commands/copy.c */
|
||||
typedef struct CopyStateData *CopyState;
|
||||
|
||||
extern Oid DoCopy(const CopyStmt *stmt, const char *queryString,
|
||||
extern Oid DoCopy(ParseState *state, const CopyStmt *stmt,
|
||||
uint64 *processed);
|
||||
|
||||
extern void ProcessCopyOptions(CopyState cstate, bool is_from, List *options);
|
||||
extern CopyState BeginCopyFrom(Relation rel, const char *filename,
|
||||
extern void ProcessCopyOptions(ParseState *pstate, CopyState cstate, bool is_from, List *options);
|
||||
extern CopyState BeginCopyFrom(ParseState *pstate, Relation rel, const char *filename,
|
||||
bool is_program, List *attnamelist, List *options);
|
||||
extern void EndCopyFrom(CopyState cstate);
|
||||
extern bool NextCopyFrom(CopyState cstate, ExprContext *econtext,
|
||||
|
Reference in New Issue
Block a user