Hi,

I'm hoping that someone can shed some light on the following issue that
I'm seeing.  When I attempt to create a temp table using DBD::SQLite (v1.11)
and either SQLite v3.3.3 or v3.3.4, I get the following error:

DBD::SQLite::db do failed: not an error(21) at dbdimp.c line 398 at ....

With trace level 9:

    DBI::db=HASH(0x8475c88) trace level set to 0x0/9 (DBI @ 0x0/0) in DBI 
1.50-nothread (pid 9238)
2006-03-07 00:32:32.899578 create temp table distributors_tmp
    -> do in DBD::_::db for DBD::SQLite::db (DBI::db=HASH(0x84758e0)~0x8475c88 
'create temp table distributors_tmp(
                     d_id INT4 PRIMARY KEY,
                     r_id INT2,
                     m_id INT2,
                     isp TEXT,
                     city TEXT,
                     country TEXT,
                     type TEXT,
                     notes TEXT)')
    >> prepare     DISPATCH (DBI::db=HASH(0x8475c88) rc1/2 @3 g0 ima2201 
pid#9238) at /usr/lib/perl5/site_perl/5.6.1/i386-linux/DBI.pm line 1551 via 
./distributor-import.pl line 134
1   -> prepare for DBD::SQLite::db (DBI::db=HASH(0x8475c88)~INNER 'create temp 
table distributors_tmp(
                     d_id INT4 PRIMARY KEY,
                     r_id INT2,
                     m_id INT2,
                     isp TEXT,
                     city TEXT,
                     country TEXT,
                     type TEXT,
                     notes TEXT)' undef)
    dbih_setup_handle(DBI::st=HASH(0x8475d9c)=>DBI::st=HASH(0x8475ed4), 
DBD::SQLite::st, 8475da8, Null!)
    dbih_make_com(DBI::db=HASH(0x8475c88), 0x84f3c58, DBD::SQLite::st, 124, 
(nil)) thr#(nil)
    dbih_setup_attrib(DBI::st=HASH(0x8475ed4), Err, DBI::db=HASH(0x8475c88)) 
SCALAR(0x841c950) (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x8475ed4), State, DBI::db=HASH(0x8475c88)) 
SCALAR(0x841c9b0) (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x8475ed4), Errstr, DBI::db=HASH(0x8475c88)) 
SCALAR(0x841c980) (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x8475ed4), TraceLevel, 
DBI::db=HASH(0x8475c88)) 9 (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x8475ed4), FetchHashKeyName, 
DBI::db=HASH(0x8475c88)) 'NAME' (already defined)
    dbih_setup_attrib(DBI::st=HASH(0x8475ed4), HandleSetErr, 
DBI::db=HASH(0x8475c88)) undef (not defined)
    dbih_setup_attrib(DBI::st=HASH(0x8475ed4), HandleError, 
DBI::db=HASH(0x8475c88)) undef (not defined)
sqlite trace: prepare statement: create temp table distributors_tmp(
                     d_id INT4 PRIMARY KEY,
                     r_id INT2,
                     m_id INT2,
                     isp TEXT,
                     city TEXT,
                     country TEXT,
                     type TEXT,
                     notes TEXT)
1   <- prepare= DBI::st=HASH(0x8475d9c) at 
/usr/lib/perl5/site_perl/5.6.1/i386-linux/DBI.pm line 1551 via 
./distributor-import.pl line 134
    >> execute     DISPATCH (DBI::st=HASH(0x8475d9c) rc1/1 @1 g0 ima1041 
pid#9238) at /usr/lib/perl5/site_perl/5.6.1/i386-linux/DBI.pm line 1552 via 
./distributor-import.pl line 134
    -> execute for DBD::SQLite::st (DBI::st=HASH(0x8475d9c)~0x8475ed4)
sqlite trace: Execute returned 0 cols

sqlite error 21 recorded: not an error at dbdimp.c line 398
    !! ERROR: 21 'not an error(21) at dbdimp.c line 398' (err#0)
    <- execute= undef at /usr/lib/perl5/site_perl/5.6.1/i386-linux/DBI.pm line 
1552 via ./distributor-import.pl line 134
    !! ERROR: 21 'not an error(21) at dbdimp.c line 398' (err#0)
    <- do= undef at ./distributor-import.pl line 134 via 
./distributor-import.pl line 131
DBD::SQLite::db do failed: not an error(21) at dbdimp.c line 398 at 
./distributor-import.pl line 134.
    -> DESTROY for DBD::SQLite::st (DBI::st=HASH(0x8475ed4)~INNER)
       ERROR: 21 'not an error(21) at dbdimp.c line 398' (err#0)
    <- DESTROY= undef at ./distributor-import.pl line 212
DBD::SQLite::db do failed: not an error(21) at dbdimp.c line 398 at 
./distributor-import.pl line 134.
    -> DESTROY for DBD::SQLite::db (DBI::db=HASH(0x8475c88)~INNER)
       ERROR: 21 'not an error(21) at dbdimp.c line 398' (err#0)
    <- DESTROY= undef

The perl code that generates this error is simply

my $dbh = DBI->connect( "dbi:SQLite:dbname=:memory:" );
die( "Can't connect to SQLite server: $DBI::errstr" ) unless( $dbh );

$dbh->{'RaiseError'} = 1;

eval
{
    $dbh->do( "create temp table d_tmp(
                     d_id INT4 PRIMARY KEY,
                     r_id INT2,
                     m_id INT2,
                     isp TEXT,
                     city TEXT,
                     country TEXT,
                     type TEXT,
                     notes TEXT)" );
};
die ( $@ ) if ( $@ );

$dbh->disconnect();
exit 0;

When this code is run using SQLite v3.3.2 (or apparently any older version; we
also tried 3.3.1, 3.3.0, 3.2.7 and 3.2.0), there is no error.  No modifications
to any of the installations were made.

We are using perl 5.6.1 on Linux 2.6.12.6-nfs #1 SMP.

Thanks for any help you can provide,

Steve

--
Steve Green
SAVVIS
Transforming Information Technology SM

This message contains information which may be confidential and/or
privileged.  Unless you are the intended recipient (or authorized
to receive for the intended recipient), you may not read, use,
copy or disclose to anyone the message or any information contained
in the message. If you have received the message in error, please
advise the sender by reply e-mail at [EMAIL PROTECTED] and
delete the message and any attachment(s) thereto without retaining
any copies.

Reply via email to