aboutsummaryrefslogtreecommitdiff
path: root/src/bin/pg_dump/pg_dump.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/pg_dump/pg_dump.h')
-rw-r--r--src/bin/pg_dump/pg_dump.h368
1 files changed, 197 insertions, 171 deletions
diff --git a/src/bin/pg_dump/pg_dump.h b/src/bin/pg_dump/pg_dump.h
index a537a3ff6ba..b59e4d82997 100644
--- a/src/bin/pg_dump/pg_dump.h
+++ b/src/bin/pg_dump/pg_dump.h
@@ -1,21 +1,21 @@
/*-------------------------------------------------------------------------
*
* pg_dump.h
- * header file for the pg_dump utility
+ * header file for the pg_dump utility
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_dump.h,v 1.19 1997/08/19 21:36:45 momjian Exp $
+ * $Id: pg_dump.h,v 1.20 1997/09/07 04:54:42 momjian Exp $
*
* Modifications - 6/12/96 - dave@bensoft.com - version 1.13.dhb.2
*
- * - Fixed dumpTable output to output lengths for char and varchar types!
- * - Added single. quote to twin single quote expansion for 'insert' string
- * mode.
+ * - Fixed dumpTable output to output lengths for char and varchar types!
+ * - Added single. quote to twin single quote expansion for 'insert' string
+ * mode.
*
* Modifications - 6/1/97 - igor@sba.miami.edu
* - Added extern's for the functions that clear allocated memory
- * in pg_dump.c
+ * in pg_dump.c
*-------------------------------------------------------------------------
*/
@@ -23,192 +23,218 @@
/* The *Info data structures run-time C structures used to store
system catalog information */
-
-typedef struct _typeInfo {
- char* oid;
- char* typowner;
- char* typname;
- char* typlen;
- char* typprtlen;
- char* typinput;
- char* typoutput;
- char* typreceive;
- char* typsend;
- char* typelem;
- char* typdelim;
- char* typdefault;
- char* typrelid;
- char* usename;
- int passedbyvalue;
- int isArray;
-} TypeInfo;
-
-typedef struct _funcInfo {
- char* oid;
- char* proname;
- char* proowner;
- int lang; /* 1 if C, else SQL */
- int nargs;
- char* argtypes[8]; /* should be derived from obj/fmgr.h instead of hardwired*/
- char* prorettype;
- int retset; /* 1 if the function returns a set, 0 otherwise */
- char* prosrc;
- char* probin;
- char* usename;
- int dumped; /* 1 if already dumped */
-} FuncInfo;
-
-typedef struct _tableInfo {
- char *oid;
- char *relname;
- char *relarch;
- char *relacl;
- bool sequence;
- int numatts; /* number of attributes */
- int *inhAttrs; /* an array of flags, one for each attribute
- if the value is 1, then this attribute is
- an inherited attribute */
- char **attnames; /* the attribute names */
- char **typnames; /* fill out attributes */
- bool *notnull; /* Not null constraints of an attribute */
- int numParents; /* number of (immediate) parent supertables */
- char **parentRels; /* names of parent relations, NULL
- if numParents == 0 */
- char **out_attnames; /* the attribute names, in the order they would
- be in, when the table is created in the
- target query language.
- this is needed because the SQL tables will
- not have the same order of attributes as
- the POSTQUEL tables */
- int *attlen; /* attribute lengths */
- char* usename;
-
-} TableInfo;
-
-typedef struct _inhInfo {
- char *inhrel;
- char *inhparent;
-} InhInfo;
-
-typedef struct _indInfo {
- char *indexrelname; /* name of the secondary index class */
- char *indrelname; /* name of the indexed heap class */
- char *indamname; /* name of the access method (e.g. btree, rtree, etc.) */
- char *indproc; /* oid of the function to compute the index, 0 if none*/
- char *indkey[INDEX_MAX_KEYS]; /* attribute numbers of the key attributes */
- char *indclass[INDEX_MAX_KEYS]; /* opclass of the keys */
- char *indisunique; /* is this index unique? */
-} IndInfo;
-
-typedef struct _aggInfo {
- char *oid;
- char *aggname;
- char *aggtransfn1;
- char *aggtransfn2;
- char *aggfinalfn;
- char *aggtranstype1;
- char *aggbasetype;
- char *aggtranstype2;
- char *agginitval1;
- char *agginitval2;
- char* usename;
-} AggInfo;
-
-typedef struct _oprInfo {
- char *oid;
- char *oprname;
- char *oprkind; /* "b" = binary, "l" = left unary, "r" = right unary */
- char *oprcode; /* operator function name */
- char *oprleft; /* left operand type */
- char *oprright; /* right operand type */
- char *oprcom; /* oid of the commutator operator */
- char *oprnegate; /* oid of the negator operator */
- char *oprrest; /* name of the function to calculate operator restriction
- selectivity */
- char *oprjoin; /* name of the function to calculate operator join
- selectivity */
- char *oprcanhash; /* can we use hash join strategy ? */
- char *oprlsortop; /* oid's of the left and right sort operators */
- char *oprrsortop;
- char* usename;
-} OprInfo;
+
+typedef struct _typeInfo
+{
+ char *oid;
+ char *typowner;
+ char *typname;
+ char *typlen;
+ char *typprtlen;
+ char *typinput;
+ char *typoutput;
+ char *typreceive;
+ char *typsend;
+ char *typelem;
+ char *typdelim;
+ char *typdefault;
+ char *typrelid;
+ char *usename;
+ int passedbyvalue;
+ int isArray;
+} TypeInfo;
+
+typedef struct _funcInfo
+{
+ char *oid;
+ char *proname;
+ char *proowner;
+ int lang; /* 1 if C, else SQL */
+ int nargs;
+ char *argtypes[8];/* should be derived from obj/fmgr.h
+ * instead of hardwired */
+ char *prorettype;
+ int retset; /* 1 if the function returns a set, 0
+ * otherwise */
+ char *prosrc;
+ char *probin;
+ char *usename;
+ int dumped; /* 1 if already dumped */
+} FuncInfo;
+
+typedef struct _tableInfo
+{
+ char *oid;
+ char *relname;
+ char *relarch;
+ char *relacl;
+ bool sequence;
+ int numatts; /* number of attributes */
+ int *inhAttrs; /* an array of flags, one for each
+ * attribute if the value is 1, then this
+ * attribute is an inherited attribute */
+ char **attnames; /* the attribute names */
+ char **typnames; /* fill out attributes */
+ bool *notnull; /* Not null constraints of an attribute */
+ int numParents; /* number of (immediate) parent
+ * supertables */
+ char **parentRels; /* names of parent relations, NULL if
+ * numParents == 0 */
+ char **out_attnames; /* the attribute names, in the
+ * order they would be in, when
+ * the table is created in the
+ * target query language. this is
+ * needed because the SQL tables
+ * will not have the same order of
+ * attributes as the POSTQUEL
+ * tables */
+ int *attlen; /* attribute lengths */
+ char *usename;
+
+} TableInfo;
+
+typedef struct _inhInfo
+{
+ char *inhrel;
+ char *inhparent;
+} InhInfo;
+
+typedef struct _indInfo
+{
+ char *indexrelname; /* name of the secondary index
+ * class */
+ char *indrelname; /* name of the indexed heap class */
+ char *indamname; /* name of the access method (e.g. btree,
+ * rtree, etc.) */
+ char *indproc; /* oid of the function to compute the
+ * index, 0 if none */
+ char *indkey[INDEX_MAX_KEYS]; /* attribute numbers of
+ * the key attributes */
+ char *indclass[INDEX_MAX_KEYS]; /* opclass of the keys */
+ char *indisunique;/* is this index unique? */
+} IndInfo;
+
+typedef struct _aggInfo
+{
+ char *oid;
+ char *aggname;
+ char *aggtransfn1;
+ char *aggtransfn2;
+ char *aggfinalfn;
+ char *aggtranstype1;
+ char *aggbasetype;
+ char *aggtranstype2;
+ char *agginitval1;
+ char *agginitval2;
+ char *usename;
+} AggInfo;
+
+typedef struct _oprInfo
+{
+ char *oid;
+ char *oprname;
+ char *oprkind; /* "b" = binary, "l" = left unary, "r" =
+ * right unary */
+ char *oprcode; /* operator function name */
+ char *oprleft; /* left operand type */
+ char *oprright; /* right operand type */
+ char *oprcom; /* oid of the commutator operator */
+ char *oprnegate; /* oid of the negator operator */
+ char *oprrest; /* name of the function to calculate
+ * operator restriction selectivity */
+ char *oprjoin; /* name of the function to calculate
+ * operator join selectivity */
+ char *oprcanhash; /* can we use hash join strategy ? */
+ char *oprlsortop; /* oid's of the left and right sort
+ * operators */
+ char *oprrsortop;
+ char *usename;
+} OprInfo;
/* global decls */
-extern bool g_verbose; /* verbose flag */
-extern int g_last_builtin_oid; /* value of the last builtin oid */
-extern FILE *g_fout; /* the script file */
+extern bool g_verbose; /* verbose flag */
+extern int g_last_builtin_oid; /* value of the last builtin oid */
+extern FILE *g_fout; /* the script file */
/* placeholders for comment starting and ending delimiters */
-extern char g_comment_start[10];
-extern char g_comment_end[10];
+extern char g_comment_start[10];
+extern char g_comment_end[10];
-extern char g_opaque_type[10]; /* name for the opaque type */
+extern char g_opaque_type[10]; /* name for the opaque type */
/* pg_dump is really two programs in one
- one version works with postgres v4r2
- and the other works with postgres95
- the common routines are declared here
+ one version works with postgres v4r2
+ and the other works with postgres95
+ the common routines are declared here
*/
/*
- * common utility functions
+ * common utility functions
*/
-extern TableInfo* dumpSchema(FILE* fout,
- int *numTablesPtr,
- const char *tablename,
- const bool acls);
-extern void dumpSchemaIdx(FILE* fout,
- int *numTablesPtr,
+extern TableInfo *
+dumpSchema(FILE * fout,
+ int *numTablesPtr,
+ const char *tablename,
+ const bool acls);
+extern void
+dumpSchemaIdx(FILE * fout,
+ int *numTablesPtr,
const char *tablename,
- TableInfo* tblinfo,
+ TableInfo * tblinfo,
int numTables);
-extern char* findTypeByOid(TypeInfo* tinfo, int numTypes, const char* oid);
-extern char* findOprByOid(OprInfo *oprinfo, int numOprs, const char *oid);
-extern int findFuncByName(FuncInfo* finfo, int numFuncs, const char* name);
-extern int findTableByName(TableInfo *tbinfo, int numTables, const char *relname);
+extern char *findTypeByOid(TypeInfo * tinfo, int numTypes, const char *oid);
+extern char *findOprByOid(OprInfo * oprinfo, int numOprs, const char *oid);
+extern int findFuncByName(FuncInfo * finfo, int numFuncs, const char *name);
+extern int findTableByName(TableInfo * tbinfo, int numTables, const char *relname);
-extern void check_conn_and_db(void);
-extern void parseArgTypes(char **argtypes, const char* str);
-extern int isArchiveName(const char*);
+extern void check_conn_and_db(void);
+extern void parseArgTypes(char **argtypes, const char *str);
+extern int isArchiveName(const char *);
/*
- * version specific routines
+ * version specific routines
*/
-extern TypeInfo* getTypes(int *numTypes);
-extern FuncInfo* getFuncs(int *numFuncs);
-extern AggInfo* getAggregates(int *numAggregates);
-
-extern void clearAggInfo(AggInfo*, int);
-extern void clearFuncInfo(FuncInfo*, int);
-extern void clearInhInfo(InhInfo*, int);
-extern void clearIndInfo(IndInfo*, int);
-extern void clearOprInfo(OprInfo*, int);
-extern void clearTypeInfo(TypeInfo*, int);
-
-extern OprInfo* getOperators(int *numOperators);
-extern TableInfo* getTables(int *numTables);
-extern InhInfo* getInherits(int *numInherits);
-extern void getTableAttrs(TableInfo* tbinfo, int numTables);
-extern IndInfo* getIndices(int *numIndices);
-extern void dumpTypes(FILE* fout, FuncInfo* finfo, int numFuncs,
- TypeInfo* tinfo, int numTypes);
-extern void dumpFuncs(FILE* fout, FuncInfo* finfo, int numFuncs,
- TypeInfo *tinfo, int numTypes);
-extern void dumpAggs(FILE* fout, AggInfo* agginfo, int numAggregates,
- TypeInfo *tinfo, int numTypes);
-extern void dumpOprs(FILE* fout, OprInfo* agginfo, int numOperators,
- TypeInfo *tinfo, int numTypes);
-extern void dumpTables(FILE* fout, TableInfo* tbinfo, int numTables,
- InhInfo *inhinfo, int numInherits,
- TypeInfo *tinfo, int numTypes, const char *tablename,
- const bool acls);
-extern void dumpIndices(FILE* fout, IndInfo* indinfo, int numIndices,
- TableInfo* tbinfo, int numTables, const char *tablename);
+extern TypeInfo *getTypes(int *numTypes);
+extern FuncInfo *getFuncs(int *numFuncs);
+extern AggInfo *getAggregates(int *numAggregates);
+
+extern void clearAggInfo(AggInfo *, int);
+extern void clearFuncInfo(FuncInfo *, int);
+extern void clearInhInfo(InhInfo *, int);
+extern void clearIndInfo(IndInfo *, int);
+extern void clearOprInfo(OprInfo *, int);
+extern void clearTypeInfo(TypeInfo *, int);
+
+extern OprInfo *getOperators(int *numOperators);
+extern TableInfo *getTables(int *numTables);
+extern InhInfo *getInherits(int *numInherits);
+extern void getTableAttrs(TableInfo * tbinfo, int numTables);
+extern IndInfo *getIndices(int *numIndices);
+extern void
+dumpTypes(FILE * fout, FuncInfo * finfo, int numFuncs,
+ TypeInfo * tinfo, int numTypes);
+extern void
+dumpFuncs(FILE * fout, FuncInfo * finfo, int numFuncs,
+ TypeInfo * tinfo, int numTypes);
+extern void
+dumpAggs(FILE * fout, AggInfo * agginfo, int numAggregates,
+ TypeInfo * tinfo, int numTypes);
+extern void
+dumpOprs(FILE * fout, OprInfo * agginfo, int numOperators,
+ TypeInfo * tinfo, int numTypes);
+extern void
+dumpTables(FILE * fout, TableInfo * tbinfo, int numTables,
+ InhInfo * inhinfo, int numInherits,
+ TypeInfo * tinfo, int numTypes, const char *tablename,
+ const bool acls);
+extern void
+dumpIndices(FILE * fout, IndInfo * indinfo, int numIndices,
+ TableInfo * tbinfo, int numTables, const char *tablename);
/* largest query string size */
#define MAXQUERYLEN 5000
/* these voodoo constants are from the backend */
-#define C_PROLANG_OID 13
+#define C_PROLANG_OID 13