Skip Menu |

This queue is for tickets about the DBD-SQLite CPAN distribution.

Report information
The Basics
Id: 62639
Status: rejected
Priority: 0/
Queue: DBD-SQLite

People
Owner: Nobody in particular
Requestors: bruno.darcet [...] yazul.net
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.31
Fixed in: (no value)



Subject: column_info : sth undefined
context : cygwin, Windows-XP. $colsth= $dbh->column_info($table_cat,$table_schem,$table_name,'%'); Can't call method "execute" on an undefined value at /usr/lib/perl5/site_perl/5.10/i686-cygwin/DBD/SQLite.pm line 519. i fixed the problem in this module : old : # Taken from Fey::Loader::SQLite my @cols; while ( my ($schema, $table) = $sth_tables->fetchrow_array ) { my $sth_columns = $dbh->prepare(qq{PRAGMA "$schema".table_info("$table")}); $sth_columns->execute; new : # Taken from Fey::Loader::SQLite my @cols; my $tbls; my ($schema, $table); while ( $tbls = $sth_tables->fetchrow_arrayref ) { $schema= $$tbls[0]; $table= $$tbls[1]; my $sth_columns = $dbh->prepare(qq{PRAGMA "$schema".table_info("$table")}); $sth_columns->execute; i hope this can help.
Hmm. Which version of DBI did you use? And did you install DBD::SQLite from CPAN, or just copy precompiled components from somewhere manually? What your patch suggests is fetchrow_array (of DBI, not DBD::SQLite) is broken or rather, your DBI is too old. Please reinstall or upgrade DBI and see if your problem still happens. As you see in the Makefile.PL, DBD::SQLite requires fairly recent version of DBI. On Tue Nov 02 06:52:00 2010, yazul wrote: Show quoted text
> context : cygwin, Windows-XP. > > $colsth= $dbh->column_info($table_cat,$table_schem,$table_name,'%'); > > Can't call method "execute" on an undefined value at > /usr/lib/perl5/site_perl/5.10/i686-cygwin/DBD/SQLite.pm line 519. > > i fixed the problem in this module : > > old : > # Taken from Fey::Loader::SQLite > my @cols; > while ( my ($schema, $table) = $sth_tables->fetchrow_array ) { > my $sth_columns = $dbh->prepare(qq{PRAGMA > "$schema".table_info("$table")}); > $sth_columns->execute; > > > > new : > # Taken from Fey::Loader::SQLite > my @cols; > my $tbls; > my ($schema, $table); > while ( $tbls = $sth_tables->fetchrow_arrayref ) { > $schema= $$tbls[0]; > $table= $$tbls[1]; > my $sth_columns = $dbh->prepare(qq{PRAGMA > "$schema".table_info("$table")}); > $sth_columns->execute; > > > i hope this can help.
From: bruno.darcet [...] yazul.net
I'll try this in 3 days. You're probably right : the same test is OK for a clean linux box (not cygwin+winXP, ...). Le Mar 02 Nov 2010 16:34:54, ISHIGAKI a écrit : Show quoted text
> Hmm. Which version of DBI did you use? And did you install DBD::SQLite > from CPAN, or just copy precompiled components from somewhere
manually? Show quoted text
> > What your patch suggests is fetchrow_array (of DBI, not DBD::SQLite)
is Show quoted text
> broken or rather, your DBI is too old. Please reinstall or upgrade DBI > and see if your problem still happens. As you see in the Makefile.PL, > DBD::SQLite requires fairly recent version of DBI. > > On Tue Nov 02 06:52:00 2010, yazul wrote:
> > context : cygwin, Windows-XP. > > > > $colsth= $dbh->column_info($table_cat,$table_schem,$table_name,'%'); > > > > Can't call method "execute" on an undefined value at > > /usr/lib/perl5/site_perl/5.10/i686-cygwin/DBD/SQLite.pm line 519. > > > > i fixed the problem in this module : > > > > old : > > # Taken from Fey::Loader::SQLite > > my @cols; > > while ( my ($schema, $table) = $sth_tables->fetchrow_array ) { > > my $sth_columns = $dbh->prepare(qq{PRAGMA > > "$schema".table_info("$table")}); > > $sth_columns->execute; > > > > > > > > new : > > # Taken from Fey::Loader::SQLite > > my @cols; > > my $tbls; > > my ($schema, $table); > > while ( $tbls = $sth_tables->fetchrow_arrayref ) { > > $schema= $$tbls[0]; > > $table= $$tbls[1]; > > my $sth_columns = $dbh->prepare(qq{PRAGMA > > "$schema".table_info("$table")}); > > $sth_columns->execute; > > > > > > i hope this can help.
> >
From: bruno.darcet [...] yazul.net
No problem on linux systems. Problem only occurs on cygwin/winXp. Installation was not "clean", some errors and "force" used. Just consider this ticket is closed. Sorry for that ! Le Mer 03 Nov 2010 01:25:55, yazul a écrit : Show quoted text
> I'll try this in 3 days. > You're probably right : the same test is OK for a clean linux box (not > cygwin+winXP, ...). > > > Le Mar 02 Nov 2010 16:34:54, ISHIGAKI a écrit :
> > Hmm. Which version of DBI did you use? And did you install
DBD::SQLite Show quoted text
> > from CPAN, or just copy precompiled components from somewhere
> manually?
> > > > What your patch suggests is fetchrow_array (of DBI, not DBD::SQLite)
> is
> > broken or rather, your DBI is too old. Please reinstall or upgrade
DBI Show quoted text
> > and see if your problem still happens. As you see in the
Makefile.PL, Show quoted text
> > DBD::SQLite requires fairly recent version of DBI. > > > > On Tue Nov 02 06:52:00 2010, yazul wrote:
> > > context : cygwin, Windows-XP. > > > > > > $colsth= $dbh-
>column_info($table_cat,$table_schem,$table_name,'%');
> > > > > > Can't call method "execute" on an undefined value at > > > /usr/lib/perl5/site_perl/5.10/i686-cygwin/DBD/SQLite.pm line 519. > > > > > > i fixed the problem in this module : > > > > > > old : > > > # Taken from Fey::Loader::SQLite > > > my @cols; > > > while ( my ($schema, $table) = $sth_tables->fetchrow_array ) { > > > my $sth_columns = $dbh->prepare(qq{PRAGMA > > > "$schema".table_info("$table")}); > > > $sth_columns->execute; > > > > > > > > > > > > new : > > > # Taken from Fey::Loader::SQLite > > > my @cols; > > > my $tbls; > > > my ($schema, $table); > > > while ( $tbls = $sth_tables->fetchrow_arrayref ) { > > > $schema= $$tbls[0]; > > > $table= $$tbls[1]; > > > my $sth_columns = $dbh->prepare(qq{PRAGMA > > > "$schema".table_info("$table")}); > > > $sth_columns->execute; > > > > > > > > > i hope this can help.
> > > >
> >
OK. Closed as "rejected" (as I didn't change our code). As I mentioned before, please reinstall or upgrade DBI on your cygwin/winXP setup if you can (from CPAN, or if your cygwin package manager lists more recent DBI, just fetch it). Thanks. On 2010-11-07 Sun 17:16:02, yazul wrote: Show quoted text
> No problem on linux systems. > Problem only occurs on cygwin/winXp. > Installation was not "clean", some errors and "force" used. > > Just consider this ticket is closed. > Sorry for that ! > > Le Mer 03 Nov 2010 01:25:55, yazul a écrit :
> > I'll try this in 3 days. > > You're probably right : the same test is OK for a clean linux box
(not Show quoted text
> > cygwin+winXP, ...). > > > > > > Le Mar 02 Nov 2010 16:34:54, ISHIGAKI a écrit :
> > > Hmm. Which version of DBI did you use? And did you install
> DBD::SQLite
> > > from CPAN, or just copy precompiled components from somewhere
> > manually?
> > > > > > What your patch suggests is fetchrow_array (of DBI, not
DBD::SQLite) Show quoted text
> > is
> > > broken or rather, your DBI is too old. Please reinstall or
upgrade Show quoted text
> DBI
> > > and see if your problem still happens. As you see in the
> Makefile.PL,
> > > DBD::SQLite requires fairly recent version of DBI. > > > > > > On Tue Nov 02 06:52:00 2010, yazul wrote:
> > > > context : cygwin, Windows-XP. > > > > > > > > $colsth= $dbh-
> >column_info($table_cat,$table_schem,$table_name,'%');
> > > > > > > > Can't call method "execute" on an undefined value at > > > > /usr/lib/perl5/site_perl/5.10/i686-cygwin/DBD/SQLite.pm line
519. Show quoted text
> > > > > > > > i fixed the problem in this module : > > > > > > > > old : > > > > # Taken from Fey::Loader::SQLite > > > > my @cols; > > > > while ( my ($schema, $table) = $sth_tables-
>fetchrow_array ) {
> > > > my $sth_columns = $dbh->prepare(qq{PRAGMA > > > > "$schema".table_info("$table")}); > > > > $sth_columns->execute; > > > > > > > > > > > > > > > > new : > > > > # Taken from Fey::Loader::SQLite > > > > my @cols; > > > > my $tbls; > > > > my ($schema, $table); > > > > while ( $tbls = $sth_tables->fetchrow_arrayref ) { > > > > $schema= $$tbls[0]; > > > > $table= $$tbls[1]; > > > > my $sth_columns = $dbh->prepare(qq{PRAGMA > > > > "$schema".table_info("$table")}); > > > > $sth_columns->execute; > > > > > > > > > > > > i hope this can help.
> > > > > >
> > > >
> >