Massive examples fix from Nicola Bernardelli

This commit is contained in:
Bruce Momjian 1997-09-25 16:35:52 +00:00
parent 0384d37083
commit 2f4275327e
8 changed files with 78 additions and 59 deletions

View File

@ -5,7 +5,7 @@
* *
* Copyright (c) 1994, Regents of the University of California * Copyright (c) 1994, Regents of the University of California
* *
* $Id: geo_decls.h,v 1.13 1997/09/20 16:25:28 thomas Exp $ * $Id: geo_decls.h,v 1.14 1997/09/25 16:35:36 momjian Exp $
* *
* NOTE * NOTE
* These routines do *not* use the float types from adt/. * These routines do *not* use the float types from adt/.
@ -20,6 +20,7 @@
#define GEO_DECLS_H #define GEO_DECLS_H
#include "access/attnum.h" #include "access/attnum.h"
#include "postgres.h" /* float8 */
/*#ifndef FmgrIncluded -- seems like always included. (it's FMgrIncluded) AY */ /*#ifndef FmgrIncluded -- seems like always included. (it's FMgrIncluded) AY */

View File

@ -17,7 +17,8 @@ LDFLAGS+= $(KRBLIBS)
CFLAGS+= $(KRBFLAGS) CFLAGS+= $(KRBFLAGS)
endif endif
PROGS= testlibpq0 testlibpq1 testlibpq2 testlibpq3 testlibpq4 testlo # PROGS= testlibpq0 testlibpq1 testlibpq2 testlibpq3 testlibpq4 testlo
PROGS = testlibpq testlibpq2 testlibpq3 testlibpq4 testlo testlo2
all: $(PROGS) all: $(PROGS)

View File

@ -7,13 +7,14 @@
#include <stdio.h> #include <stdio.h>
#include "libpq-fe.h" #include "libpq-fe.h"
void static void
exit_nicely(PGconn *conn) exit_nicely(PGconn *conn)
{ {
PQfinish(conn); PQfinish(conn);
exit(1); exit(1);
} }
int
main() main()
{ {
char *pghost, char *pghost,

View File

@ -19,15 +19,17 @@ INSERT INTO TBL1 values (10);
* *
*/ */
#include <stdio.h> #include <stdio.h>
#include <stdlib.h>
#include "libpq-fe.h" #include "libpq-fe.h"
void static void
exit_nicely(PGconn *conn) exit_nicely(PGconn *conn)
{ {
PQfinish(conn); PQfinish(conn);
exit(1); exit(1);
} }
int
main() main()
{ {
char *pghost, char *pghost,
@ -35,9 +37,10 @@ main()
*pgoptions, *pgoptions,
*pgtty; *pgtty;
char *dbName; char *dbName;
int nFields; /* int nFields;
int i, * int i,
j; * j;
*/
PGconn *conn; PGconn *conn;
PGresult *res; PGresult *res;
@ -103,5 +106,5 @@ main()
/* close the connection to the database and cleanup */ /* close the connection to the database and cleanup */
PQfinish(conn); PQfinish(conn);
return 0; /* Though PQfinish(conn1) has called exit(1) */
} }

View File

@ -27,16 +27,19 @@ tuple 1: got
* *
*/ */
#include <stdio.h> #include <stdio.h>
#include <string.h>
#include "postgres.h" /* -> "c.h" -> int16, in access/attnum.h */
#include "libpq-fe.h" #include "libpq-fe.h"
#include "utils/geo-decls.h" /* for the POLYGON type */ #include "utils/geo_decls.h" /* for the POLYGON type */
void static void
exit_nicely(PGconn *conn) exit_nicely(PGconn *conn)
{ {
PQfinish(conn); PQfinish(conn);
exit(1); exit(1);
} }
int
main() main()
{ {
char *pghost, char *pghost,
@ -44,9 +47,11 @@ main()
*pgoptions, *pgoptions,
*pgtty; *pgtty;
char *dbName; char *dbName;
int nFields; /* int nFields;
int i, * int i,
j; * j;
*/
int i;
int i_fnum, int i_fnum,
d_fnum, d_fnum,
p_fnum; p_fnum;
@ -157,10 +162,10 @@ main()
printf(" p = (%d bytes) %d points \tboundbox = (hi=%f/%f, lo = %f,%f)\n", printf(" p = (%d bytes) %d points \tboundbox = (hi=%f/%f, lo = %f,%f)\n",
PQgetlength(res, i, d_fnum), PQgetlength(res, i, d_fnum),
pval->npts, pval->npts,
pval->boundbox.xh, pval->boundbox.high.x,
pval->boundbox.yh, pval->boundbox.high.y,
pval->boundbox.xl, pval->boundbox.low.x,
pval->boundbox.yl); pval->boundbox.low.y);
} }
PQclear(res); PQclear(res);
@ -175,5 +180,5 @@ main()
/* close the connection to the database and cleanup */ /* close the connection to the database and cleanup */
PQfinish(conn); PQfinish(conn);
return 0; /* Though PQfinish(conn1) has called exit(1) */
} }

