2000-11-22 08:00:55 +08:00
|
|
|
/* -------------------------------------------------------------------------
|
2003-01-08 05:42:38 +08:00
|
|
|
* pg_dumplo.h
|
2000-11-22 08:00:55 +08:00
|
|
|
*
|
2004-11-29 07:49:49 +08:00
|
|
|
* $PostgreSQL: pgsql/contrib/pg_dumplo/pg_dumplo.h,v 1.11 2004/11/28 23:49:49 tgl Exp $
|
2000-11-22 08:00:55 +08:00
|
|
|
*
|
2004-11-29 07:49:49 +08:00
|
|
|
* Karel Zak 1999-2004
|
2000-11-22 08:00:55 +08:00
|
|
|
* -------------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef PG_DUMPLO_H
|
|
|
|
#define PG_DUMPLO_H
|
2000-06-16 03:05:22 +08:00
|
|
|
|
2000-11-22 08:00:55 +08:00
|
|
|
#include "postgres_ext.h"
|
2000-06-16 03:05:22 +08:00
|
|
|
|
|
|
|
/* ----------
|
|
|
|
* Define
|
|
|
|
* ----------
|
2001-03-22 12:01:46 +08:00
|
|
|
*/
|
2000-06-16 03:05:22 +08:00
|
|
|
#define QUERY_BUFSIZ (8*1024)
|
|
|
|
#define DIR_UMASK 0755
|
2000-11-22 08:00:55 +08:00
|
|
|
#define FILE_UMASK 0644
|
2000-06-16 03:05:22 +08:00
|
|
|
|
2001-03-22 12:01:46 +08:00
|
|
|
#define TRUE 1
|
2000-06-16 03:05:22 +08:00
|
|
|
#define FALSE 0
|
|
|
|
#define RE_OK 0
|
|
|
|
#define RE_ERROR 1
|
|
|
|
|
2004-11-29 07:49:49 +08:00
|
|
|
#define MAX_SCHEMA_NAME 128
|
2000-06-16 03:05:22 +08:00
|
|
|
#define MAX_TABLE_NAME 128
|
|
|
|
#define MAX_ATTR_NAME 128
|
|
|
|
|
2000-11-22 08:00:55 +08:00
|
|
|
#define atooid(x) ((Oid) strtoul((x), NULL, 10))
|
2000-06-16 03:05:22 +08:00
|
|
|
|
|
|
|
/* ----------
|
|
|
|
* LO struct
|
|
|
|
* ----------
|
|
|
|
*/
|
2001-03-22 12:01:46 +08:00
|
|
|
typedef struct
|
|
|
|
{
|
2004-11-29 07:49:49 +08:00
|
|
|
char *lo_schema,
|
|
|
|
*lo_table,
|
|
|
|
*lo_attr;
|
|
|
|
Oid lo_oid;
|
|
|
|
} LOlist;
|
2000-06-16 03:05:22 +08:00
|
|
|
|
2001-03-22 12:01:46 +08:00
|
|
|
typedef struct
|
|
|
|
{
|
|
|
|
int action;
|
|
|
|
LOlist *lolist;
|
|
|
|
char **argv,
|
|
|
|
*user,
|
|
|
|
*db,
|
|
|
|
*host,
|
2001-11-13 01:44:14 +08:00
|
|
|
*port,
|
2001-03-22 12:01:46 +08:00
|
|
|
*space;
|
|
|
|
FILE *index;
|
|
|
|
int counter,
|
|
|
|
argc,
|
|
|
|
lolist_start,
|
|
|
|
remove,
|
|
|
|
quiet;
|
|
|
|
PGresult *res;
|
|
|
|
PGconn *conn;
|
2001-11-06 01:46:40 +08:00
|
|
|
} LODumpMaster;
|
2000-06-16 03:05:22 +08:00
|
|
|
|
2001-03-22 12:01:46 +08:00
|
|
|
typedef enum
|
|
|
|
{
|
2001-10-28 14:26:15 +08:00
|
|
|
ACTION_NONE,
|
|
|
|
ACTION_SHOW,
|
|
|
|
ACTION_EXPORT_ATTR,
|
|
|
|
ACTION_EXPORT_ALL,
|
|
|
|
ACTION_IMPORT
|
2001-11-06 01:46:40 +08:00
|
|
|
} PGLODUMP_ACTIONS;
|
2000-06-16 03:05:22 +08:00
|
|
|
|
2000-11-22 08:00:55 +08:00
|
|
|
extern char *progname;
|
|
|
|
|
2001-03-22 12:01:46 +08:00
|
|
|
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);
|
2001-10-28 14:26:15 +08:00
|
|
|
|
2001-11-06 01:46:40 +08:00
|
|
|
#endif /* PG_DUMPLO_H */
|