mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Patches from Yutaka Tanida. Create primary key indexes after data
insertion to reduce initialization time.
This commit is contained in:
		@@ -1,4 +1,4 @@
 | 
				
			|||||||
pgbench README		2002/07/20 Tatsuo Ishii (t-ishii@sra.co.jp)
 | 
					pgbench README		2003/11/26 Tatsuo Ishii (t-ishii@sra.co.jp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
o What is pgbench?
 | 
					o What is pgbench?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -164,6 +164,10 @@ Basically it is same as BSD license. See pgbench.c for more details.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
o History
 | 
					o History
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003/11/26
 | 
				
			||||||
 | 
						* create indexes after data insertion to reduce time.
 | 
				
			||||||
 | 
						  patch from Yutaka Tanida.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2003/06/10
 | 
					2003/06/10
 | 
				
			||||||
	* fix uninitialized memory bug
 | 
						* fix uninitialized memory bug
 | 
				
			||||||
	* add support for PGHOST, PGPORT, PGUSER environment variables
 | 
						* add support for PGHOST, PGPORT, PGUSER environment variables
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
pgbench README		2002/07/20 Tatsuo Ishii (t-ishii@sra.co.jp)
 | 
					pgbench README		2003/11/26 Tatsuo Ishii (t-ishii@sra.co.jp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$B"#(Bpgbench $B$H$O!)(B
 | 
					$B"#(Bpgbench $B$H$O!)(B
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -184,6 +184,11 @@ pgbench $B$O@P0f(B $BC#IW$K$h$C$F=q$+$l$^$7$?!%%i%$%;%s%9>r7o$O(B pgbench.c
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
$B"#2~DjMzNr(B
 | 
					$B"#2~DjMzNr(B
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					2003/11/26
 | 
				
			||||||
 | 
						* $BC+ED$5$s$N%Q%C%A$rE,MQ!%(Bpgbench -i$B$N:]$K!$8e$+$i<g%-!<$r:n@.(B
 | 
				
			||||||
 | 
						  $B$9$k$h$&$K$7$?!%$3$l$K$h$C$F=i4|2=$N<B9T;~4V$,BgI}$KC;=L$G$-(B
 | 
				
			||||||
 | 
						  $B$k(B($B$O$:(B)$B!%(B
 | 
				
			||||||
 | 
					
 | 
				
			||||||
2003/06/10
 | 
					2003/06/10
 | 
				
			||||||
	* $B%a%b%j$,=i4|2=$5$l$F$$$J$$%P%0$r=$@5(B
 | 
						* $B%a%b%j$,=i4|2=$5$l$F$$$J$$%P%0$r=$@5(B
 | 
				
			||||||
	* $B4D6-JQ?t(BPGHOST, PGPORT, PGUSER$B$rG'<1$9$k$h$&$K$7$?!%(B
 | 
						* $B4D6-JQ?t(BPGHOST, PGPORT, PGUSER$B$rG'<1$9$k$h$&$K$7$?!%(B
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,10 +1,10 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * $Header: /cvsroot/pgsql/contrib/pgbench/pgbench.c,v 1.27 2003/09/27 19:15:34 wieck Exp $
 | 
					 * $Header: /cvsroot/pgsql/contrib/pgbench/pgbench.c,v 1.28 2003/11/26 06:53:18 ishii Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * pgbench: a simple TPC-B like benchmark program for PostgreSQL
 | 
					 * pgbench: a simple TPC-B like benchmark program for PostgreSQL
 | 
				
			||||||
 * written by Tatsuo Ishii
 | 
					 * written by Tatsuo Ishii
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Copyright (c) 2000-2002	Tatsuo Ishii
 | 
					 * Copyright (c) 2000-2003	Tatsuo Ishii
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Permission to use, copy, modify, and distribute this software and
 | 
					 * Permission to use, copy, modify, and distribute this software and
 | 
				
			||||||
 * its documentation for any purpose and without fee is hereby
 | 
					 * its documentation for any purpose and without fee is hereby
 | 
				
			||||||
@@ -482,13 +482,19 @@ init(void)
 | 
				
			|||||||
	PGresult   *res;
 | 
						PGresult   *res;
 | 
				
			||||||
	static char *DDLs[] = {
 | 
						static char *DDLs[] = {
 | 
				
			||||||
		"drop table branches",
 | 
							"drop table branches",
 | 
				
			||||||
		"create table branches(bid int, primary key(bid),bbalance int,filler char(88))",
 | 
							"create table branches(bid int not null,bbalance int,filler char(88))",
 | 
				
			||||||
		"drop table tellers",
 | 
							"drop table tellers",
 | 
				
			||||||
		"create table tellers(tid int, primary key(tid),bid int,tbalance int,filler char(84))",
 | 
							"create table tellers(tid int not null,bid int,tbalance int,filler char(84))",
 | 
				
			||||||
		"drop table accounts",
 | 
							"drop table accounts",
 | 
				
			||||||
		"create table accounts(aid int,primary key(aid),bid int,abalance int,filler char(84))",
 | 
							"create table accounts(aid int not null,bid int,abalance int,filler char(84))",
 | 
				
			||||||
		"drop table history",
 | 
							"drop table history",
 | 
				
			||||||
	"create table history(tid int,bid int,aid int,delta int,mtime timestamp,filler char(22))"};
 | 
						"create table history(tid int,bid int,aid int,delta int,mtime timestamp,filler char(22))"};
 | 
				
			||||||
 | 
						static char *DDLAFTERs[] = {
 | 
				
			||||||
 | 
							"alter table branches add primary key (bid)",
 | 
				
			||||||
 | 
							"alter table tellers add primary key (tid)",
 | 
				
			||||||
 | 
							"alter table accounts add primary key (aid)"};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	char		sql[256];
 | 
						char		sql[256];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	int			i;
 | 
						int			i;
 | 
				
			||||||
@@ -608,6 +614,17 @@ init(void)
 | 
				
			|||||||
#endif   /* NOT_USED */
 | 
					#endif   /* NOT_USED */
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						fprintf(stderr, "set primary key...\n");
 | 
				
			||||||
 | 
						for (i = 0; i < (sizeof(DDLAFTERs) / sizeof(char *)); i++)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							res = PQexec(con, DDLAFTERs[i]);
 | 
				
			||||||
 | 
							if (strncmp(DDLs[i], "drop", 4) && PQresultStatus(res) != PGRES_COMMAND_OK)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								fprintf(stderr, "%s", PQerrorMessage(con));
 | 
				
			||||||
 | 
								exit(1);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							PQclear(res);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* vacuum */
 | 
						/* vacuum */
 | 
				
			||||||
	fprintf(stderr, "vacuum...");
 | 
						fprintf(stderr, "vacuum...");
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user