Closed
Bug 100259
Opened 24 years ago
Closed 24 years ago
known install issues: DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS
Categories
(Bugzilla :: Documentation, defect, P1)
Tracking
()
RESOLVED
FIXED
Bugzilla 2.16
People
(Reporter: haakon.dybdahl, Assigned: bz)
References
Details
Attachments
(1 file)
|
3.98 KB,
text/plain
|
Details |
Had to change sponge.pm (/Perl/site/lib/DBD), line 63 and line 64 from
} elsif ($attribs->{'NAME'}) {
$numFields = @{$attribs->{NAME}};
to
} elsif ($attribs->{'NAMES'}) {
$numFields = @{$attribs->{NAMES}};
Using following versions:
Checking perl modules ...
Checking for DBI (v1.13) ok: found v1.14
Checking for Data::Dumper (any) ok: found v2.102
Checking for DBD::mysql (v1.2209) ok: found v2.0400
Checking for Date::Parse (any) ok: found v2.20
Checking for CGI::Carp (any) ok: found v1.20
The following Perl modules are optional:
Checking for GD (v1.19) ok: found v1.27
Checking for Chart::Base (v0.99) ok: found v0.99
Checking for XML::Parser (any) ok: found v2.27
Error shown:
DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/l
ib/DBD/mysql.pm line 248.
SV = NULL(0x0) at 0x20fc444
REFCNT = 1
FLAGS = (PADBUSY,PADMY)
Use of uninitialized value in subroutine entry at D:/Perl/site/lib/DBD/mysql.pm
line 250 (#1)
(W uninitialized) An undefined value was used as if it were already
defined. It was interpreted as a "" or a 0, but maybe it was a mistake.
To suppress this warning assign a defined value to your variables.
To help you figure out what was undefined, perl tells you what operation
you used the undefined value in. Note, however, that perl optimizes your
program and the operation displayed in the warning may not necessarily
appear literally in your program. For example, "that $foo" is
usually optimized into "that " . $foo, and the warning will refer to
the concatenation (.) operator, even though there is no . in your
program.
Uncaught exception from user code:
Invalid DBI handle at D:/Perl/site/lib/DBD/mysql.pm line 250.
DBD::mysql::db::table_info('DBI::db=HASH(0x1e3dbf0)') called at D:/Perl/
site/lib/DBI.pm line 1016
DBD::_::db::tables('DBI::db=HASH(0x1e3dbf0)') called at C:\bugzilla\sour
ce\checksetup.pl line 1137
Thanks to psycko-hacker Harald Bakken for great help!
Comment 1•24 years ago
|
||
This is not a Bugzilla bug, but a bug in the DBD::mysql module, which we have no
power over. Bug reports and support for this module are handled on a mailing
list... please report it there. From the DBD::mysql docs:
This module is maintained and supported on a mailing list,
msql-mysql-modules@lists.mysql.com
To subscribe to this list, send a mail to
msql-mysql-modules-subscribe@lists.mysql.com
or
msql-mysql-modules-digest-subscribe@lists.mysql.com
Mailing list archives are available at
http://www.progressive-comp.com/Lists/?l=msql-mysql-modules
Additionally you might try the dbi-user mailing list for questions about DBI and
its modules in general. Subscribe via
http://www.fugue.com/dbi
Mailing list archives are at
http://www.rosat.mpe-garching.mpg.de/mailing-lists/PerlDB-Interest/
http://outside.organic.com/mail-archives/dbi-users/
http://www.coe.missouri.edu/~faq/lists/dbi.html
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → INVALID
Comment 2•24 years ago
|
||
*** Bug 101639 has been marked as a duplicate of this bug. ***
Comment 3•24 years ago
|
||
*** Bug 101920 has been marked as a duplicate of this bug. ***
Comment 4•24 years ago
|
||
If this is a bug in DBD::MySQL, however, it needs to be documented.
Are there any older versions of DBD::MySQL which, perhaps, work correctly?
Reopening, assigning to myself.
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
Updated•24 years ago
|
Status: NEW → ASSIGNED
Comment 7•24 years ago
|
||
*** Bug 103741 has been marked as a duplicate of this bug. ***
Updated•24 years ago
|
Priority: -- → P1
Target Milestone: --- → Bugzilla 2.16
Comment 8•24 years ago
|
||
Comment 9•24 years ago
|
||
David Mooney emailed me the above file privately.
On 11/2/01 4:50 PM -0500, David Mooney wrote:
> I figured this problem out a couple of months ago but I don't remember where
> I found the answer. It turns out there is a bug is sponge.pm and you have to
> fix it yourself because apparently the official fix hasn't been released
> yet.
>
> Attached is the correct sponge.pm. Backup your original copy just in case
> but this should fix the problem.
>
> It goes in d:\perl\site\lib\DBD\ or whatever your perl path is.
>
> Matt: Perhaps you could add this to the win32 section of your install docs?
Comment 10•24 years ago
|
||
This is not just a W2K bug but affects all systems using DBD:mysql. We
encountered this issue on W2K as well as on Debin.
Status: ASSIGNED → NEW
Comment 11•24 years ago
|
||
*** Bug 129991 has been marked as a duplicate of this bug. ***
Comment 12•24 years ago
|
||
Rudolf: are you sure? We use Debian (Potato) on our test server
(http://landfill.bugzilla.org) and have never run into this. Of course, we used
CPAN to install our Perl modules and not the Debian packages... Since the CPAN
versions (which are built from source) don't have this problem, I'd file a bug
on Debian if that's true.
Comment 13•24 years ago
|
||
Dave: We're using Debian 2.2 (Potato) and the modules from the distribution,
though we fiddled around a bit with Perl so I'm not exactly sure whether or not
these are still the original versions:
> Checking perl modules ...
> Checking for DBI (v1.13) ok: found v1.13
> Checking for Data::Dumper (any) ok: found v2.101
> Checking for DBD::mysql (v1.2209) ok: found v2.0402
> Checking for Date::Parse (any) ok: found v2.22
> Checking for CGI::Carp (any) ok: found v1.13
I rather think we got DBD::myperl (v2.0402) from somewhere other than the
stable Debian distribution. :-)
Anyway, the point is that this isn't primarily a platform dependent issue.
Comment 14•24 years ago
|
||
from npmw:
So in 2 words, if someone encounters the following problem:
"DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at
D:/Perl/site/l
ib/DBD/mysql.pm line 248.
SV = NULL(0x0) at 0x20fc444
REFCNT = 1
FLAGS = (PADBUSY,PADMY)"
just go to Perl/sit/lib/DBD/sponge.pm in your perl installation and replace
my $numFields;
if ($attribs->{'NUM_OF_FIELDS'}) {
$numFields = $attribs->{'NUM_OF_FIELDS'};
} elsif ($attribs->{'NAME'}) {
$numFields = @{$attribs->{NAME}};
by
my $numFields;
if ($attribs->{'NUM_OF_FIELDS'}) {
$numFields = $attribs->{'NUM_OF_FIELDS'};
} elsif ($attribs->{'NAMES'}) {
$numFields = @{$attribs->{NAMES}};
( note the S to NAME )
Cedric Perthuis.
Updated•24 years ago
|
Summary: checksetup.pl fails during creation of tables → known install issues: DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS
Comment 15•24 years ago
|
||
Barnboy changed his email address and opened a new account instead of having the
address changed on his existing one. Reassigning all docs bugs to his new account.
Assignee: barnboy → mbarnson
Comment 16•24 years ago
|
||
*** Bug 136918 has been marked as a duplicate of this bug. ***
Comment 17•24 years ago
|
||
This could go in Installation General Notes (3.5).
Gerv
Comment 18•24 years ago
|
||
Documented in Troubleshooting section on 2.16 branch.
Gerv
Status: NEW → RESOLVED
Closed: 24 years ago → 24 years ago
Resolution: --- → FIXED
Comment 19•24 years ago
|
||
*** Bug 154595 has been marked as a duplicate of this bug. ***
Updated•13 years ago
|
QA Contact: matty_is_a_geek → default-qa
You need to log in
before you can comment on or make changes to this bug.
Description
•