In article <cf7bc53b.0401070314.41bc05ad@posting.google.com>,brendanl@iname.com (Brendan LeFebvre) wrote:
> I have a script that updates one record in a PostgreSQL 7.2.1 database
> through the Perl DBI.
>
> Where do I even begin to attempt a diagnosis?
Here is the output from a script I ran with no problems under 7.2.1,
followed by the script:
OUTPUT
---------
DB info : PostgreSQL 7.2.1 Table "item"Column | Type | Modifiers
---------+---------+-----------item_id | integer | status | text |
doing query < TRUNCATE item >
-1 rows affected
doing query < INSERT INTO item VALUES(1129832,'BACKORDER') >
1 rows affected
doing query < INSERT INTO item VALUES(1130081,'OUTOFSTOCK') >
1 rows affected
doing query < UPDATE item SET status='SOLD' WHERE item_id=1129832 >
1 rows affected
doing query < UPDATE item SET status='STORE' WHERE item_id=1130081 >
1 rows affected
SCRIPT
------
#!/usr/bin/perl -w
use strict;
use DBI;
our $DBH;
sub dienicely { warn "$DBH->errstr"; $DBH->disconnect;
}
sub runquery { my $sql = shift; print "doing query < $sql > \n"; my $rows = $DBH->do($sql) or dienicely; print
"$rowsrows affected\n";
}
$DBH = DBI->connect("dbi:Pg:dbname=boyd","","");
my $info = $DBH->get_info(17) .' '. $DBH->get_info(18);
$info =~ s/0//g; # the get_info adds extraneous '0' to the version number
print "DB info : $info\n";
print `psql -c '\\d item'`;
runquery("TRUNCATE item");
runquery( "INSERT INTO item VALUES(1129832,'BACKORDER')" );
runquery( "INSERT INTO item VALUES(1130081,'OUTOFSTOCK')" );
runquery( "UPDATE item SET status='SOLD' WHERE item_id=1129832" );
runquery( "UPDATE item SET status='STORE' WHERE item_id=1130081" );
$DBH->disconnect;
Hope that helps.
Boyd