Gossamer Forum
Home : Products : Gossamer Links : Discussions :

Can't call method "rows" error. HELP!!

Quote Reply
Can't call method "rows" error. HELP!!
When attempting to Build Changed I received a Can't call method "rows" error and enabled debugging (see below) but I can't for the life of me figure out what changed in the last two days (the last time I ran Build Changed)PLEASE HELP!!
Started at Sat May 15 15:00:55 2004.
Creating backup file ... skipped
Resetting hits and rates ...
GT::SQL::Driver::MYSQL::sth (7216): Executing query: SELECT * FROM lsql_ClickTrack WHERE ( ( Created
< '2004-05-13' ) ) from Links::Build::build_reset_hits at (eval 5) line 9
GT::SQL::Driver::MYSQL::sth (7216): Query execution took: 0.001443s from Links::Build::build_reset_hits at (eval 5) line 9
GT::SQL::Driver::MYSQL::sth (7216): Executing query: DELETE FROM lsql_ClickTrack WHERE ( Created
< '2004-05-13' ) from Links::Build::build_reset_hits at (eval 5) line 9
GT::SQL::Driver::MYSQL::sth (7216): Query execution took: 0.000814s from Links::Build::build_reset_hits at (eval 5) line 9
Done (3.14 s)
Updating New Flags ...
GT::SQL::Driver::MYSQL::sth (7216): Executing query: SELECT COUNT(*) FROM lsql_Links WHERE ( isNew = 'Yes' AND Add_Date < '2004-05-08' AND isValidated = 'Yes' ) from Links::Build::build_new_flags at (eval 14) line 17
GT::SQL::Driver::MYSQL::sth (7216): Query execution took: 0.136478s from Links::Build::build_new_flags at (eval 14) line 17
GT::SQL::Driver::MYSQL::sth (7216): Executing query: SELECT COUNT(*) FROM lsql_Links WHERE ( isNew = 'No' AND Add_Date >= '2004-05-08' AND isValidated = 'Yes' ) from Links::Build::build_new_flags at (eval 14) line 26
GT::SQL::Driver::MYSQL::sth (7216): Query execution took: 0.286694s from Links::Build::build_new_flags at (eval 14) line 26
Done (1.63 s)
Updating Changed Flags ...
GT::SQL::Driver::MYSQL::sth (7216): Executing query: SELECT COUNT(*) FROM lsql_Links WHERE ( ( isChanged = 'Yes' AND Mod_Date < '2004-05-08' AND isValidated = 'Yes' ) OR ( isChanged = 'Yes' AND isNew = 'Yes' AND isValidated = 'Yes' ) ) from Links::Build::build_changed_flags at (eval 22) line 24
GT::SQL::Driver::MYSQL::sth (7216): Query execution took: 0.119729s from Links::Build::build_changed_flags at (eval 22) line 24
GT::SQL::Driver::MYSQL::sth (7216): Executing query: SELECT COUNT(*) FROM lsql_Links WHERE ( isChanged = 'No' AND Mod_Date >
= '2004-05-08' AND Add_Date < '2004-05-08' ) from Links::Build::build_changed_flags at (eval 22) line 33
GT::SQL::Driver::MYSQL::sth (7216): Query execution took: 1.084679s from Links::Build::build_changed_flags at (eval 22) line 33
Done (1.22 s)
Updating Cool Flags ...
GT::SQL::Driver::MYSQL::sth (7216): Executing query: SELECT COUNT(*) FROM lsql_CatLinks from Links::Build::_grand_total at /home/sites/www.aaa.com/web/db/admin/Links/Build.pm line 977
GT::SQL::Driver::MYSQL::sth (7216): Query execution took: 0.000812s from Links::Build::_grand_total at /home/sites/www.aaa.com/web/db/admin/Links/Build.pm line 977
GT::SQL::Driver::MYSQL::sth (7216): Executing query: SELECT COUNT(*) FROM lsql_Links WHERE isValidated = 'No' from Links::Build::_grand_total at /home/sites/www.aaa.com/web/db/admin/Links/Build.pm line 978
GT::SQL::Driver::MYSQL::sth (7216): Query execution took: 0.000983s from Links::Build::_grand_total at /home/sites/www.aaa.com/web/db/admin/Links/Build.pm line 978
GT::SQL::Driver::MYSQL::sth (7216): Executing query: SELECT ID,Hits,isPopular FROM lsql_Links WHERE isValidated = 'Yes'
ORDER BY Hits DESC
LIMIT 35 from Links::Build::build_cool_flags at (eval 23) line 19
GT::SQL::Table (7216): Failed to execute query: 'SELECT ID,Hits,isPopular FROM lsql_Links WHERE isValidated = ?
ORDER BY Hits DESC
LIMIT 35' Reason: Got error 134 from table handler at /home/sites/www.aaa.com/web/db/admin/GT/SQL/Driver/MYSQL.pm line 117.
A fatal error has occured:Can't call method "rows" on an undefined value at (eval 23) line 20.
Please enable debugging in setup for more details.
Stack Trace
======================================
Links (7216): Links::environment called at /home/sites/www.aaa.com/web/db/admin/Links.pm line 431 with no arguments.
Links (7216): Links::fatal called at (eval 23) line 20 with arguments
(Can't call method "rows" on an undefined value at (eval 23) line 20.
).
Links (7216): Links::Build::build_cool_flags called at /home/sites/www.aaa.com/web/db/admin/GT/Plugins.pm line 91 with arguments
(HASH(0x82aa5c8)).
Links (7216): GT::Plugins::dispatch called at /home/sites/www.aaa.com/web/db/admin/Links/Build.pm line 30 with arguments
(GT::Plugins, /home/sites/www.aaa.com/web/db/admin/Plugins, build_cool_flags, *Links::Build::build_cool_flags, HASH(0x82aa5c8)).
Links (7216): Links::Build::build called at /home/sites/site189/web/db/admin/nph-build.cgi line 677 with arguments
(cool_flags, HASH(0x82aa5c8)).
Links (7216): main::_build_cool_flags called at /home/sites/site189/web/db/admin/nph-build.cgi line 117 with no arguments.
Links (7216): main::build_changed called at /home/sites/site189/web/db/admin/nph-build.cgi line 39 with no arguments.
Links (7216): main::main called at /home/sites/site189/web/db/admin/nph-build.cgi line 30 with no arguments.

