1 /*-------------------------------------------------------------------------
4 * Definitions for using the POSTGRES copy command.
7 * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/commands/copy.h
12 *-------------------------------------------------------------------------
17 #include "nodes/execnodes.h"
18 #include "nodes/parsenodes.h"
19 #include "tcop/dest.h"
21 /* CopyStateData is private in commands/copy.c */
22 typedef struct CopyStateData *CopyState;
24 extern uint64 DoCopy(const CopyStmt *stmt, const char *queryString);
26 extern void ProcessCopyOptions(CopyState cstate, bool is_from, List *options);
27 extern CopyState BeginCopyFrom(Relation rel, const char *filename,
28 List *attnamelist, List *options);
29 extern void EndCopyFrom(CopyState cstate);
30 extern bool NextCopyFrom(CopyState cstate, ExprContext *econtext,
31 Datum *values, bool *nulls, Oid *tupleOid);
32 extern bool NextCopyFromRawFields(CopyState cstate,
33 char ***fields, int *nfields);
34 extern void CopyFromErrorCallback(void *arg);
36 extern DestReceiver *CreateCopyDestReceiver(void);