mirror of
https://github.com/postgres/postgres.git
synced 2026-06-02 22:08:41 -04:00
1a321f26d8
about a third, make it work on non-Windows platforms again. (But perhaps I broke the WIN32 code, since I have no way to test that.) Fold all the paths that fork postmaster child processes to go through the single routine SubPostmasterMain, which takes care of resurrecting the state that would normally be inherited from the postmaster (including GUC variables). Clean up some places where there's no particularly good reason for the EXEC and non-EXEC cases to work differently. Take care of one or two FIXMEs that remained in the code.
66 lines
1.8 KiB
C
66 lines
1.8 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* bootstrap.h
|
|
* include file for the bootstrapping code
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $PostgreSQL: pgsql/src/include/bootstrap/bootstrap.h,v 1.34 2004/05/28 05:13:21 tgl Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef BOOTSTRAP_H
|
|
#define BOOTSTRAP_H
|
|
|
|
#include "access/itup.h"
|
|
#include "nodes/execnodes.h"
|
|
#include "utils/rel.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 int BootstrapMain(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 int Int_yylex(void);
|
|
extern void Int_yyerror(const char *str);
|
|
|
|
#define BS_XLOG_NOP 0
|
|
#define BS_XLOG_BOOTSTRAP 1
|
|
#define BS_XLOG_STARTUP 2
|
|
#define BS_XLOG_CHECKPOINT 3
|
|
#define BS_XLOG_BGWRITER 4
|
|
#define BS_XLOG_SHUTDOWN 5
|
|
|
|
#endif /* BOOTSTRAP_H */
|