Revision history for Perl extension Pg.
+1.6.3 Sep 25 1997
+ - README update
+
1.6.2 Sep 20 1997
- - adapted to PostgresqL-6.2:
+ - adapted to PostgreSQL-6.2:
o added support for new method cmdTuples
o cmdStatus returns now for DELETE the status
followed by the number of affected rows,
#-------------------------------------------------------
#
-# $Id: Makefile.PL,v 1.3 1997/09/17 20:46:20 mergl Exp $
+# $Id: Makefile.PL,v 1.4 1997/09/25 21:14:41 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
#-------------------------------------------------------
use ExtUtils::MakeMaker;
+use Config;
+use strict;
print "\nConfiguring Pg\n";
print "Remember to actually read the README file !\n";
-die "\nYou didn't read the README file !\n" unless ($] >= 5.003);
+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/pgsql /usr/local/pgsql /usr/pgsql-6.1 /usr/local/pgsql-6.1)) {
+ 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 ($ENV{POSTGRES_HOME}) {
- print "\nFound PostgreSQL in $ENV{POSTGRES_HOME}\n";
+if (-d "$ENV{POSTGRES_HOME}/lib") {
+ print "Found PostgreSQL in $ENV{POSTGRES_HOME}\n";
} else {
- die "Unable to determine \$POSTGRES_HOME !\n";
+ die "Unable to determine PostgreSQL\n";
}
-WriteMakefile(
- 'NAME' => 'Pg',
- 'VERSION_FROM' => 'Pg.pm',
- 'LIBS' => ["-L$ENV{POSTGRES_HOME}/lib -lpq"],
- 'INC' => "-I$ENV{POSTGRES_HOME}/include",
+my %opts = (
+ NAME => 'Pg',
+ VERSION_FROM => 'Pg.pm',
+ INC => "-I$ENV{POSTGRES_HOME}/include",
+ LIBS => ["-L$ENV{POSTGRES_HOME}/lib -lpq"],
);
-# EOF
+
+WriteMakefile(%opts);
+
+exit(0);
+
+# end of Makefile.PL
#-------------------------------------------------------
#
-# $Id: Pg.pm,v 1.3 1997/09/17 20:46:21 mergl Exp $
+# $Id: Pg.pm,v 1.4 1997/09/25 21:14:43 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
PGRES_InvalidOid
);
-$Pg::VERSION = '1.6.2';
+$Pg::VERSION = '1.6.3';
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
/*-------------------------------------------------------
*
- * $Id: Pg.xs,v 1.3 1997/09/17 20:46:21 mergl Exp $
+ * $Id: Pg.xs,v 1.4 1997/09/25 21:14:44 mergl Exp $
*
* Copyright (c) 1997 Edmund Mergl
*
#-------------------------------------------------------
#
-# $Id: README,v 1.3 1997/09/17 20:46:26 mergl Exp $
+# $Id: README,v 1.4 1997/09/25 21:14:46 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
DESCRIPTION:
------------
-This is version 1.6.2 of pgsql_perl5 (previously called pg95perl5).
+This is version 1.6.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
Note, that the user running this script must have been created with the access
rights to create databases *AND* users ! Do not run this script as root !
-If you are using the shared library libpq.so, make sure, your dynamic loader
-is able to find libpq.so. With Linux the command /sbin/ldconfig -v should tell
-you, where it finds libpq.so. If not, you need to add an appropriate entry to
-/etc/ld.so.conf or to the environment variable LD_LIBRARY_PATH.
+If you are using the shared library libpq.so check if your dynamic loader
+finds libpq.so. With Linux the command /sbin/ldconfig -v should tell you,
+where it finds libpq.so. If ldconfig does not find libpq.so, either add an
+appropriate entry to /etc/ld.so.conf and re-run ldconfig or add the path to
+the environment variable LD_LIBRARY_PATH.
+A typical error message resulting from not finding libpq.so is:
+ Can't load './blib/arch/auto/Pg/Pg.so' for module Pg: File not found at
Some linux distributions have an incomplete perl installation.
If you have compile errors like "XS_VERSION_BOOTCHECK undeclared", make a
- 'find /usr/lib/perl5 -name XSUB.h -print'
+ 'find .../lib/perl5 -name XSUB.h -print'
If this file is not present, you need to recompile and reinstall perl.
---------------------------------------------------------------------------
- Edmund Mergl <E.Mergl@bawue.de> September 20, 1997
+ Edmund Mergl <E.Mergl@bawue.de> September 25, 1997
---------------------------------------------------------------------------
# - PostgreSQL-6.2
# - apache_1.2.4
# - mod_perl-1.00
-# - perl5.004_01
+# - perl5.004_03
use CGI;
use Pg;
$conn = Pg::connectdb("dbname = $dbname");
$cmd = $query->param('cmd');
$result = $conn->exec($cmd);
- $result->print(STDOUT, 0, 0, 0, 1, 0, 0, '', '', '');
+ print "<TABLE>";
+ for ($i = 0; $i < $result->ntuples; $i++) {
+ print "<TR>";
+ for ($j = 0; $j < $result->nfields; $j++) {
+ print "<TD>", $result->getvalue($i, $j), "</TD>";
+ }
+ print "</TR>";
+ }
+ print "</TABLE>";
}
print $query->end_html;
-#!/usr/local/bin/perl
+#!/usr/local/bin/perl -w
#-------------------------------------------------------
#
-# $Id: example.newstyle,v 1.1 1997/09/17 20:48:14 mergl Exp $
+# $Id: example.newstyle,v 1.2 1997/09/25 21:15:02 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
######################### create and connect to test database
# 2-4
-$conn = Pg::connectdb("dbname = $dbmain");
+$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");
+$conn = Pg::connectdb("dbname=$dbname");
cmp_eq(PGRES_CONNECTION_OK, $conn->status);
######################### debug, PQtrace
$result = $conn->exec("COPY person TO STDOUT");
cmp_eq(PGRES_COPY_OUT, $result->resultStatus);
-$i = 1;
+$i = 1;
+$ret = 0;
while (-1 != $ret) {
$ret = $conn->getline($string, 256);
last if $string eq "\\.";
# i'm the child
sleep 2;
bless $conn;
- $conn = Pg::connectdb("dbname = $dbname");
+ $conn = Pg::connectdb("dbname=$dbname");
$result = $conn->exec("NOTIFY person");
exit;
}
######################### disconnect and drop test database
# 60-61
-$conn = Pg::connectdb("dbname = $dbmain");
+$conn = Pg::connectdb("dbname=$dbmain");
cmp_eq(PGRES_CONNECTION_OK, $conn->status);
$result = $conn->exec("DROP DATABASE $dbname");
-#!/usr/local/bin/perl
+#!/usr/local/bin/perl -w
#-------------------------------------------------------
#
-# $Id: example.oldstyle,v 1.1 1997/09/17 20:48:15 mergl Exp $
+# $Id: example.oldstyle,v 1.2 1997/09/25 21:15:04 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
cmp_eq(PGRES_COPY_OUT, PQresultStatus($result));
PQclear($result);
-$i = 1;
+$i = 1;
+$ret = 0;
while (-1 != $ret) {
$ret = PQgetline($conn, $string, 256);
last if $string eq "\\.";
-#!/usr/local/bin/perl
+#!/usr/local/bin/perl -w
#-------------------------------------------------------
#
-# $Id: test.pl,v 1.4 1997/09/17 20:53:35 mergl Exp $
+# $Id: test.pl,v 1.5 1997/09/25 21:14:47 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#
######################### create and connect to test database
# 2-4
-$conn = Pg::connectdb("dbname = $dbmain");
+$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");
+$conn = Pg::connectdb("dbname=$dbname");
cmp_eq(PGRES_CONNECTION_OK, $conn->status);
######################### debug, PQtrace
$result = $conn->exec("COPY person TO STDOUT");
cmp_eq(PGRES_COPY_OUT, $result->resultStatus);
-$i = 1;
+$i = 1;
+$ret = 0;
while (-1 != $ret) {
$ret = $conn->getline($string, 256);
last if $string eq "\\.";
######################### disconnect and drop test database
# 49-50
-$conn = Pg::connectdb("dbname = $dbmain");
+$conn = Pg::connectdb("dbname=$dbmain");
cmp_eq(PGRES_CONNECTION_OK, $conn->status);
$result = $conn->exec("DROP DATABASE $dbname");
#-------------------------------------------------------
#
-# $Id: typemap,v 1.3 1997/09/17 20:46:29 mergl Exp $
+# $Id: typemap,v 1.4 1997/09/25 21:14:49 mergl Exp $
#
# Copyright (c) 1997 Edmund Mergl
#