aboutsummaryrefslogtreecommitdiff
path: root/contrib/pg_dumplo/pg_dumplo.h
blob: 7513c71b9baf2382849d61b7dc3f2a20f4abd9eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/* -------------------------------------------------------------------------
 * pg_dumplo
 *
 * $Header: /cvsroot/pgsql/contrib/pg_dumplo/Attic/pg_dumplo.h,v 1.3 2001/01/24 19:42:45 momjian Exp $
 *
 *					Karel Zak 1999-2000
 * -------------------------------------------------------------------------
 */

#ifndef PG_DUMPLO_H
#define PG_DUMPLO_H

#include "postgres_ext.h"

#define VERSION "7.1.0"

/* ----------
 * Define
 * ----------
 */        
#define QUERY_BUFSIZ	(8*1024)
#define DIR_UMASK	0755
#define FILE_UMASK	0644

#define	TRUE		1
#define FALSE		0
#define RE_OK		0
#define RE_ERROR	1

#define MAX_TABLE_NAME	128
#define MAX_ATTR_NAME	128

#define atooid(x)  ((Oid) strtoul((x), NULL, 10))

/* ----------
 * LO struct
 * ----------
 */
typedef struct { 
	char	*lo_table,
			*lo_attr;
	Oid		lo_oid;
} LOlist;

typedef struct {
	int		action;
	LOlist		*lolist;
	char		**argv,
			*user,
			*db,
			*host,
			*space;
	FILE		*index;
	int		counter,
			argc,
			lolist_start,
			remove,
			quiet;
	PGresult	*res;
	PGconn		*conn;
} LODumpMaster;

typedef enum {	
	ACTION_NONE,
	ACTION_SHOW,
	ACTION_EXPORT_ATTR,	
	ACTION_EXPORT_ALL,	
	ACTION_IMPORT
} PGLODUMP_ACTIONS;

extern char *progname;

extern void	notice		(LODumpMaster *pgLO, int set);
extern void	index_file	(LODumpMaster *pgLO);
extern void	load_lolist	(LODumpMaster *pgLO);
extern void	pglo_export	(LODumpMaster *pgLO);
extern void	pglo_import	(LODumpMaster *pgLO);

#endif /* PG_DUMPLO_H */