System Information
======================================
Perl Version: 5.00503
Links SQL Version: 2.1.2
DBI.pm Version: 1.35
Persistant Env: mod_perl (0) SpeedyCGI (0)
GT::SQL::error = Failed to execute query: 'SELECT ID,Hits,isPopular FROM lsql_Links WHERE isValidated = ?
ORDER BY Hits DESC
LIMIT 35' Reason: Got error 134 from table handler
@INC =
/home/sites/www.aaa.com/web/db/admin
/usr/lib/perl5/5.00503/i386-linux
/usr/lib/perl5/5.00503
/usr/lib/perl5/site_perl/5.005/i386-linux
/usr/lib/perl5/site_perl/5.005
.
CGI INPUT
======================================
do => changed

CGI Cookies
======================================
aaa.com Recipes Forum => tp::
WebBBS Master => nm::

ENVIRONMENT
======================================
AUTH_TYPE => Basic
DOCUMENT_ROOT => /home/sites/site189/web
GATEWAY_INTERFACE => CGI/1.1
GT_TMPDIR => /home/sites/www.aaa.com/web/db/admin/tmp
HTTP_ACCEPT => image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, */*
HTTP_ACCEPT_ENCODING => gzip, deflate
HTTP_ACCEPT_LANGUAGE => en-ca
HTTP_CONNECTION => Keep-Alive
HTTP_COOKIE => WebBBS+Master=nm%3A%3A%26em%3A%3A%26wn%3A%3A%26pw%3A%3A; aaa.com+Recipes+Forum=tp%3A%3A%26tm%3A%3A%26m1%3A%3A161%26v1%3A%3A1082797187%26m2%3A%3A167%26v2%3A%3A1084461890%26ts%3A%3A1084462940%26uf%3A%3A
HTTP_HOST => www.aaa.com
HTTP_REFERER => http://www.aaa.com/db/admin/admin.cgi?page=home_left.html
HTTP_USER_AGENT => Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Alexa Toolbar; .NET CLR 1.1.4322)
PATH => /sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
PATH_INFO => /db/admin/nph-build.cgi
PATH_TRANSLATED => /home/sites/site189/web/db/admin/nph-build.cgi
QUERY_STRING => do=changed
REDIRECT_QUERY_STRING => do=changed
REDIRECT_SCRIPT_URI => http://www.aaa.com/db/admin/nph-build.cgi
REDIRECT_SCRIPT_URL => /db/admin/nph-build.cgi
REDIRECT_STATUS => 200
REDIRECT_UNIQUE_ID => QKZo49jqvDwAAEKqrm4
REDIRECT_URL => /db/admin/nph-build.cgi
REMOTE_ADDR => 64.228.46.73
REMOTE_PORT => 3619
REMOTE_USER => kriis
REQUEST_METHOD => GET
REQUEST_URI => /db/admin/nph-build.cgi?do=changed
SCRIPT_FILENAME => /home/sites/site189/web/db/admin/nph-build.cgi
SCRIPT_NAME => /db/admin/nph-build.cgi
SCRIPT_URI => http://www.aaa.com/db/admin/nph-build.cgi
SCRIPT_URL => /db/admin/nph-build.cgi
SERVER_ADDR => 216.234.188.60
SERVER_ADMIN => admin
SERVER_NAME => www.aaa.com
SERVER_PORT => 80
SERVER_PROTOCOL => HTTP/1.1
SERVER_SIGNATURE =>
SERVER_SOFTWARE => Apache/1.3.20 Sun Cobalt (Unix) Chili!Soft-ASP/3.6.2 mod_ssl/2.8.4 OpenSSL/0.9.6b PHP/4.1.2 mod_auth_pam_external/0.1 FrontPage/4.0.4.3 mod_perl/1.25
UNIQUE_ID => QKZo49jqvDwAAEKqrm4
Can't call method "rows" on an undefined value at (eval 23) line 20.


--

Kriis
Quote Reply
Re: [kriis] Can't call method "rows" error. HELP!! In reply to
Error 134 means that your table is corrupt and needs repairing.
Quote Reply
Re: [afinlr] Can't call method "rows" error. HELP!! In reply to
In Reply To:
Error 134 means that your table is corrupt and needs repairing.


Which table and can you describe the repair method using PHPadmin?

(P.S. Thanks so much for your response)

--

Kriis

Last edited by:

kriis: May 15, 2004, 12:36 PM
Quote Reply
Re: [kriis] Can't call method "rows" error. HELP!! In reply to
It looks like the Links table.

Please make sure that you have a backup of the database before you do any of this - just in case.

I would go to admin->database->SQL Monitor and type

REPAIR TABLE lsql_Links

and see whether that fixes it. If not you'll need to use myisamchk.

More details can be found here:
http://dev.mysql.com/...ble_maintenance.html
Quote Reply
Re: [afinlr] Can't call method "rows" error. HELP!! In reply to
That was exactly it, thanks kindly.

If you are bored or have a few precious moments, could you quote the portions of the error message which indicated to you what was the problem? I would like to be able to decifer this stuff for myself if possible.

Thanks again for your help!

--

Kriis
Quote Reply
Re: [kriis] Can't call method "rows" error. HELP!! In reply to
Wink Here is the relevant part:

System Information
======================================
Perl Version: 5.00503
Links SQL Version: 2.1.2
DBI.pm Version: 1.35
Persistant Env: mod_perl (0) SpeedyCGI (0)
GT::SQL::error = Failed to execute query: 'SELECT ID,Hits,isPopular FROM lsql_Links WHERE isValidated = ?
ORDER BY Hits DESC
LIMIT 35' Reason: Got error 134 from table handler