View File

@ -8,7 +8,7 @@
#include <stdio.h> #include <stdio.h>
#include "libpq-fe.h" #include "libpq-fe.h"
void static void
exit_nicely(PGconn *conn1, PGconn *conn2) exit_nicely(PGconn *conn1, PGconn *conn2)
{ {
if (conn1) if (conn1)
@ -18,8 +18,8 @@ exit_nicely(PGconn *conn1, PGconn *conn2)
exit(1); exit(1);
} }
void static void
check_conn(PGconn *conn) check_conn(PGconn *conn, const char* dbName)
{ {
/* check to see that the backend connection was successfully made */ /* check to see that the backend connection was successfully made */
if (PQstatus(conn) == CONNECTION_BAD) if (PQstatus(conn) == CONNECTION_BAD)
@ -30,23 +30,26 @@ check_conn(PGconn *conn)
} }
} }
main() int
main(int argc, char** argv)
{ {
char *pghost, char *pghost,
*pgport, *pgport,
*pgoptions, *pgoptions,
*pgtty; *pgtty;
char *dbName1, char *dbName1,
dbName2; *dbName2;
char *tblName; char *tblName;
int nFields; int nFields;
int i, int i,
j; j;
PGconn *conn1, PGconn *conn1,
conn2; *conn2;
PGresult *res1, /* PGresult *res1,
res2; * *res2;
*/
PGresult *res1;
if (argc != 4) if (argc != 4)
{ {
@ -73,10 +76,10 @@ main()
/* make a connection to the database */ /* make a connection to the database */
conn1 = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName1); conn1 = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName1);
check_conn(conn1); check_conn(conn1, dbName1);
conn2 = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName2); conn2 = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName2);
check_conn(conn2); check_conn(conn2, dbName2);
/* start a transaction block */ /* start a transaction block */
res1 = PQexec(conn1, "BEGIN"); res1 = PQexec(conn1, "BEGIN");
@ -97,53 +100,54 @@ main()
* fetch instances from the pg_database, the system catalog of * fetch instances from the pg_database, the system catalog of
* databases * databases
*/ */
res = PQexec(conn, "DECLARE myportal CURSOR FOR select * from pg_database"); res1 = PQexec(conn1, "DECLARE myportal CURSOR FOR select * from pg_database");
if (PQresultStatus(res) != PGRES_COMMAND_OK) if (PQresultStatus(res1) != PGRES_COMMAND_OK)
{ {
fprintf(stderr, "DECLARE CURSOR command failed\n"); fprintf(stderr, "DECLARE CURSOR command failed\n");
PQclear(res); PQclear(res1);
exit_nicely(conn); exit_nicely(conn1,(PGconn*)NULL);
} }
PQclear(res); PQclear(res1);
res = PQexec(conn, "FETCH ALL in myportal"); res1 = PQexec(conn1, "FETCH ALL in myportal");
if (PQresultStatus(res) != PGRES_TUPLES_OK) if (PQresultStatus(res1) != PGRES_TUPLES_OK)
{ {
fprintf(stderr, "FETCH ALL command didn't return tuples properly\n"); fprintf(stderr, "FETCH ALL command didn't return tuples properly\n");
PQclear(res); PQclear(res1);
exit_nicely(conn); exit_nicely(conn1,(PGconn*)NULL);
} }
/* first, print out the attribute names */ /* first, print out the attribute names */
nFields = PQnfields(res); nFields = PQnfields(res1);
for (i = 0; i < nFields; i++) for (i = 0; i < nFields; i++)
{ {
printf("%-15s", PQfname(res, i)); printf("%-15s", PQfname(res1, i));
} }
printf("\n\n"); printf("\n\n");
/* next, print out the instances */ /* next, print out the instances */
for (i = 0; i < PQntuples(res); i++) for (i = 0; i < PQntuples(res1); i++)
{ {
for (j = 0; j < nFields; j++) for (j = 0; j < nFields; j++)
{ {
printf("%-15s", PQgetvalue(res, i, j)); printf("%-15s", PQgetvalue(res1, i, j));
} }
printf("\n"); printf("\n");
} }
PQclear(res); PQclear(res1);
/* close the portal */ /* close the portal */
res = PQexec(conn, "CLOSE myportal"); res1 = PQexec(conn1, "CLOSE myportal");
PQclear(res); PQclear(res1);
/* end the transaction */ /* end the transaction */
res = PQexec(conn, "END"); res1 = PQexec(conn1, "END");
PQclear(res); PQclear(res1);
/* close the connection to the database and cleanup */ /* close the connection to the database and cleanup */
PQfinish(conn); PQfinish(conn1);
/* fclose(debug); */ /* fclose(debug); */
return 0; /* Though PQfinish(conn1) has called exit(1) */
} }

