diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c index e2df755109..4ad808c047 100644 --- a/src/backend/bootstrap/bootstrap.c +++ b/src/backend/bootstrap/bootstrap.c @@ -7,7 +7,7 @@ * Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.1.1.1 1996/07/09 06:21:14 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.2 1996/07/15 19:21:59 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -136,6 +136,9 @@ static char *relname; /* current relation name */ AttributeTupleForm attrtypes[MAXATTR]; /* points to attribute info */ static char *values[MAXATTR]; /* cooresponding attribute values */ int numattr; /* number of attributes for cur. rel */ +#ifdef OPENLINK_PATCHES +extern int fsyncOff; /* do not fsync the database */ +#endif #if defined(WIN32) || defined(PORTNAME_next) static jmp_buf Warn_restart; @@ -198,9 +201,16 @@ void err() static void usage() { +#ifdef OPENLINK_PATCHES + fprintf(stderr,"Usage: postgres -boot [-d] [-C] [-F] [-O] [-Q] [-P portno] [dbName]\n"); +#else fprintf(stderr,"Usage: postgres -boot [-d] [-C] [-O] [-Q] [-P portno] [dbName]\n"); +#endif fprintf(stderr," d: debug mode\n"); fprintf(stderr," C: disable version checking\n"); +#ifdef OPENLINK_PATCHES + fprintf(stderr," F: turn off fsync\n"); +#endif fprintf(stderr," O: set BootstrapProcessing mode\n"); fprintf(stderr," P portno: specify port number\n"); @@ -256,8 +266,12 @@ BootstrapMain(int argc, char *argv[]) Quiet = 0; Noversion = 0; dbName = NULL; - + +#ifdef OPENLINK_PATCHES + while ((flag = getopt(argc, argv, "dCOQP:F")) != EOF) { +#else while ((flag = getopt(argc, argv, "dCOQP")) != EOF) { +#endif switch (flag) { case 'd': DebugMode = 1; /* print out debuggin info while parsing */ @@ -274,6 +288,12 @@ BootstrapMain(int argc, char *argv[]) case 'P':/* specify port */ portFd = atoi(optarg); break; +#ifdef OPENLINK_PATCHES + case 'F': + fsyncOff = 1; + break; +#endif + break; default: usage(); break; diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c index bb94c4c5de..542e174eee 100644 --- a/src/backend/storage/file/fd.c +++ b/src/backend/storage/file/fd.c @@ -6,7 +6,7 @@ * Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Id: fd.c,v 1.1.1.1 1996/07/09 06:21:55 scrappy Exp $ + * $Id: fd.c,v 1.2 1996/07/15 19:22:07 scrappy Exp $ * * NOTES: * @@ -191,6 +191,15 @@ static int FileAccess(File file); static File fileNameOpenFile(FileName fileName, int fileFlags, int fileMode); static char *filepath(char *filename); +#ifdef OPENLINK_PATCHES +pg_fsync(fd) +{ + extern int fsyncOff; + return fsyncOff ? 0 : fsync(fd); +} +#define fsync pg_fsync +#endif + #if defined(FDDEBUG) static void _dump_lru() diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c index 8c3c430981..416b661f80 100644 --- a/src/backend/storage/smgr/md.c +++ b/src/backend/storage/smgr/md.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.2 1996/07/09 06:35:38 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/smgr/md.c,v 1.3 1996/07/15 19:22:12 scrappy Exp $ * *------------------------------------------------------------------------- */ @@ -472,8 +472,12 @@ mdblindwrt(char *dbstr, status = SM_SUCCESS; /* write and sync the block */ +#ifdef OPENLINK_PATCHES + if (write(fd, buffer, BLCKSZ) != BLCKSZ || (pg_fsync(fd) < 0)) +#else if (write(fd, buffer, BLCKSZ) != BLCKSZ || fsync(fd) < 0) status = SM_FAIL; +#endif if (close(fd) < 0) status = SM_FAIL; diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index d6447eaffc..5320352135 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.1.1.1 1996/07/09 06:22:00 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.2 1996/07/15 19:22:17 scrappy Exp $ * * NOTES * this is the "main" module of the postgres backend and @@ -93,6 +93,10 @@ CommandDest whereToSendOutput; extern int lockingOff; extern int NBuffers; +#ifdef OPENLINK_PATCHES +int fsyncOff = 0; +#endif + int dontExecute = 0; static int ShowStats; static bool IsEmptyQuery = false; @@ -699,7 +703,11 @@ static void usage(char* progname) fprintf(stderr, "Usage: %s [-B nbufs] [-d lvl] ] [-f plantype] \t[-m portno] [\t -o filename]\n", progname); +#ifdef OPENLINK_PATCHES + fprintf(stderr,"\t[-P portno] [-t tracetype] [-x opttype] [-bCEiLFNopQSs] [dbname]\n"); +#else fprintf(stderr,"\t[-P portno] [-t tracetype] [-x opttype] [-bCEiLNopQSs] [dbname]\n"); +#endif fprintf(stderr, " b: consider bushy plan trees during optimization\n"); fprintf(stderr, " B: set number of buffers in buffer pool\n"); fprintf(stderr, " C: supress version info\n"); @@ -708,6 +716,9 @@ static void usage(char* progname) fprintf(stderr, " f: forbid plantype generation\n"); fprintf(stderr, " i: don't execute the query, just show the plan tree\n"); fprintf(stderr, " L: turn off locking\n"); +#ifdef OPENLINK_PATCHES + fprintf(stderr, " F: turn off fsync\n"); +#endif fprintf(stderr, " m: set up a listening backend at portno to support multiple front-ends\n"); fprintf(stderr, " M: start as postmaster\n"); fprintf(stderr, " N: don't use newline as query delimiter\n"); @@ -804,7 +815,11 @@ PostgresMain(int argc, char *argv[]) hostName = hostbuf; } +#ifdef OPENLINK_PATCHES + while ((flag = getopt(argc, argv, "B:bCd:Ef:iLm:MNo:P:pQSst:x:F")) != EOF) +#else while ((flag = getopt(argc, argv, "B:bCd:Ef:iLm:MNo:P:pQSst:x:")) != EOF) +#endif switch (flag) { case 'b': @@ -888,7 +903,17 @@ PostgresMain(int argc, char *argv[]) */ lockingOff = 1; break; - + +#ifdef OPENLINK_PATCHES + case 'F': + /* -------------------- + * turn off fsync + * -------------------- + */ + fsyncOff = 1; + break; +#endif + case 'm': /* start up a listening backend that can respond to multiple front-ends. (Note: all the front-end connections @@ -1195,7 +1220,7 @@ PostgresMain(int argc, char *argv[]) */ if (IsUnderPostmaster == false) { puts("\nPOSTGRES backend interactive interface"); - puts("$Revision: 1.1.1.1 $ $Date: 1996/07/09 06:22:00 $"); + puts("$Revision: 1.2 $ $Date: 1996/07/15 19:22:17 $"); } /* ----------------