DBD::Informix on Solaris

DBD::Informix on Solaris

am 04.07.2006 13:10:26 von Govinda.Pfister

------_=_NextPart_001_01C69F5A.73309984
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hello List,
=20
I have a working informix environment with DBI and DBD::Informix. (see =
details for version, configuration below).
=20
I do have the problem that I cannot get the serial after a insert =
statement is executed.=20
I always get '0' back. In the database each inserted record gets a =
unique number assigned.
=20
Why?
=20
The code is as follows:
----------------------------------------------------------
=20
# Vorbereiten des DBI/DBD::Informix Einfüge-Statements für das =
Importieren der Daten in die Informix-Datenbank
(my $sth =3D $dbh->prepare("INSERT INTO stammdatenkundeninfo (uid, =
firstname, lastname, formofaddress, title, email, phone, mobile, fax, =
company, orgshort, orglong, costcenter, type, nameaffix, room, =
building, street, postalcode, country, status) VALUES (?, ?, ?, ?, ?, =
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"))=20
or die "${spacer_two}\nFehler: Vorbereiten des DBI/DBD::Informix =
Einfüge-Statements gescheitert -". $dbh->errstr() =
.."\n${spacer_two}\n";
=20
(my $sth_upd =3D $dbh->prepare("Update stammdatenkundeninfo SET =
requestid =3D ? WHERE id =3D ?"))
or die "${spacer_two}\nFehler: Vorbereiten des DBI/DBD::Informix =
Update-Statements gescheitert -". $dbh->errstr() ."\n${spacer_two}\n"; =
=20
=20
# Durchlaufen der einzelnen Zeilen der CSV-Datei bis keine mehr da ist
my $anzahl=3D0;
while ($csv->get_row()) {
=20
# Zuweisen der einzelnen Inhalte der aktuellen Zeile zu Variablen =20
(my $user_id, $first_name, $lastname, $form_of_adress, $title, =
$email, $phone, $mobile, $fax, $company, $orgshort, $orglong, =
$costcenter, $type, $nameaffix, $room, $building, $street, $postalcode, =
$country) =3D $csv->extract("User ID","First Name","Last Name","Form of =
Address","Title","E-Mail","Telephone","Mobile","Fax","Compan y","OrgShort=
","OrgLong","Cost Center","Type of Employement", "Name affix", "Room", =
"Building", "Street", "Postal Code", "Country")
or warn "${spacer_two}\nWarnung: Probleme beim Zuweisen der Spalten =
des CSV-Datensatz zu Variablen - ${!}\n${spacer_two}\n";
=20
=20
# Ausführen des DBI/DBD::Informix Einfüge-Statements mit den =
vorbereitenen Variablen =20
$@ =3D'';
eval{
$sth->execute($user_id, $first_name, $lastname, $form_of_adress, =
$title, $email, $phone, $mobile, $fax, $company, $orgshort, $orglong, =
$costcenter, $type, $nameaffix, $room, $building, $street, $postalcode, =
$country, "imported");=20
};
# Fehlerbehandlung
if ($@){
die "${spacer_two}\nFehler: Import des Datensatzes mit der User-ID =
\"${user_id}\" ist gescheitert -". $dbh->errstr() ."\n${spacer_two}\n";
}
else{
my $id =3D $sth->{ix_sqlerrd}[1];
printf ILOG "<%6s> %s (DB-ID: %10s)\n", $anzahl, "Import des =
Datensatzes mit der User-ID \"${user_id}\" war erfolgreich.", $id;
$anzahl++;
=20
$sth_upd->execute($id, $id) or die "Update: $!"; =20
}
=20
}
=20
----------------------------------------------------------
=20
=20
=20
=20
=20
=20
=20
Bugreport-Info:
=20
perl -V
---------------------------------------
Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
Platform:
osname=3Dsolaris, osvers=3D2.8, archname=3Dsun4-solaris
uname=3D'sunos solaris 5.8 generic_108528-11 sun4u sparc =
sunw,ultra-5_10 '
config_args=3D'-Dcc=3Dgcc -B/usr/ccs/bin/'
hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine
usethreads=3Dundef use5005threads=3Dundef useithreads=3Dundef =
usemultiplicity=3Dundef
useperlio=3Ddefine d_sfio=3Dundef uselargefiles=3Ddefine =
usesocks=3Dundef
use64bitint=3Dundef use64bitall=3Dundef uselongdouble=3Dundef
usemymalloc=3Dn, bincompat5005=3Dundef
Compiler:
cc=3D'gcc -B/usr/ccs/bin/', ccflags =3D'-fno-strict-aliasing -pipe =
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64',
optimize=3D'-O',
cppflags=3D'-fno-strict-aliasing -pipe -I/usr/local/include'
ccversion=3D'', gccversion=3D'3.3.2', gccosandvers=3D'solaris2.8'
intsize=3D4, longsize=3D4, ptrsize=3D4, doublesize=3D8, =
byteorder=3D4321
d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, =
longdblsize=3D16
ivtype=3D'long', ivsize=3D4, nvtype=3D'double', nvsize=3D8, =
Off_t=3D'off_t', lseeksize=3D8
alignbytes=3D8, prototype=3Ddefine
Linker and Libraries:
ld=3D'gcc -B/usr/ccs/bin/', ldflags =3D' -L/usr/local/lib '
libpth=3D/usr/local/lib /usr/lib /usr/ccs/lib
libs=3D-lsocket -lnsl -ldl -lm -lc
perllibs=3D-lsocket -lnsl -ldl -lm -lc
libc=3D/lib/libc.so, so=3Dso, useshrplib=3Dfalse, =
libperl=3Dlibperl.a
gnulibc_version=3D''
Dynamic Linking:
dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_dlsymun=3Dundef, ccdlflags=3D' =
'
cccdlflags=3D'-fPIC', lddlflags=3D'-G -L/usr/local/lib'
=20

Characteristics of this binary (from libperl):
Compile-time options: USE_LARGE_FILES
Built under solaris
Compiled at Dec 2 2005 01:34:16
@INC:
/usr/local/lib/perl5/5.8.7/sun4-solaris
/usr/local/lib/perl5/5.8.7
/usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris
/usr/local/lib/perl5/site_perl/5.8.7
/usr/local/lib/perl5/site_perl/5.6.1
/usr/local/lib/perl5/site_perl
=20

esql -v
---------------------------------------
IBM Informix CSDK Version 2.90, IBM Informix-ESQL Version 2.90.FC4
Software Serial Number AAA#B000000
=20
dbaccess -V
----------------------------------------
DB-Access Version 9.21.UC6
Software Serial Number AAD#J179567
=20

Govinda Pfister=20
Remedy Approved Consultant, Clarify Certified Consultant, =
ITIL-Certified

Projectcenter Business Process Solutions
Solution & Service Center Business Enabling Solutions
Global Competence Center
T-Systems Enterprise Services GmbH
Memmelsdorfer Str. 209a, 96052 Bamberg
+49 951 4097-161 (Tel)
+49 951 4097-200 (Fax)
E-Mail: Govinda.Pfister =
@t-systems.com
Internet: http://www.t-systems.com=20




=20

------_=_NextPart_001_01C69F5A.73309984--

Re: DBD::Informix on Solaris

am 04.07.2006 13:56:02 von tvilliers

Can you post the schema for the stammdatenkundeninfo table please?


On 04/07/06, Govinda.Pfister@telekom.de wrote:
> Hello List,
>
> I have a working informix environment with DBI and DBD::Informix. (see de=
tails for version, configuration below).
>
> I do have the problem that I cannot get the serial after a insert stateme=
nt is executed.
> I always get '0' back. In the database each inserted record gets a unique=
number assigned.
>
> Why?
>
> The code is as follows:
> ----------------------------------------------------------
>
> # Vorbereiten des DBI/DBD::Informix Einfüge-Statements für das Import=
ieren der Daten in die Informix-Datenbank
> (my $sth =3D $dbh->prepare("INSERT INTO stammdatenkundeninfo (uid, firstn=
ame, lastname, formofaddress, title, email, phone, mobile, fax, company, or=
gshort, orglong, costcenter, type, nameaffix, room, building, street, posta=
lcode, country, status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?=
, ?, ?, ?, ?, ?, ?)"))
> or die "${spacer_two}\nFehler: Vorbereiten des DBI/DBD::Informix Einf=
üge-Statements gescheitert -". $dbh->errstr() ."\n${spacer_two}\n";
>
> (my $sth_upd =3D $dbh->prepare("Update stammdatenkundeninfo SET requestid=
=3D ? WHERE id =3D ?"))
> or die "${spacer_two}\nFehler: Vorbereiten des DBI/DBD::Informix Update=
-Statements gescheitert -". $dbh->errstr() ."\n${spacer_two}\n";
>
> # Durchlaufen der einzelnen Zeilen der CSV-Datei bis keine mehr da ist
> my $anzahl=3D0;
> while ($csv->get_row()) {
>
> # Zuweisen der einzelnen Inhalte der aktuellen Zeile zu Variablen
> (my $user_id, $first_name, $lastname, $form_of_adress, $title, $email, =
$phone, $mobile, $fax, $company, $orgshort, $orglong, $costcenter, $type, $=
nameaffix, $room, $building, $street, $postalcode, $country) =3D $csv->extr=
act("User ID","First Name","Last Name","Form of Address","Title","E-Mail","=
Telephone","Mobile","Fax","Company","OrgShort","OrgLong","Co st Center","Typ=
e of Employement", "Name affix", "Room", "Building", "Street", "Postal Code=
", "Country")
> or warn "${spacer_two}\nWarnung: Probleme beim Zuweisen der Spalten de=
s CSV-Datensatz zu Variablen - ${!}\n${spacer_two}\n";
>
>
> # Ausführen des DBI/DBD::Informix Einfüge-Statements mit den vorber=
eitenen Variablen
> $@ =3D'';
> eval{
> $sth->execute($user_id, $first_name, $lastname, $form_of_adress, $titl=
e, $email, $phone, $mobile, $fax, $company, $orgshort, $orglong, $costcente=
r, $type, $nameaffix, $room, $building, $street, $postalcode, $country, "im=
ported");
> };
> # Fehlerbehandlung
> if ($@){
> die "${spacer_two}\nFehler: Import des Datensatzes mit der User-ID \"$=
{user_id}\" ist gescheitert -". $dbh->errstr() ."\n${spacer_two}\n";
> }
> else{
> my $id =3D $sth->{ix_sqlerrd}[1];
> printf ILOG "<%6s> %s (DB-ID: %10s)\n", $anzahl, "Import des Datensatz=
es mit der User-ID \"${user_id}\" war erfolgreich.", $id;
> $anzahl++;
>
> $sth_upd->execute($id, $id) or die "Update: $!";
> }
>
> }
>
> ----------------------------------------------------------
>
>
>
>
>
>
>
> Bugreport-Info:
>
> perl -V
> ---------------------------------------
> Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
> Platform:
> osname=3Dsolaris, osvers=3D2.8, archname=3Dsun4-solaris
> uname=3D'sunos solaris 5.8 generic_108528-11 sun4u sparc sunw,ultra-5=
_10 '
> config_args=3D'-Dcc=3Dgcc -B/usr/ccs/bin/'
> hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine
> usethreads=3Dundef use5005threads=3Dundef useithreads=3Dundef usemult=
iplicity=3Dundef
> useperlio=3Ddefine d_sfio=3Dundef uselargefiles=3Ddefine usesocks=3Du=
ndef
> use64bitint=3Dundef use64bitall=3Dundef uselongdouble=3Dundef
> usemymalloc=3Dn, bincompat5005=3Dundef
> Compiler:
> cc=3D'gcc -B/usr/ccs/bin/', ccflags =3D'-fno-strict-aliasing -pipe -I=
/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64',
> optimize=3D'-O',
> cppflags=3D'-fno-strict-aliasing -pipe -I/usr/local/include'
> ccversion=3D'', gccversion=3D'3.3.2', gccosandvers=3D'solaris2.8'
> intsize=3D4, longsize=3D4, ptrsize=3D4, doublesize=3D8, byteorder=3D4=
321
> d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, longdblsiz=
e=3D16
> ivtype=3D'long', ivsize=3D4, nvtype=3D'double', nvsize=3D8, Off_t=3D'=
off_t', lseeksize=3D8
> alignbytes=3D8, prototype=3Ddefine
> Linker and Libraries:
> ld=3D'gcc -B/usr/ccs/bin/', ldflags =3D' -L/usr/local/lib '
> libpth=3D/usr/local/lib /usr/lib /usr/ccs/lib
> libs=3D-lsocket -lnsl -ldl -lm -lc
> perllibs=3D-lsocket -lnsl -ldl -lm -lc
> libc=3D/lib/libc.so, so=3Dso, useshrplib=3Dfalse, libperl=3Dlibperl.a
> gnulibc_version=3D''
> Dynamic Linking:
> dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_dlsymun=3Dundef, ccdlflags=3D' '
> cccdlflags=3D'-fPIC', lddlflags=3D'-G -L/usr/local/lib'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: USE_LARGE_FILES
> Built under solaris
> Compiled at Dec 2 2005 01:34:16
> @INC:
> /usr/local/lib/perl5/5.8.7/sun4-solaris
> /usr/local/lib/perl5/5.8.7
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris
> /usr/local/lib/perl5/site_perl/5.8.7
> /usr/local/lib/perl5/site_perl/5.6.1
> /usr/local/lib/perl5/site_perl
>
>
> esql -v
> ---------------------------------------
> IBM Informix CSDK Version 2.90, IBM Informix-ESQL Version 2.90.FC4
> Software Serial Number AAA#B000000
>
> dbaccess -V
> ----------------------------------------
> DB-Access Version 9.21.UC6
> Software Serial Number AAD#J179567
>
>
> Govinda Pfister
> Remedy Approved Consultant, Clarify Certified Consultant, ITIL-Certified
>
> Projectcenter Business Process Solutions
> Solution & Service Center Business Enabling Solutions
> Global Competence Center
> T-Systems Enterprise Services GmbH
> Memmelsdorfer Str. 209a, 96052 Bamberg
> +49 951 4097-161 (Tel)
> +49 951 4097-200 (Fax)
> E-Mail: Govinda.Pfister @t-systems=
..com
> Internet: http://www.t-systems.com
>
>
>
>
>
>
>

Re: DBD::Informix on Solaris

am 04.07.2006 21:40:08 von jonathan.leffler

------=_Part_24308_15353760.1152042008333
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On 7/4/06, Govinda.Pfister@telekom.de wrote:
>
> Hello List,
>
> I have a working informix environment with DBI and DBD::Informix. (see
> details for version, configuration below).
>
> I do have the problem that I cannot get the serial after a insert
> statement is executed.
> I always get '0' back. In the database each inserted record gets a unique
> number assigned.
>
> Why?



I'm not clear why you are running into a problem. Tielman asked about the
table schema; the most interesting question would be whether the serial
column is actually a SERIAL8. That would account for the problem; it seems
unlikely though.

Thanks for including the configuration information. Your Perl is clearly a
32-bit version, but the ESQL/C version you quote is 64-bit (because of the =
F
in 2.90.FC4). You can't be using that - or, if you are really sure that
you are, you need to explain to me how you did it, because I've made others
get consistent all 32-bit or all 64-bit setups.

The DB-Access version says 9.21.UC6 - that's a surrogate for the version of
the server. Are you really still using IDS 9.21? You should be on 9.40, i=
f
not 10.00. Your CSDK and ESQL/C versions are current; your database engine
is very old.

The code is as follows:
> ----------------------------------------------------------
>
> # Vorbereiten des DBI/DBD::Informix Einfüge-Statements für das Import=
ieren
> der Daten in die Informix-Datenbank
> (my $sth =3D $dbh->prepare("INSERT INTO stammdatenkundeninfo (uid,
> firstname, lastname, formofaddress, title, email, phone, mobile, fax,
> company, orgshort, orglong, costcenter, type, nameaffix, room, building,
> street, postalcode, country, status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?=
,
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"))
> or die "${spacer_two}\nFehler: Vorbereiten des DBI/DBD::Informix
> Einfüge-Statements gescheitert -". $dbh->errstr() ."\n${spacer_two}\n";
>
> (my $sth_upd =3D $dbh->prepare("Update stammdatenkundeninfo SET requestid=
=3D
> ? WHERE id =3D ?"))
> or die "${spacer_two}\nFehler: Vorbereiten des DBI/DBD::Informix
> Update-Statements gescheitert -". $dbh->errstr() ."\n${spacer_two}\n";
>
> # Durchlaufen der einzelnen Zeilen der CSV-Datei bis keine mehr da ist
> my $anzahl=3D0;
> while ($csv->get_row()) {
>
> # Zuweisen der einzelnen Inhalte der aktuellen Zeile zu Variablen
> (my $user_id, $first_name, $lastname, $form_of_adress, $title, $email,
> $phone, $mobile, $fax, $company, $orgshort, $orglong, $costcenter, $type,
> $nameaffix, $room, $building, $street, $postalcode, $country) =3D
> $csv->extract("User ID","First Name","Last Name","Form of
> Address","Title","E-Mail","Telephone","Mobile","Fax","Compan y","OrgShort"=
,"OrgLong","Cost
> Center","Type of Employement", "Name affix", "Room", "Building", "Street"=
,
> "Postal Code", "Country")
> or warn "${spacer_two}\nWarnung: Probleme beim Zuweisen der Spalten de=
s
> CSV-Datensatz zu Variablen - ${!}\n${spacer_two}\n";
>
>
> # Ausführen des DBI/DBD::Informix Einfüge-Statements mit den
> vorbereitenen Variablen
> $@ =3D'';
> eval{
> $sth->execute($user_id, $first_name, $lastname, $form_of_adress,
> $title, $email, $phone, $mobile, $fax, $company, $orgshort, $orglong,
> $costcenter, $type, $nameaffix, $room, $building, $street, $postalcode,
> $country, "imported");
> };
> # Fehlerbehandlung
> if ($@){
> die "${spacer_two}\nFehler: Import des Datensatzes mit der User-ID
> \"${user_id}\" ist gescheitert -". $dbh->errstr() ."\n${spacer_two}\n";
> }
> else{
> my $id =3D $sth->{ix_sqlerrd}[1];
> printf ILOG "<%6s> %s (DB-ID: %10s)\n", $anzahl, "Import des
> Datensatzes mit der User-ID \"${user_id}\" war erfolgreich.", $id;
> $anzahl++;
>
> $sth_upd->execute($id, $id) or die "Update: $!";
> }
>
> }
>
> ----------------------------------------------------------
>
>
>
>
>
>
>
> Bugreport-Info:
>
> perl -V
> ---------------------------------------
> Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
> Platform:
> osname=3Dsolaris, osvers=3D2.8, archname=3Dsun4-solaris
> uname=3D'sunos solaris 5.8 generic_108528-11 sun4u sparc sunw,ultra-5=
_10
> '
> config_args=3D'-Dcc=3Dgcc -B/usr/ccs/bin/'
> hint=3Drecommended, useposix=3Dtrue, d_sigaction=3Ddefine
> usethreads=3Dundef use5005threads=3Dundef useithreads=3Dundef
> usemultiplicity=3Dundef
> useperlio=3Ddefine d_sfio=3Dundef uselargefiles=3Ddefine usesocks=3Du=
ndef
> use64bitint=3Dundef use64bitall=3Dundef uselongdouble=3Dundef
> usemymalloc=3Dn, bincompat5005=3Dundef
> Compiler:
> cc=3D'gcc -B/usr/ccs/bin/', ccflags =3D'-fno-strict-aliasing -pipe
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=3D64',
> optimize=3D'-O',
> cppflags=3D'-fno-strict-aliasing -pipe -I/usr/local/include'
> ccversion=3D'', gccversion=3D'3.3.2', gccosandvers=3D'solaris2.8'
> intsize=3D4, longsize=3D4, ptrsize=3D4, doublesize=3D8, byteorder=3D4=
321
> d_longlong=3Ddefine, longlongsize=3D8, d_longdbl=3Ddefine, longdblsiz=
e=3D16
> ivtype=3D'long', ivsize=3D4, nvtype=3D'double', nvsize=3D8, Off_t=3D'=
off_t',
> lseeksize=3D8
> alignbytes=3D8, prototype=3Ddefine
> Linker and Libraries:
> ld=3D'gcc -B/usr/ccs/bin/', ldflags =3D' -L/usr/local/lib '
> libpth=3D/usr/local/lib /usr/lib /usr/ccs/lib
> libs=3D-lsocket -lnsl -ldl -lm -lc
> perllibs=3D-lsocket -lnsl -ldl -lm -lc
> libc=3D/lib/libc.so, so=3Dso, useshrplib=3Dfalse, libperl=3Dlibperl.a
> gnulibc_version=3D''
> Dynamic Linking:
> dlsrc=3Ddl_dlopen.xs, dlext=3Dso, d_dlsymun=3Dundef, ccdlflags=3D' '
> cccdlflags=3D'-fPIC', lddlflags=3D'-G -L/usr/local/lib'
>
>
> Characteristics of this binary (from libperl):
> Compile-time options: USE_LARGE_FILES
> Built under solaris
> Compiled at Dec 2 2005 01:34:16
> @INC:
> /usr/local/lib/perl5/5.8.7/sun4-solaris
> /usr/local/lib/perl5/5.8.7
> /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris
> /usr/local/lib/perl5/site_perl/5.8.7
> /usr/local/lib/perl5/site_perl/5.6.1
> /usr/local/lib/perl5/site_perl
>
>
> esql -v
> ---------------------------------------
> IBM Informix CSDK Version 2.90, IBM Informix-ESQL Version 2.90.FC4
> Software Serial Number AAA#B000000
>
> dbaccess -V
> ----------------------------------------
> DB-Access Version 9.21.UC6
> Software Serial Number AAD#J179567
>
>
> Govinda Pfister
> Remedy Approved Consultant, Clarify Certified Consultant, ITIL-Certified
>
> Projectcenter Business Process Solutions
> Solution & Service Center Business Enabling Solutions
> Global Competence Center
> T-Systems Enterprise Services GmbH
> Memmelsdorfer Str. 209a, 96052 Bamberg
> +49 951 4097-161 (Tel)
> +49 951 4097-200 (Fax)
> E-Mail: Govinda.Pfister @
> t-systems.com
> Internet: http://www.t-systems.com
>
>
>
>
>
>
>


--=20
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."

------=_Part_24308_15353760.1152042008333--

Re: DBD::Informix on Solaris

am 04.07.2006 21:53:33 von jonathan.leffler

------=_Part_24372_21976148.1152042813179
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

On 7/4/06, Govinda.Pfister@telekom.de wrote:

> I have a working informix environment with DBI and DBD::Informix. (see
> details for version, configuration below).
>
> I do have the problem that I cannot get the serial after a insert
> statement is executed.
> I always get '0' back. In the database each inserted record gets a unique
> number assigned.
>
> Why?



Answer 2...

Looking at the code in t/t10sqlca.t, there is code there that carefully
checks that the serial number stuff works. So, first question, did you run
that test and did it pass? I believe the answer to both will be yes, but
I'll ask anyway.

The other potentially significant detail is that the code in t/t10sqlca.t
tests $dbh->{ix_sqlerrd}[1] and not $sth->{ix_sqlerrd}[1] as in your code.
However, in your defense, the documentation in 'perldoc DBD::Informix'
clearly shows $sth->{ix_sqlerrd}[1] and not the $dbh version, though it says
you can get the information from either. The QA suite does not appear to
validate that; however, the print_sqlca method (part of
DBD::Informix::TestHarness) is called with statement handles. So, we should
validate that what is printed by print_sqlca and a statement handle matches
what is validated by the database handle.



The code is as follows:
> ----------------------------------------------------------
> [...]
> else{
> my $id = $sth->{ix_sqlerrd}[1];
> [...]
> ----------------------------------------------------------
>
> Bugreport-Info:
>
> perl -V
> ---------------------------------------
> Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
> Platform:
> osname=solaris, osvers=2.8, archname=sun4-solaris
> uname='sunos solaris 5.8 generic_108528-11 sun4u sparc sunw,ultra-5_10
> '
> config_args='-Dcc=gcc -B/usr/ccs/bin/'
> hint=recommended, useposix=true, d_sigaction=define
> usethreads=undef use5005threads=undef useithreads=undef
> usemultiplicity=undef
> useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
> use64bitint=undef use64bitall=undef uselongdouble=undef
> usemymalloc=n, bincompat5005=undef
> Compiler:
> cc='gcc -B/usr/ccs/bin/', ccflags ='-fno-strict-aliasing -pipe
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
> optimize='-O',
> cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
> ccversion='', gccversion='3.3.2', gccosandvers='solaris2.8'
> intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
> d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
> ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
> alignbytes=8, prototype=define
> [...]
>



--
Jonathan Leffler #include
Guardian of DBD::Informix - v2005.02 - http://dbi.perl.org
"I don't suffer from insanity - I enjoy every minute of it."

------=_Part_24372_21976148.1152042813179--