fix pg_dump to dump sequences created by SERIAL datatype

Started by Brook Milliganalmost 27 years ago2 messages
#1Brook Milligan
brook@trillium.NMSU.Edu

As it stands in 6.4.2 pg_dump does not dump sequences created by the
SERIAL datatype when the -t tablename option is used. The following
patch fixes that (with a couple of cosmetic cleanups) so that whenever
the -t option is used, the appropriate *_id_seq sequence is also
dumped if it exists.

The second patch just fixes a bunch of cosmetic details concerning
alignment and changes nothing substantive in the code.

Cheers,
Brook

===========================================================================

--- bin/pg_dump/pg_dump.c.orig	Wed Jan 13 09:37:40 1999
+++ bin/pg_dump/pg_dump.c	Wed Jan 13 10:08:35 1999
@@ -2593,17 +2592,26 @@
 	int			i,
 				j,
 				k;
-	char		q[MAXQUERYLEN];
-	char	  **parentRels;		/* list of names of parent relations */
+	char			q[MAXQUERYLEN];
+	char			*serialSeq = NULL;		/* implicit sequence name created by SERIAL datatype */
+	const char		*serialSeqSuffix = "_id_seq";	/* suffix for implicit SERIAL sequences */
+	char			**parentRels;			/* list of names of parent relations */
 	int			numParents;
-	int			actual_atts;	/* number of attrs in this CREATE statment */
+	int			actual_atts;			/* number of attrs in this CREATE statment */
 	/* First - dump SEQUENCEs */
+	if (tablename)
+	  {
+	    serialSeq = malloc (strlen (tablename) + strlen (serialSeqSuffix) + 1);
+	    strcpy (serialSeq, tablename);
+	    strcat (serialSeq, serialSeqSuffix);
+	  }
 	for (i = 0; i < numTables; i++)
 	{
 		if (!(tblinfo[i].sequence))
 			continue;
-		if (!tablename || (!strcmp(tblinfo[i].relname, tablename)))
+		if (!tablename || (!strcmp(tblinfo[i].relname, tablename))
+		    || (serialSeq && !strcmp(tblinfo[i].relname,serialSeq)))
 		{
 			becomeUser(fout, tblinfo[i].usename);
 			dumpSequence(fout, tblinfo[i]);
@@ -2611,6 +2619,8 @@
 				dumpACL(fout, tblinfo[i]);
 		}
 	}
+	if (tablename)
+	  free (serialSeq);

