From c6cf21825ae8944613134d133abab8fe218c61b3 Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" Date: Wed, 31 Jul 1996 02:28:22 +0000 Subject: [PATCH] already exists in the contrib directory --- src/extend/pginsert/Makefile | 19 ---- src/extend/pginsert/halt.c | 58 ----------- src/extend/pginsert/halt.h | 7 -- src/extend/pginsert/pginsert.c | 98 ------------------- src/extend/pginsert/pginterface.c | 154 ------------------------------ src/extend/pginsert/pginterface.h | 12 --- 6 files changed, 348 deletions(-) delete mode 100644 src/extend/pginsert/Makefile delete mode 100644 src/extend/pginsert/halt.c delete mode 100644 src/extend/pginsert/halt.h delete mode 100644 src/extend/pginsert/pginsert.c delete mode 100644 src/extend/pginsert/pginterface.c delete mode 100644 src/extend/pginsert/pginterface.h diff --git a/src/extend/pginsert/Makefile b/src/extend/pginsert/Makefile deleted file mode 100644 index 7759ef8d28..0000000000 --- a/src/extend/pginsert/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -# -# Makefile -# -# -TARGET = pginsert -CFLAGS = -g -Wall -I/u/postgres95/include -LIBS = -L/u/postgres95/lib -lpq - -$(TARGET) : pginsert.o pginterface.o halt.o - $(CC) -o $(TARGET) $(XFLAGS) $(CFLAGS) \ - pginsert.o pginterface.o halt.o $(LIBS) - -clean: - rm -f *.o $(TARGET) log core - -install: - make clean - make CFLAGS=-O - install -s -o bin -g bin $(TARGET) /usr/local/bin diff --git a/src/extend/pginsert/halt.c b/src/extend/pginsert/halt.c deleted file mode 100644 index 58ca11a587..0000000000 --- a/src/extend/pginsert/halt.c +++ /dev/null @@ -1,58 +0,0 @@ -/* -** -** halt.c -** -** This is used to print out error messages and exit -*/ - -#include -#include -#include -#include -#include -#include - - -/*------------------------------------------------------------------------- -** -** halt - print error message, and call clean up routine or exit -** -**------------------------------------------------------------------------*/ - -/*VARARGS*/ -void halt(va_alist) -va_dcl -{ - va_list arg_ptr; - char *format, *pstr; - void (*sig_func)(); - - va_start(arg_ptr); - format = va_arg(arg_ptr,char *); - if (strncmp(format,"PERROR", 6) != 0) - vfprintf(stderr,format,arg_ptr); - else - { - for (pstr=format+6; *pstr == ' ' || *pstr == ':'; pstr++) - ; - vfprintf(stderr,pstr,arg_ptr); - perror(""); - } - va_end(arg_ptr); - fflush(stderr); - - /* call one clean up function if defined */ - if ( (sig_func = signal(SIGTERM, SIG_DFL)) != SIG_DFL && - sig_func != SIG_IGN) - (*sig_func)(0); - else if ( (sig_func = signal(SIGHUP, SIG_DFL)) != SIG_DFL && - sig_func != SIG_IGN) - (*sig_func)(0); - else if ( (sig_func = signal(SIGINT, SIG_DFL)) != SIG_DFL && - sig_func != SIG_IGN) - (*sig_func)(0); - else if ( (sig_func = signal(SIGQUIT, SIG_DFL)) != SIG_DFL && - sig_func != SIG_IGN) - (*sig_func)(0); - exit(1); -} diff --git a/src/extend/pginsert/halt.h b/src/extend/pginsert/halt.h deleted file mode 100644 index cb4ea545b9..0000000000 --- a/src/extend/pginsert/halt.h +++ /dev/null @@ -1,7 +0,0 @@ -/* -** halt.h -** -*/ - -void halt(); - diff --git a/src/extend/pginsert/pginsert.c b/src/extend/pginsert/pginsert.c deleted file mode 100644 index eb732c6930..0000000000 --- a/src/extend/pginsert/pginsert.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * insert.c - * -*/ - -#include -#include -#include -#include -#include -#include "pginterface.h" - -int main(int argc, char **argv) -{ - char query[4000]; - int row =1; - int aint; - float afloat; - double adouble; - char achar[11], achar16[17], abpchar[11], avarchar[51], atext[51]; - time_t aabstime; - - if (argc != 2) - halt("Usage: %s database\n",argv[0]); - - connectdb(argv[1],NULL,NULL,NULL,NULL); - - skip_query_errors = 1; - doquery("DROP TABLE testfetch"); - skip_query_errors = 0; - - doquery("\ - CREATE TABLE testfetch( \ - aint int4, \ - afloat float4, \ - adouble float8, \ - achar char, \ - achar16 char16, \ - abpchar char(10), \ - avarchar varchar(50), \ - atext text, \ - aabstime abstime) \ - "); - - while(1) - { - sprintf(query,"INSERT INTO testfetch VALUES ( \ - %d, \ - 2322.12, \ - '923121.0323'::float8, \ - 'A', \ - 'Betty', \ - 'Charley', \ - 'Doug', \ - 'Ernie', \ - 'now' )", row); - doquery(query); - - doquery("BEGIN WORK"); - doquery("DECLARE c_testfetch BINARY CURSOR FOR \ - SELECT * FROM testfetch"); - - doquery("FETCH ALL IN c_testfetch"); - - while (fetch( - &aint, - &afloat, - &adouble, - achar, - achar16, - abpchar, - avarchar, - atext, - &aabstime) != END_OF_TUPLES) - printf("int %d\nfloat %f\ndouble %f\nchar %s\nchar16 %s\n\ -bpchar %s\nvarchar %s\ntext %s\nabstime %s", - aint, - afloat, - adouble, - achar, - achar16, - abpchar, - avarchar, - atext, - ctime(&aabstime)); - - - doquery("CLOSE c_testfetch"); - doquery("COMMIT WORK"); - printf("--- %-d rows inserted so far\n",row); - - row++; - } - - disconnectdb(); - return 0; -} - diff --git a/src/extend/pginsert/pginterface.c b/src/extend/pginsert/pginterface.c deleted file mode 100644 index 3b5ddf05f2..0000000000 --- a/src/extend/pginsert/pginterface.c +++ /dev/null @@ -1,154 +0,0 @@ -/* - * pginterface.c - * -*/ - -#include -#include -#include -#include - -#include -#include -#include "pginterface.h" - -static void sig_disconnect(); -static void set_signals(); - -#define NUL '\0' - -/* GLOBAL VARIABLES */ -static PGconn* conn; -static PGresult* res = NULL; -int skip_query_errors = 0; - -/* LOCAL VARIABLES */ -static sigset_t block_sigs, unblock_sigs; -static int tuple; - -/* -** -** connectdb - returns PGconn structure -** -*/ -PGconn *connectdb( char *dbName, - char *pghost, - char *pgport, - char *pgoptions, - char *pgtty) -{ - /* make a connection to the database */ - conn = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName); - if (PQstatus(conn) == CONNECTION_BAD) - halt("Connection to database '%s' failed.\n%s\n", dbName, - PQerrorMessage(conn)); - set_signals(); - return conn; -} - -/* -** -** disconnectdb -** -*/ -void disconnectdb() -{ - PQfinish(conn); -} - -/* -** -** doquery - returns PGresult structure -** -*/ -PGresult *doquery(char *query) -{ - if (res != NULL) - PQclear(res); - - sigprocmask(SIG_SETMASK,&block_sigs,NULL); - res = PQexec(conn, query); - sigprocmask(SIG_SETMASK,&unblock_sigs,NULL); - - if (skip_query_errors == 0 && - (res == NULL || - PQresultStatus(res) == PGRES_BAD_RESPONSE || - PQresultStatus(res) == PGRES_NONFATAL_ERROR || - PQresultStatus(res) == PGRES_FATAL_ERROR)) - { - if (res != NULL) - fprintf(stderr,"query error: %s\n",PQcmdStatus(res)); - else fprintf(stderr,"connection error: %s\n",PQerrorMessage(conn)); - PQfinish(conn); - halt("failed request: %s\n", query); - } - tuple = 0; - return res; -} - -/* -** -** fetch - returns tuple number (starts at 0), or the value END_OF_TUPLES -** NULL pointers are skipped -** -*/ -int fetch(void *param, ...) -{ - va_list ap; - int arg, num_args; - - num_args = PQnfields(res); - - if (tuple >= PQntuples(res)) - return END_OF_TUPLES; - va_start(ap, param); - for (arg = 0; arg < num_args; arg++) - { - if (param != NULL) - { - if (PQfsize(res, arg) == -1) - { - memcpy(param,PQgetvalue(res,tuple,arg),PQgetlength(res,tuple,arg)); - ((char *)param)[PQgetlength(res,tuple,arg)] = NUL; - } - else - memcpy(param,PQgetvalue(res,tuple,arg),PQfsize(res,arg)); - } - param = va_arg(ap, char *); - } - va_end(ap); - return tuple++; -} - -/* -** -** sig_disconnect -** -*/ -static void sig_disconnect() -{ - fprintf(stderr,"exiting...\n"); - PQfinish(conn); - exit(1); -} - -/* -** -** set_signals -** -*/ -static void set_signals() -{ - sigemptyset(&block_sigs); - sigemptyset(&unblock_sigs); - sigaddset(&block_sigs,SIGTERM); - sigaddset(&block_sigs,SIGHUP); - sigaddset(&block_sigs,SIGINT); -/* sigaddset(&block_sigs,SIGQUIT); no block */ - sigprocmask(SIG_SETMASK,&unblock_sigs,NULL); - signal(SIGTERM,sig_disconnect); - signal(SIGHUP,sig_disconnect); - signal(SIGINT,sig_disconnect); - signal(SIGQUIT,sig_disconnect); -} - diff --git a/src/extend/pginsert/pginterface.h b/src/extend/pginsert/pginterface.h deleted file mode 100644 index a84d519411..0000000000 --- a/src/extend/pginsert/pginterface.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - * pglib.h - * -*/ - -PGresult *doquery(char *query); -PGconn *connectdb(); -void disconnectdb(); -int fetch(void *param, ...); -int skip_query_errors; - -#define END_OF_TUPLES (-1)