| /*------------------------------------------------------------------------- |
| * |
| * bootstrap.h |
| * include file for the bootstrapping code |
| * |
| * |
| * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group |
| * Portions Copyright (c) 1994, Regents of the University of California |
| * |
| * $PostgreSQL: pgsql/src/include/bootstrap/bootstrap.h,v 1.51 2009/01/01 17:23:56 momjian Exp $ |
| * |
| *------------------------------------------------------------------------- |
| */ |
| #ifndef BOOTSTRAP_H |
| #define BOOTSTRAP_H |
| |
| |
| #include "catalog/index.h" |
| #include "nodes/execnodes.h" |
| |
| /* |
| * MAXATTR is the maximum number of attributes in a relation supported |
| * at bootstrap time (i.e., the max possible in a system table). |
| */ |
| #define MAXATTR 40 |
| |
| typedef struct hashnode |
| { |
| int strnum; /* Index into string table */ |
| struct hashnode *next; |
| } hashnode; |
| |
| |
| extern Relation boot_reldesc; |
| extern Form_pg_attribute attrtypes[MAXATTR]; |
| extern int numattr; |
| extern void AuxiliaryProcessMain(int argc, char *argv[]); |
| |
| extern void index_register(Oid heap, Oid ind, IndexInfo *indexInfo); |
| |
| extern void err_out(void); |
| extern void InsertOneTuple(Oid objectid); |
| extern void closerel(char *name); |
| extern void boot_openrel(char *name); |
| extern char *LexIDStr(int ident_num); |
| |
| extern void DefineAttr(char *name, char *type, int attnum); |
| extern void InsertOneValue(char *value, int i); |
| extern void InsertOneNull(int i); |
| extern char *MapArrayTypeName(char *s); |
| extern char *CleanUpStr(char *s); |
| extern int EnterString(char *str); |
| extern void build_indices(void); |
| |
| extern void boot_get_type_io_data(Oid typid, |
| int16 *typlen, |
| bool *typbyval, |
| char *typalign, |
| char *typdelim, |
| Oid *typioparam, |
| Oid *typinput, |
| Oid *typoutput); |
| |
| extern int boot_yyparse(void); |
| |
| extern int boot_yylex(void); |
| extern void boot_yyerror(const char *str); |
| |
| typedef enum |
| { |
| CheckerProcess, |
| BootstrapProcess, |
| StartupProcess, |
| StartupPass2Process, |
| StartupPass3Process, |
| StartupPass4Process, |
| BgWriterProcess, |
| CheckpointProcess, |
| WalWriterProcess, |
| } AuxProcType; |
| |
| #endif /* BOOTSTRAP_H */ |