mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-01 03:01:16 +02:00
Massive examples fix from Nicola Bernardelli
This commit is contained in:
parent
0384d37083
commit
2f4275327e
@ -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 */
|
||||||
|
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
@ -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) */
|
||||||
}
|
}
|
||||||
|
@ -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) */
|
||||||
}
|
}
|
||||||
|
@ -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) */
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
|
Loading…
Reference in New Issue
Block a user