View File

@ -7,7 +7,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/test/examples/testlo.c,v 1.6 1997/09/08 21:55:56 momjian Exp $ * $Header: /cvsroot/pgsql/src/test/examples/testlo.c,v 1.7 1997/09/25 16:35:50 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -17,6 +17,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <fcntl.h> #include <fcntl.h>
#include <unistd.h>
#include "libpq-fe.h" #include "libpq-fe.h"
#include "libpq/libpq-fs.h" #include "libpq/libpq-fs.h"
@ -28,7 +29,7 @@
* import file "in_filename" into database as large object "lobjOid" * import file "in_filename" into database as large object "lobjOid"
* *
*/ */
Oid static Oid
importFile(PGconn *conn, char *filename) importFile(PGconn *conn, char *filename)
{ {
Oid lobjId; Oid lobjId;
@ -76,7 +77,7 @@ importFile(PGconn *conn, char *filename)
return lobjId; return lobjId;
} }
void static void
pickout(PGconn *conn, Oid lobjId, int start, int len) pickout(PGconn *conn, Oid lobjId, int start, int len)
{ {
int lobj_fd; int lobj_fd;
@ -106,7 +107,7 @@ pickout(PGconn *conn, Oid lobjId, int start, int len)
lo_close(conn, lobj_fd); lo_close(conn, lobj_fd);
} }
void static void
overwrite(PGconn *conn, Oid lobjId, int start, int len) overwrite(PGconn *conn, Oid lobjId, int start, int len)
{ {
int lobj_fd; int lobj_fd;
@ -145,7 +146,7 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len)
* export large object "lobjOid" to file "out_filename" * export large object "lobjOid" to file "out_filename"
* *
*/ */
void static void
exportFile(PGconn *conn, Oid lobjId, char *filename) exportFile(PGconn *conn, Oid lobjId, char *filename)
{ {
int lobj_fd; int lobj_fd;
@ -193,7 +194,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename)
return; return;
} }
void static void
exit_nicely(PGconn *conn) exit_nicely(PGconn *conn)
{ {
PQfinish(conn); PQfinish(conn);

View File

@ -7,11 +7,14 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $Header: /cvsroot/pgsql/src/test/examples/Attic/testlo2.c,v 1.5 1997/09/08 21:55:57 momjian Exp $ * $Header: /cvsroot/pgsql/src/test/examples/Attic/testlo2.c,v 1.6 1997/09/25 16:35:52 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
#include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include "libpq-fe.h" #include "libpq-fe.h"
#include "libpq/libpq-fs.h" #include "libpq/libpq-fs.h"
@ -22,7 +25,7 @@
* import file "in_filename" into database as large object "lobjOid" * import file "in_filename" into database as large object "lobjOid"
* *
*/ */
Oid static Oid
importFile(PGconn *conn, char *filename) importFile(PGconn *conn, char *filename)
{ {
Oid lobjId; Oid lobjId;
@ -70,7 +73,7 @@ importFile(PGconn *conn, char *filename)
return lobjId; return lobjId;
} }
void static void
pickout(PGconn *conn, Oid lobjId, int start, int len) pickout(PGconn *conn, Oid lobjId, int start, int len)
{ {
int lobj_fd; int lobj_fd;
@ -100,7 +103,7 @@ pickout(PGconn *conn, Oid lobjId, int start, int len)
lo_close(conn, lobj_fd); lo_close(conn, lobj_fd);
} }
void static void
overwrite(PGconn *conn, Oid lobjId, int start, int len) overwrite(PGconn *conn, Oid lobjId, int start, int len)
{ {
int lobj_fd; int lobj_fd;
@ -139,7 +142,7 @@ overwrite(PGconn *conn, Oid lobjId, int start, int len)
* export large object "lobjOid" to file "out_filename" * export large object "lobjOid" to file "out_filename"
* *
*/ */
void static void
exportFile(PGconn *conn, Oid lobjId, char *filename) exportFile(PGconn *conn, Oid lobjId, char *filename)
{ {
int lobj_fd; int lobj_fd;
@ -187,7 +190,7 @@ exportFile(PGconn *conn, Oid lobjId, char *filename)
return; return;
} }
void static void
exit_nicely(PGconn *conn) exit_nicely(PGconn *conn)
{ {
PQfinish(conn); PQfinish(conn);