Revision history for Perl extension Pg.
+1.7.3 Mar 28 1998
+ - linking again with the shared version of libpq
+ due to problems on several operating systems.
+
+1.7.2 Mar 06 1998
+ - module is now linked with static libpq.a
+
+1.7.1 Mar 03 1998
+ - expanded the search path for include files
+ - return to UNIX domain sockets in test-scripts
+
1.7.0 Feb 20 1998
- adapted to PostgreSQL-6.3:
add host=localhost to the conninfo-string
#-------------------------------------------------------
#
-# $Id: Makefile.PL,v 1.6 1998/04/06 01:36:30 momjian Exp $
+# $Id: Makefile.PL,v 1.7 1998/04/14 21:14:34 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
print "Remember to actually read the README file !\n";
die "\nYou didn't read the README file !\n" unless ($] >= 5.002);
+if (! $ENV{POSTGRES_HOME}) {
+ warn "\$POSTGRES_HOME not defined. Searching for PostgreSQL...\n";
+ foreach(qw(/usr/local/pgsql /usr/pgsql /home/pgsql /opt/pgsql /usr/local/postgres /usr/postgres /home/postgres /opt/postgres)) {
+ if (-d "$_/lib") {
+ $ENV{POSTGRES_HOME} = $_;
+ last;
+ }
+ }
+}
+
+if (-d "$ENV{POSTGRES_HOME}/lib") {
+ print "Found PostgreSQL in $ENV{POSTGRES_HOME}\n";
+} else {
+ die "Unable to determine PostgreSQL\n";
+}
+
my %opts = (
NAME => 'Pg',
VERSION_FROM => 'Pg.pm',
- INC => "-I../libpq -I../../include",
- LIBS => ["-L../libpq -lpq"],
- CC => 'gcc',
+ INC => "-I$ENV{POSTGRES_HOME}/include -I/usr/local/include/pgsql -I/usr/include/pgsql",
+ OBJECT => "Pg\$(OBJ_EXT)",
+ LIBS => ["-L$ENV{POSTGRES_HOME}/lib -lpq"],
);
#-------------------------------------------------------
#
-# $Id: Pg.pm,v 1.5 1998/02/20 21:25:35 mergl Exp $
+# $Id: Pg.pm,v 1.6 1998/04/14 21:14:35 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
PGRES_InvalidOid
);
-$Pg::VERSION = '1.7.0';
+$Pg::VERSION = '1.7.3';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
/*-------------------------------------------------------
*
- * $Id: Pg.xs,v 1.5 1998/02/20 21:25:36 mergl Exp $
+ * $Id: Pg.xs,v 1.6 1998/04/14 21:14:36 mergl Exp $
*
* Copyright (c) 1997 Edmund Mergl
*
#-------------------------------------------------------
#
-# $Id: README,v 1.5 1998/02/20 21:25:42 mergl Exp $
+# $Id: README,v 1.6 1998/04/14 21:14:37 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
DESCRIPTION:
------------
-This is version 1.7.0 of pgsql_perl5 (previously called pg95perl5).
+This is version 1.7.3 of pgsql_perl5 (previously called pg95perl5).
Pgsql_perl5 is an interface between Larry Wall's language perl version 5 and
the database PostgreSQL (previously Postgres95). This has been done by using
---------------------------------------------------------------------------
- Edmund Mergl <E.Mergl@bawue.de> February 20, 1998
+ Edmund Mergl <E.Mergl@bawue.de> March 28, 1998
---------------------------------------------------------------------------
#-------------------------------------------------------
#
-# $Id: example.newstyle,v 1.3 1998/02/20 21:26:06 mergl Exp $
+# $Id: example.newstyle,v 1.4 1998/04/14 21:14:50 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
######################### We start with some black magic to print on failure.
-BEGIN { $| = 1; print "1..57\n"; }
+BEGIN { $| = 1; print "1..56\n"; }
END {print "not ok 1\n" unless $loaded;}
use Pg;
$loaded = 1;
$dbmain = 'template1';
$dbname = 'pgperltest';
-$dbhost = 'localhost';
$trace = '/tmp/pgtrace.out';
$cnt = 2;
$DEBUG = 0; # set this to 1 for traces
# connectdb
# db
# user
-# host
# port
# finish
# status
# conndefaults
# reset
# options
+# host
# tty
# getlength
# getisnull
######################### create and connect to test database
# 2-4
-$conn = Pg::connectdb("dbname=$dbmain host=$dbhost");
+$conn = Pg::connectdb("dbname=$dbmain");
cmp_eq(PGRES_CONNECTION_OK, $conn->status);
# might fail if $dbname doesn't exist => don't check resultStatus
$result = $conn->exec("CREATE DATABASE $dbname");
cmp_eq(PGRES_COMMAND_OK, $result->resultStatus);
-$conn = Pg::connectdb("dbname=$dbname host=$dbhost");
+$conn = Pg::connectdb("dbname=$dbname");
cmp_eq(PGRES_CONNECTION_OK, $conn->status);
######################### debug, PQtrace
}
######################### check PGconn
-# 5-8
+# 5-7
$db = $conn->db;
cmp_eq($dbname, $db);
$user = $conn->user;
cmp_ne("", $user);
-$host = $conn->host;
-cmp_ne("", $host);
-
$port = $conn->port;
cmp_ne("", $port);
######################### create and insert into table
-# 9-20
+# 8-19
$result = $conn->exec("CREATE TABLE person (id int4, name char16)");
cmp_eq(PGRES_COMMAND_OK, $result->resultStatus);
}
######################### copy to stdout, PQgetline
-# 21-27
+# 20-26
$result = $conn->exec("COPY person TO STDOUT");
cmp_eq(PGRES_COPY_OUT, $result->resultStatus);
cmp_eq(0, $conn->endcopy);
######################### delete and copy from stdin, PQputline
-# 28-34
+# 27-33
$result = $conn->exec("BEGIN");
cmp_eq(PGRES_COMMAND_OK, $result->resultStatus);
cmp_eq(PGRES_COMMAND_OK, $result->resultStatus);
######################### select from person, PQgetvalue
-# 35-48
+# 34-47
$result = $conn->exec("SELECT * FROM person");
cmp_eq(PGRES_TUPLES_OK, $result->resultStatus);
cmp_eq("5 Edmund Mergl", $string);
######################### PQnotifies
-# 44-47
+# 43-46
if (! defined($pid = fork)) {
die "can not fork: $!";
# i'm the child
sleep 2;
bless $conn;
- $conn = Pg::connectdb("dbname=$dbname host=$dbhost");
+ $conn = Pg::connectdb("dbname=$dbname");
$result = $conn->exec("NOTIFY person");
exit;
}
cmp_eq("person", $table);
######################### PQprint
-# 48-49
+# 47-48
$result = $conn->exec("SELECT name FROM person WHERE id = 2");
cmp_eq(PGRES_TUPLES_OK, $result->resultStatus);
close(PRINT) || die "bad PRINT: $!";
######################### PQlo_import, PQlo_export, PQlo_unlink
-# 50-55
+# 49-54
$filename = 'ApachePg.pl';
$cwd = `pwd`;
}
######################### disconnect and drop test database
-# 56-57
+# 55-56
-$conn = Pg::connectdb("dbname=$dbmain host=$dbhost");
+$conn = Pg::connectdb("dbname=$dbmain");
cmp_eq(PGRES_CONNECTION_OK, $conn->status);
$result = $conn->exec("DROP DATABASE $dbname");
#-------------------------------------------------------
#
-# $Id: example.oldstyle,v 1.3 1998/02/20 21:26:08 mergl Exp $
+# $Id: example.oldstyle,v 1.4 1998/04/14 21:14:52 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
######################### We start with some black magic to print on failure.
-BEGIN { $| = 1; print "1..61\n"; }
+BEGIN { $| = 1; print "1..60\n"; }
END {print "not ok 1\n" unless $loaded;}
use Pg;
$loaded = 1;
$dbmain = 'template1';
$dbname = 'pgperltest';
-$dbhost = 'localhost';
$trace = '/tmp/pgtrace.out';
$cnt = 2;
$DEBUG = 0; # set this to 1 for traces
# PQsetdb()
# PQdb()
-# PQhost()
# PQport()
# PQfinish()
# PQstatus()
# PQconndefaults()
# PQreset()
# PQoptions()
+# PQhost()
# PQtty()
# PQgetlength()
# PQgetisnull()
######################### create and connect to test database
# 2-4
-$conn = PQsetdb($dbhost, '', '', '', $dbmain);
+$conn = PQsetdb('', '', '', '', $dbmain);
cmp_eq(PGRES_CONNECTION_OK, PQstatus($conn));
# might fail if $dbname doesn't exist => don't check resultStatus
PQfinish($conn);
-$conn = PQsetdb($dbhost, '', '', '', $dbname);
+$conn = PQsetdb('', '', '', '', $dbname);
cmp_eq(PGRES_CONNECTION_OK, PQstatus($conn));
######################### debug, PQtrace
}
######################### check PGconn
-# 5-8
+# 5-7
$db = PQdb($conn);
cmp_eq($dbname, $db);
$user = PQuser($conn);
cmp_ne("", $user);
-$host = PQhost($conn);
-cmp_ne("", $host);
-
$port = PQport($conn);
cmp_ne("", $port);
######################### create and insert into table
-# 9-20
+# 8-19
$result = PQexec($conn, "CREATE TABLE person (id int4, name char16)");
cmp_eq(PGRES_COMMAND_OK, PQresultStatus($result));
}
######################### copy to stdout, PQgetline
-# 21-27
+# 20-26
$result = PQexec($conn, "COPY person TO STDOUT");
cmp_eq(PGRES_COPY_OUT, PQresultStatus($result));
cmp_eq(0, PQendcopy($conn));
######################### delete and copy from stdin, PQputline
-# 28-34
+# 27-33
$result = PQexec($conn, "BEGIN");
cmp_eq(PGRES_COMMAND_OK, PQresultStatus($result));
PQclear($result);
######################### select from person, PQgetvalue
-# 35-48
+# 34-47
$result = PQexec($conn, "SELECT * FROM person");
cmp_eq(PGRES_TUPLES_OK, PQresultStatus($result));
PQclear($result);
######################### PQnotifies
-# 49-51
+# 48-50
if (! defined($pid = fork)) {
die "can not fork: $!";
} elsif (! $pid) {
# i'm the child
sleep 2;
- $conn = PQsetdb($dbhost, '', '', '', $dbname);
+ $conn = PQsetdb('', '', '', '', $dbname);
$result = PQexec($conn, "NOTIFY person");
PQclear($result);
PQfinish($conn);
cmp_eq("person", $table);
######################### PQprint
-# 52-53
+# 51-52
$result = PQexec($conn, "SELECT name FROM person WHERE id = 2");
cmp_eq(PGRES_TUPLES_OK, PQresultStatus($result));
close(PRINT) || die "bad PRINT: $!";
######################### PQlo_import, PQlo_export, PQlo_unlink
-# 54-60
+# 53-59
$filename = 'ApachePg.pl';
$cwd = `pwd`;
}
######################### disconnect and drop test database
-# 60-61
+# 59-60
PQfinish($conn);
-$conn = PQsetdb($dbhost, '', '', '', $dbmain);
+$conn = PQsetdb('', '', '', '', $dbmain);
cmp_eq(PGRES_CONNECTION_OK, PQstatus($conn));
$result = PQexec($conn, "DROP DATABASE $dbname");
#-------------------------------------------------------
#
-# $Id: test.pl,v 1.6 1998/02/20 21:25:45 mergl Exp $
+# $Id: test.pl,v 1.7 1998/04/14 21:14:38 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
######################### We start with some black magic to print on failure.
-BEGIN { $| = 1; print "1..46\n"; }
+BEGIN { $| = 1; print "1..45\n"; }
END {print "not ok 1\n" unless $loaded;}
use Pg;
$loaded = 1;
$dbmain = 'template1';
$dbname = 'pgperltest';
-$dbhost = 'localhost';
$trace = '/tmp/pgtrace.out';
$cnt = 2;
$DEBUG = 0; # set this to 1 for traces
# connectdb
# db
# user
-# host
# port
# finish
# status
# conndefaults
# reset
# options
+# host
# tty
# getlength
# getisnull
######################### create and connect to test database
# 2-4
-$conn = Pg::connectdb("dbname=$dbmain host=$dbhost");
+$conn = Pg::connectdb("dbname=$dbmain");
cmp_eq(PGRES_CONNECTION_OK, $conn->status);
# might fail if $dbname doesn't exist => don't check resultStatus
$result = $conn->exec("CREATE DATABASE $dbname");
cmp_eq(PGRES_COMMAND_OK, $result->resultStatus);
-$conn = Pg::connectdb("dbname=$dbname host=$dbhost");
+$conn = Pg::connectdb("dbname=$dbname");
cmp_eq(PGRES_CONNECTION_OK, $conn->status);
######################### debug, PQtrace
}
######################### check PGconn
-# 5-8
+# 5-7
$db = $conn->db;
cmp_eq($dbname, $db);
$user = $conn->user;
cmp_ne("", $user);
-$host = $conn->host;
-cmp_ne("", $host);
-
$port = $conn->port;
cmp_ne("", $port);
######################### create and insert into table
-# 9-20
+# 8-19
$result = $conn->exec("CREATE TABLE person (id int4, name char16)");
cmp_eq(PGRES_COMMAND_OK, $result->resultStatus);
}
######################### copy to stdout, PQgetline
-# 21-27
+# 20-26
$result = $conn->exec("COPY person TO STDOUT");
cmp_eq(PGRES_COPY_OUT, $result->resultStatus);
cmp_eq(0, $conn->endcopy);
######################### delete and copy from stdin, PQputline
-# 28-34
+# 27-33
$result = $conn->exec("BEGIN");
cmp_eq(PGRES_COMMAND_OK, $result->resultStatus);
cmp_eq(PGRES_COMMAND_OK, $result->resultStatus);
######################### select from person, PQgetvalue
-# 31-44
+# 34-43
$result = $conn->exec("SELECT * FROM person");
cmp_eq(PGRES_TUPLES_OK, $result->resultStatus);
}
######################### disconnect and drop test database
-# 45-46
+# 44-45
-$conn = Pg::connectdb("dbname=$dbmain host=$dbhost");
+$conn = Pg::connectdb("dbname=$dbmain");
cmp_eq(PGRES_CONNECTION_OK, $conn->status);
$result = $conn->exec("DROP DATABASE $dbname");
#-------------------------------------------------------
#
-# $Id: typemap,v 1.5 1998/02/20 21:25:47 mergl Exp $
+# $Id: typemap,v 1.6 1998/04/14 21:14:39 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#