for (i = 0; i < numTables; i++)
{

===========================================================================

--- bin/pg_dump/pg_dump.c.orig	Wed Jan 13 09:37:40 1999
+++ bin/pg_dump/pg_dump.c	Wed Jan 13 10:08:35 1999
@@ -56,7 +56,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <ctype.h>
-#include <sys/param.h>			/* for MAXHOSTNAMELEN on most */
+#include <sys/param.h>				/* for MAXHOSTNAMELEN on most */
 #ifdef solaris_sparc
 #include <netdb.h>				/* for MAXHOSTNAMELEN on some */
 #endif
@@ -96,25 +96,25 @@
 static char *GetPrivileges(const char *s);
 static void becomeUser(FILE *fout, const char *username);
-extern char *optarg;
+extern char	*optarg;
 extern int	optind,
-			opterr;
+		opterr;
 /* global decls */
 bool		g_verbose;			/* User wants verbose narration of our
-								 * activities. */
-int			g_last_builtin_oid; /* value of the last builtin oid */
-FILE	   *g_fout;				/* the script file */
-PGconn	   *g_conn;				/* the database connection */
-
-bool		force_quotes;		/* User wants to suppress double-quotes */
-int			dumpData;			/* dump data using proper insert strings */
-int			attrNames;			/* put attr names into insert strings */
-int			schemaOnly;
-int			dataOnly;
-int			aclsOption;
+						 * activities. */
+int		g_last_builtin_oid;		/* value of the last builtin oid */
+FILE		*g_fout;			/* the script file */
+PGconn		*g_conn;			/* the database connection */
+
+bool		force_quotes;			/* User wants to suppress double-quotes */
+int		dumpData;			/* dump data using proper insert strings */
+int		attrNames;			/* put attr names into insert strings */
+int		schemaOnly;
+int		dataOnly;
+int		aclsOption;
-char		g_opaque_type[10];	/* name for the opaque type */
+char		g_opaque_type[10];		/* name for the opaque type */

/* placeholders for the delimiters for comments */
char g_comment_start[10];
@@ -179,8 +179,8 @@
static bool
isViewRule(char *relname)
{
- PGresult *res;
- int ntups;
+ PGresult *res;
+ int ntups;
char query[MAXQUERYLEN];

res = PQexec(g_conn, "begin");
@@ -315,13 +315,13 @@
const TableInfo tblinfo, bool oids)
{

-	PGresult   *res;
+	PGresult	*res;
 	char		query[255];
-	int			actual_atts;	/* number of attrs in this a table */
+	int		actual_atts;	/* number of attrs in this a table */
 	char		expandbuf[COPYBUFSIZ];
 	char		q[MAXQUERYLEN];
-	int			tuple;
-	int			field;
+	int		tuple;
+	int		field;

sprintf(query, "SELECT * FROM %s", fmtId(classname, force_quotes));
res = PQexec(g_conn, query);
@@ -421,7 +421,7 @@
{

 	int			i;
-	char	   *all_only;
+	char			*all_only;

if (onlytable == NULL)
all_only = "all";
@@ -482,12 +482,11 @@
prompt_for_password(char *username, char *password)
{
char buf[512];
- int length;
+ int length;

 #ifdef HAVE_TERMIOS_H
-	struct termios t_orig,
-				t;
-
+	struct termios	t_orig,
+			t;
 #endif
 	printf("Username: ");
@@ -535,21 +534,21 @@
 int
 main(int argc, char **argv)
 {
-	int			c;
-	const char *progname;
-	const char *filename = NULL;
-	const char *dbname = NULL;
-	const char *pghost = NULL;
-	const char *pgport = NULL;
-	char	   *tablename = NULL;
-	int			oids = 0;
-	TableInfo  *tblinfo;
-	int			numTables;
+	int		c;
+	const char	*progname;
+	const char	*filename = NULL;
+	const char	*dbname = NULL;
+	const char	*pghost = NULL;
+	const char	*pgport = NULL;
+	char		*tablename = NULL;
+	int		oids = 0;
+	TableInfo	*tblinfo;
+	int		numTables;
 	char		connect_string[512] = "";
 	char		tmp_string[128];
 	char		username[100];
 	char		password[100];
-	int			use_password = 0;
+	int		use_password = 0;
 	g_verbose = false;
 	force_quotes = true;
@@ -727,11 +726,11 @@
 TypeInfo   *
 getTypes(int *numTypes)
 {
-	PGresult   *res;
+	PGresult		*res;
 	int			ntups;
 	int			i;
-	char		query[MAXQUERYLEN];
-	TypeInfo   *tinfo;
+	char			query[MAXQUERYLEN];
+	TypeInfo		*tinfo;

int i_oid;
int i_typowner;
@@ -856,12 +855,12 @@
OprInfo *
getOperators(int *numOprs)
{
- PGresult *res;
+ PGresult *res;
int ntups;
int i;
- char query[MAXQUERYLEN];
+ char query[MAXQUERYLEN];

-	OprInfo    *oprinfo;
+	OprInfo			*oprinfo;
 	int			i_oid;
 	int			i_oprname;
@@ -1199,11 +1198,11 @@
 AggInfo    *
 getAggregates(int *numAggs)
 {
-	PGresult   *res;
+	PGresult		*res;
 	int			ntups;
 	int			i;
-	char		query[MAXQUERYLEN];
-	AggInfo    *agginfo;
+	char			query[MAXQUERYLEN];
+	AggInfo			*agginfo;
 	int			i_oid;
 	int			i_aggname;
@@ -1293,11 +1292,11 @@
 FuncInfo   *
 getFuncs(int *numFuncs)
 {
-	PGresult   *res;
+	PGresult		*res;
 	int			ntups;
 	int			i;
-	char		query[MAXQUERYLEN];
-	FuncInfo   *finfo;
+	char			query[MAXQUERYLEN];
+	FuncInfo		*finfo;
 	int			i_oid;
 	int			i_proname;
@@ -1393,11 +1392,11 @@
 TableInfo  *
 getTables(int *numTables, FuncInfo *finfo, int numFuncs)
 {
-	PGresult   *res;
+	PGresult		*res;
 	int			ntups;
 	int			i;
-	char		query[MAXQUERYLEN];
-	TableInfo  *tblinfo;
+	char			query[MAXQUERYLEN];
+	TableInfo		*tblinfo;
 	int			i_oid;
 	int			i_relname;
@@ -1726,11 +1725,11 @@
 InhInfo    *
 getInherits(int *numInherits)
 {
-	PGresult   *res;
+	PGresult		*res;
 	int			ntups;
 	int			i;
-	char		query[MAXQUERYLEN];
-	InhInfo    *inhinfo;
+	char			query[MAXQUERYLEN];
+	InhInfo			*inhinfo;

int i_inhrel;
int i_inhparent;
@@ -1791,13 +1790,13 @@
{
int i,
j;
- char q[MAXQUERYLEN];
+ char q[MAXQUERYLEN];
int i_attname;
int i_typname;
int i_atttypmod;
int i_attnotnull;
int i_atthasdef;
- PGresult *res;
+ PGresult *res;
int ntups;

 	for (i = 0; i < numTables; i++)
@@ -1902,10 +1901,10 @@
 getIndices(int *numIndices)
 {
 	int			i;
-	char		query[MAXQUERYLEN];
-	PGresult   *res;
+	char			query[MAXQUERYLEN];
+	PGresult		*res;
 	int			ntups;
-	IndInfo    *indinfo;
+	IndInfo			*indinfo;

int i_indexrelname;
int i_indrelname;
@@ -1994,7 +1993,7 @@
TypeInfo *tinfo, int numTypes)
{
int i;
- char q[MAXQUERYLEN];
+ char q[MAXQUERYLEN];
int funcInd;

for (i = 0; i < numTypes; i++)
@@ -2167,7 +2166,7 @@
TypeInfo *tinfo, int numTypes)
{
char q[MAXQUERYLEN];
- int j;
+ int j;
char *func_def;
char func_lang[NAMEDATALEN + 1];

@@ -2268,7 +2267,7 @@
dumpOprs(FILE *fout, OprInfo *oprinfo, int numOperators,
TypeInfo *tinfo, int numTypes)
{
- int i;
+ int i;
char q[MAXQUERYLEN];
char leftarg[MAXQUERYLEN];
char rightarg[MAXQUERYLEN];
@@ -2375,14 +2374,14 @@
dumpAggs(FILE *fout, AggInfo *agginfo, int numAggs,
TypeInfo *tinfo, int numTypes)
{
- int i;
+ int i;
char q[MAXQUERYLEN];
char sfunc1[MAXQUERYLEN];
char sfunc2[MAXQUERYLEN];
char basetype[MAXQUERYLEN];
char finalfunc[MAXQUERYLEN];
char comma1[2],
- comma2[2];
+ comma2[2];

 	for (i = 0; i < numAggs; i++)
 	{
@@ -2514,9 +2513,9 @@
 {
 	const char *acls = tbinfo.relacl;
 	char	   *aclbuf,
-			   *tok,
-			   *eqpos,
-			   *priv;
+		   *tok,
+		   *eqpos,
+		   *priv;
 	if (strlen(acls) == 0)
 		return;					/* table has default permissions */
@@ -2726,15 +2736,15 @@
 	int			i,
 				k;
 	int			tableInd;
-	char		attlist[1000];
-	char	   *classname[INDEX_MAX_KEYS];
-	char	   *funcname;		/* the name of the function to comput the
-								 * index key from */
+	char			attlist[1000];
+	char			*classname[INDEX_MAX_KEYS];
+	char			*funcname;		/* the name of the function to comput the
+							 * index key from */
 	int			indkey,
 				indclass;
 	int			nclass;
-	char		q[MAXQUERYLEN],
+	char			q[MAXQUERYLEN],
 				id1[MAXQUERYLEN],
 				id2[MAXQUERYLEN];
 	PGresult   *res;
@@ -2887,7 +2897,7 @@
 				k;
 	int			m,
 				n;
-	char	  **outVals = NULL; /* values to copy out */
+	char			**outVals = NULL; /* values to copy out */

n = PQntuples(res);
m = PQnfields(res);
@@ -2940,7 +2950,7 @@
static void
setMaxOid(FILE *fout)
{
- PGresult *res;
+ PGresult *res;
Oid max_oid;

res = PQexec(g_conn, "CREATE TABLE pgdump_oid (dummy int4)");
@@ -2993,7 +3003,7 @@
static int
findLastBuiltinOid(void)
{
- PGresult *res;
+ PGresult *res;
int ntups;
int last_oid;

@@ -3025,9 +3035,9 @@
 static char *
 checkForQuote(const char *s)
 {
-	char	   *r;
+	char		*r;
 	char		c;
-	char	   *result;
+	char		*result;

int j = 0;

@@ -3056,16 +3066,16 @@
 static void
 dumpSequence(FILE *fout, TableInfo tbinfo)
 {
-	PGresult   *res;
-	int4		last,
+	PGresult		*res;
+	int4			last,
 				incby,
 				maxv,
 				minv,
 				cache;
-	char		cycled,
+	char			cycled,
 				called,
-			   *t;
-	char		query[MAXQUERYLEN];
+				*t;
+	char			query[MAXQUERYLEN];

sprintf(query,
"SELECT sequence_name, last_value, increment_by, max_value, "

#2Bruce Momjian
maillist@candle.pha.pa.us
In reply to: Brook Milligan (#1)
Re: [HACKERS] fix pg_dump to dump sequences created by SERIAL datatype

Applied.

As it stands in 6.4.2 pg_dump does not dump sequences created by the
SERIAL datatype when the -t tablename option is used. The following
patch fixes that (with a couple of cosmetic cleanups) so that whenever
the -t option is used, the appropriate *_id_seq sequence is also
dumped if it exists.

The second patch just fixes a bunch of cosmetic details concerning
alignment and changes nothing substantive in the code.

Cheers,
Brook

===========================================================================

--- bin/pg_dump/pg_dump.c.orig	Wed Jan 13 09:37:40 1999
+++ bin/pg_dump/pg_dump.c	Wed Jan 13 10:08:35 1999
@@ -2593,17 +2592,26 @@
int			i,
j,
k;
-	char		q[MAXQUERYLEN];
-	char	  **parentRels;		/* list of names of parent relations */
+	char			q[MAXQUERYLEN];
+	char			*serialSeq = NULL;		/* implicit sequence name created by SERIAL datatype */
+	const char		*serialSeqSuffix = "_id_seq";	/* suffix for implicit SERIAL sequences */
+	char			**parentRels;			/* list of names of parent relations */
int			numParents;
-	int			actual_atts;	/* number of attrs in this CREATE statment */
+	int			actual_atts;			/* number of attrs in this CREATE statment */
/* First - dump SEQUENCEs */
+	if (tablename)
+	  {
+	    serialSeq = malloc (strlen (tablename) + strlen (serialSeqSuffix) + 1);
+	    strcpy (serialSeq, tablename);
+	    strcat (serialSeq, serialSeqSuffix);
+	  }
for (i = 0; i < numTables; i++)
{
if (!(tblinfo[i].sequence))
continue;
-		if (!tablename || (!strcmp(tblinfo[i].relname, tablename)))
+		if (!tablename || (!strcmp(tblinfo[i].relname, tablename))
+		    || (serialSeq && !strcmp(tblinfo[i].relname,serialSeq)))
{
becomeUser(fout, tblinfo[i].usename);
dumpSequence(fout, tblinfo[i]);
@@ -2611,6 +2619,8 @@
dumpACL(fout, tblinfo[i]);
}
}
+	if (tablename)
+	  free (serialSeq);

for (i = 0; i < numTables; i++)
{

===========================================================================

--- bin/pg_dump/pg_dump.c.orig	Wed Jan 13 09:37:40 1999
+++ bin/pg_dump/pg_dump.c	Wed Jan 13 10:08:35 1999
@@ -56,7 +56,7 @@
#include <stdio.h>
#include <string.h>
#include <ctype.h>
-#include <sys/param.h>			/* for MAXHOSTNAMELEN on most */
+#include <sys/param.h>				/* for MAXHOSTNAMELEN on most */
#ifdef solaris_sparc
#include <netdb.h>				/* for MAXHOSTNAMELEN on some */
#endif
@@ -96,25 +96,25 @@
static char *GetPrivileges(const char *s);
static void becomeUser(FILE *fout, const char *username);
-extern char *optarg;
+extern char	*optarg;
extern int	optind,
-			opterr;
+		opterr;
/* global decls */
bool		g_verbose;			/* User wants verbose narration of our
-								 * activities. */
-int			g_last_builtin_oid; /* value of the last builtin oid */
-FILE	   *g_fout;				/* the script file */
-PGconn	   *g_conn;				/* the database connection */
-
-bool		force_quotes;		/* User wants to suppress double-quotes */
-int			dumpData;			/* dump data using proper insert strings */
-int			attrNames;			/* put attr names into insert strings */
-int			schemaOnly;
-int			dataOnly;
-int			aclsOption;
+						 * activities. */
+int		g_last_builtin_oid;		/* value of the last builtin oid */
+FILE		*g_fout;			/* the script file */
+PGconn		*g_conn;			/* the database connection */
+
+bool		force_quotes;			/* User wants to suppress double-quotes */
+int		dumpData;			/* dump data using proper insert strings */
+int		attrNames;			/* put attr names into insert strings */
+int		schemaOnly;
+int		dataOnly;
+int		aclsOption;
-char		g_opaque_type[10];	/* name for the opaque type */
+char		g_opaque_type[10];		/* name for the opaque type */

/* placeholders for the delimiters for comments */
char g_comment_start[10];
@@ -179,8 +179,8 @@
static bool
isViewRule(char *relname)
{
- PGresult *res;
- int ntups;
+ PGresult *res;
+ int ntups;
char query[MAXQUERYLEN];

res = PQexec(g_conn, "begin");
@@ -315,13 +315,13 @@
const TableInfo tblinfo, bool oids)
{

-	PGresult   *res;
+	PGresult	*res;
char		query[255];
-	int			actual_atts;	/* number of attrs in this a table */
+	int		actual_atts;	/* number of attrs in this a table */
char		expandbuf[COPYBUFSIZ];
char		q[MAXQUERYLEN];
-	int			tuple;
-	int			field;
+	int		tuple;
+	int		field;

sprintf(query, "SELECT * FROM %s", fmtId(classname, force_quotes));
res = PQexec(g_conn, query);
@@ -421,7 +421,7 @@
{

int			i;
-	char	   *all_only;
+	char			*all_only;

if (onlytable == NULL)
all_only = "all";
@@ -482,12 +482,11 @@
prompt_for_password(char *username, char *password)
{
char buf[512];
- int length;
+ int length;

#ifdef HAVE_TERMIOS_H
-	struct termios t_orig,
-				t;
-
+	struct termios	t_orig,
+			t;
#endif
printf("Username: ");
@@ -535,21 +534,21 @@
int
main(int argc, char **argv)
{
-	int			c;
-	const char *progname;
-	const char *filename = NULL;
-	const char *dbname = NULL;
-	const char *pghost = NULL;
-	const char *pgport = NULL;
-	char	   *tablename = NULL;
-	int			oids = 0;
-	TableInfo  *tblinfo;
-	int			numTables;
+	int		c;
+	const char	*progname;
+	const char	*filename = NULL;
+	const char	*dbname = NULL;
+	const char	*pghost = NULL;
+	const char	*pgport = NULL;
+	char		*tablename = NULL;
+	int		oids = 0;
+	TableInfo	*tblinfo;
+	int		numTables;
char		connect_string[512] = "";
char		tmp_string[128];
char		username[100];
char		password[100];
-	int			use_password = 0;
+	int		use_password = 0;
g_verbose = false;
force_quotes = true;
@@ -727,11 +726,11 @@
TypeInfo   *
getTypes(int *numTypes)
{
-	PGresult   *res;
+	PGresult		*res;
int			ntups;
int			i;
-	char		query[MAXQUERYLEN];
-	TypeInfo   *tinfo;
+	char			query[MAXQUERYLEN];
+	TypeInfo		*tinfo;

int i_oid;
int i_typowner;
@@ -856,12 +855,12 @@
OprInfo *
getOperators(int *numOprs)
{
- PGresult *res;
+ PGresult *res;
int ntups;
int i;
- char query[MAXQUERYLEN];
+ char query[MAXQUERYLEN];

-	OprInfo    *oprinfo;
+	OprInfo			*oprinfo;
int			i_oid;
int			i_oprname;
@@ -1199,11 +1198,11 @@
AggInfo    *
getAggregates(int *numAggs)
{
-	PGresult   *res;
+	PGresult		*res;
int			ntups;
int			i;
-	char		query[MAXQUERYLEN];
-	AggInfo    *agginfo;
+	char			query[MAXQUERYLEN];
+	AggInfo			*agginfo;
int			i_oid;
int			i_aggname;
@@ -1293,11 +1292,11 @@
FuncInfo   *
getFuncs(int *numFuncs)
{
-	PGresult   *res;
+	PGresult		*res;
int			ntups;
int			i;
-	char		query[MAXQUERYLEN];
-	FuncInfo   *finfo;
+	char			query[MAXQUERYLEN];
+	FuncInfo		*finfo;
int			i_oid;
int			i_proname;
@@ -1393,11 +1392,11 @@
TableInfo  *
getTables(int *numTables, FuncInfo *finfo, int numFuncs)
{
-	PGresult   *res;
+	PGresult		*res;
int			ntups;
int			i;
-	char		query[MAXQUERYLEN];
-	TableInfo  *tblinfo;
+	char			query[MAXQUERYLEN];
+	TableInfo		*tblinfo;
int			i_oid;
int			i_relname;
@@ -1726,11 +1725,11 @@
InhInfo    *
getInherits(int *numInherits)
{
-	PGresult   *res;
+	PGresult		*res;
int			ntups;
int			i;
-	char		query[MAXQUERYLEN];
-	InhInfo    *inhinfo;
+	char			query[MAXQUERYLEN];
+	InhInfo			*inhinfo;

int i_inhrel;
int i_inhparent;
@@ -1791,13 +1790,13 @@
{
int i,
j;
- char q[MAXQUERYLEN];
+ char q[MAXQUERYLEN];
int i_attname;
int i_typname;
int i_atttypmod;
int i_attnotnull;
int i_atthasdef;
- PGresult *res;
+ PGresult *res;
int ntups;

for (i = 0; i < numTables; i++)
@@ -1902,10 +1901,10 @@
getIndices(int *numIndices)
{
int			i;
-	char		query[MAXQUERYLEN];
-	PGresult   *res;
+	char			query[MAXQUERYLEN];
+	PGresult		*res;
int			ntups;
-	IndInfo    *indinfo;
+	IndInfo			*indinfo;

int i_indexrelname;
int i_indrelname;
@@ -1994,7 +1993,7 @@
TypeInfo *tinfo, int numTypes)
{
int i;
- char q[MAXQUERYLEN];
+ char q[MAXQUERYLEN];
int funcInd;

for (i = 0; i < numTypes; i++)
@@ -2167,7 +2166,7 @@
TypeInfo *tinfo, int numTypes)
{
char q[MAXQUERYLEN];
- int j;
+ int j;
char *func_def;
char func_lang[NAMEDATALEN + 1];

@@ -2268,7 +2267,7 @@
dumpOprs(FILE *fout, OprInfo *oprinfo, int numOperators,
TypeInfo *tinfo, int numTypes)
{
- int i;
+ int i;
char q[MAXQUERYLEN];
char leftarg[MAXQUERYLEN];
char rightarg[MAXQUERYLEN];
@@ -2375,14 +2374,14 @@
dumpAggs(FILE *fout, AggInfo *agginfo, int numAggs,
TypeInfo *tinfo, int numTypes)
{
- int i;
+ int i;
char q[MAXQUERYLEN];
char sfunc1[MAXQUERYLEN];
char sfunc2[MAXQUERYLEN];
char basetype[MAXQUERYLEN];
char finalfunc[MAXQUERYLEN];
char comma1[2],
- comma2[2];
+ comma2[2];

for (i = 0; i < numAggs; i++)
{
@@ -2514,9 +2513,9 @@
{
const char *acls = tbinfo.relacl;
char	   *aclbuf,
-			   *tok,
-			   *eqpos,
-			   *priv;
+		   *tok,
+		   *eqpos,
+		   *priv;
if (strlen(acls) == 0)
return;					/* table has default permissions */
@@ -2726,15 +2736,15 @@
int			i,
k;
int			tableInd;
-	char		attlist[1000];
-	char	   *classname[INDEX_MAX_KEYS];
-	char	   *funcname;		/* the name of the function to comput the
-								 * index key from */
+	char			attlist[1000];
+	char			*classname[INDEX_MAX_KEYS];
+	char			*funcname;		/* the name of the function to comput the
+							 * index key from */
int			indkey,
indclass;
int			nclass;
-	char		q[MAXQUERYLEN],
+	char			q[MAXQUERYLEN],
id1[MAXQUERYLEN],
id2[MAXQUERYLEN];
PGresult   *res;
@@ -2887,7 +2897,7 @@
k;
int			m,
n;
-	char	  **outVals = NULL; /* values to copy out */
+	char			**outVals = NULL; /* values to copy out */

n = PQntuples(res);
m = PQnfields(res);
@@ -2940,7 +2950,7 @@
static void
setMaxOid(FILE *fout)
{
- PGresult *res;
+ PGresult *res;
Oid max_oid;

res = PQexec(g_conn, "CREATE TABLE pgdump_oid (dummy int4)");
@@ -2993,7 +3003,7 @@
static int
findLastBuiltinOid(void)
{
- PGresult *res;
+ PGresult *res;
int ntups;
int last_oid;

@@ -3025,9 +3035,9 @@
static char *
checkForQuote(const char *s)
{
-	char	   *r;
+	char		*r;
char		c;
-	char	   *result;
+	char		*result;

int j = 0;

@@ -3056,16 +3066,16 @@
static void
dumpSequence(FILE *fout, TableInfo tbinfo)
{
-	PGresult   *res;
-	int4		last,
+	PGresult		*res;
+	int4			last,
incby,
maxv,
minv,
cache;
-	char		cycled,
+	char			cycled,
called,
-			   *t;
-	char		query[MAXQUERYLEN];
+				*t;
+	char			query[MAXQUERYLEN];

sprintf(query,
"SELECT sequence_name, last_value, increment_by, max_value, "

-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  maillist@candle.pha.pa.us            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026