(unnamed)
text/plain
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include "libpq-fe.h"
#include "libpq/libpq-fs.h"
int main(int argc, char **argv) {
PGconn *conn;
PGresult *res;
int doTrace = 0;
int doTransaction = 1;
int i;
static char *commands[] = {
"SELECT 1 FROM pg_catalog.pg_type WHERE typname = 'smgr' AND typinput='array_in'::regproc",
"SELECT typname FROM pg_catalog.pg_type WHERE oid = 210",
"SELECT NULL , n.nspname, ct.relname, a.attname, a.attnum, ci.relname FROM pg_catalog.pg_namespace n, pg_catalog.pg_class ct, pg_catalog.pg_class ci, pg_catalog.pg_attribute a, pg_catalog.pg_index i WHERE ct.oid=i.indrelid AND ci.oid=i.indexrelid AND a.attrelid=ci.oid AND i.indisprimary AND ct.relname = 'mst_Ucompany_feature_setting' AND ct.relnamespace = n.oid AND n.nspname = 'foo' ORDER BY 1, 2, 3",
"SELECT * FROM foo",
};
conn = PQconnectdb("user=t-ishii dbname=test port=5433");
if (PQstatus(conn) == CONNECTION_BAD) {
printf("Unable to connect to db\n");
PQfinish(conn);
return 1;
}
if(doTrace == 1)
PQtrace(conn, stdout);
if(doTransaction)
PQexec(conn,"BEGIN;");
for (i=0;i<sizeof(commands)/sizeof(char *);i++)
{
char *command = commands[i];
res = PQexecParams(conn, command, 0, NULL, NULL, NULL, NULL, 0);
switch(PQresultStatus(res)) {
case PGRES_COMMAND_OK:
case PGRES_TUPLES_OK:
fprintf(stderr, "\"%s\" : succeeded\n", command);
break;
default:
fprintf(stderr, "\"%s\" failed: %s\n", command, PQresultErrorMessage(res));
break;
}
PQclear(res);
}
if(doTransaction == 1) {
PQexec(conn,"COMMIT;");
}
PQfinish(conn);
return 0;
}