I am having a problem with fetching rows of data contain long varchar data types. Subsequent rows are returning data from previous rows. I am using DBI-1.52 and DBD-Ingres-0.51 running on Red Hat Linux 4.4.
The version of Ingres is II 9.0.4 (a64.lnx/105)NPTL The results of perl -v is: This is perl, v5.8.5 built for x86_64-linux-thread-multi I created a test data table with this structure Column Name Type Length Nulls Defaults Seq id_no integer 4 no yes comment long varch yes null I populated the table with test data like this: 101 102 103 This is a test comment. 104 105 The comment is empty for all id_no's except 103. The following program demonstrates the problem. #!/usr/bin/perl -w use strict; use DBI; my $dbh; my $sth; my $sql; my $id_no; my $comment; $dbh = DBI->connect('DBI:Ingres:hpa', 'ingadm', 'password', {AutoCommit=>1, LongReadLen=>10000, LongTruncOk=>1} ) or die "Couldn't connect to database: " . DBI->errstr; $sql = qq{ SELECT id_no, comment FROM test ORDER BY id_no }; $sth = $dbh->prepare($sql) or die "Couldn't prepare statement: " . $dbh->errstr; $sth->execute() or die "Couldn't execute statement: " . $sth->errstr; while ( ($id_no, $comment) = $sth->fetchrow_array ) { print "$id_no\t$comment\n"; # # adding a line like this makes no difference # $comment = ""; } $sth->finish; $dbh->disconnect; The results of running the program are: 101 102 103 This is a test comment. 104 his is a test comment. 105 his is a test comment. Why does the comment show up for id_no 104 and 105? And why is the first letter chopped off? How do I fix this? I am migrating an application running on a platform using SCO OpenServer 5.0.5 and Ingres II 2.0/9808 (sos_us5/00) to Linux and the open source Ingres II 9.0.4 (a64.lnx/105)NPTL. The program runs correctly on the SCO OpenServer/Ingres II platform. Steve