DBIers, Got a complaint about a “fetch() without execute()” error. Asked for a trace, got this. Looks like it’s coming from selectrow_hashref()? That shouldn’t happen, right?
> $ DBI_TRACE=1 sqitch status
> DBI 1.630-ithread default trace level set to 0x0/1 (pid 3381 pi ed2010)
> at DBI.pm line 288 via DBIEngine.pm line 7
> # On database sqitch_testing
> -> DBI->connect(dbi:mysql:database=sqitch, root, ****, HASH(0x2b00a28))
> -> DBI->install_driver(mysql) for linux perl=5.018002 pid=3381 ruid=1000
> euid=1000
> install_driver: DBD::mysql version 4.031 loaded from
> /usr/local/lib/perl/5.18.2/DBD/mysql.pm
> <- install_driver= DBI::dr=HASH(0x1c118e8)
> !! The warn '0' was CLEARED by call to connect method
> <- connect('database=sqitch', 'root', ...)= ( DBI::db=HASH(0x2b9eac0) )
> [1 items] at DBI.pm line 671
> <- STORE('RaiseError', 0)= ( 1 ) [1 items] at DBI.pm line 723
> <- STORE('PrintError', 0)= ( 1 ) [1 items] at DBI.pm line 723
> <- STORE('AutoCommit', 1)= ( 1 ) [1 items] at DBI.pm line 723
> <- STORE('HandleError', CODE(0x278aa80))= ( 1 ) [1 items] at DBI.pm line
> 726
> <- STORE('mysql_auto_reconnect', 0)= ( 1 ) [1 items] at DBI.pm line 726
> <- STORE('Callbacks', HASH(0x2ae94d0))= ( 1 ) [1 items] at DBI.pm line 726
> <- STORE('mysql_enable_utf8', 1)= ( 1 ) [1 items] at DBI.pm line 726
> <- STORE('mysql_use_result', 0)= ( 1 ) [1 items] at DBI.pm line 726
> <- STORE('Username', 'root')= ( 1 ) [1 items] at DBI.pm line 726
> {{ connected callback CODE(0x278ac78) being invoked
> }} connected callback CODE(0x278ac78) returned
> <- connected('dbi:mysql:database=sqitch', 'root', ...)= ( undef ) [1
> items] at DBI.pm line 733
> <- connect= DBI::db=HASH(0x2b9eac0)
> <- STORE('dbi_connect_closure', CODE(0x1c11b10))= ( 1 ) [1 items] at
> DBI.pm line 742
> <- FETCH('mysql_serverinfo')= ( '5.6.17-0ubuntu0.14.04.1-log' ) [1 items]
> at mysql.pm line 106
> <- FETCH('mysql_serverversion')= ( '50617' ) [1 items] at mysql.pm line
> 109
> !! The ERROR '1038' was CLEARED by call to fetchrow_hashref method
> !! The ERROR '4' was CLEARED by call to fetch method
> ERROR: 19 'fetch() without execute()' (err#0)
> <- DESTROY(DBI::st=HASH(0x2ae9638))= ( undef ) [1 items] at DBI.pm line
> 1639
> !! ERROR: 19 'fetch() without execute()' (err#0)
> <- selectrow_hashref('
> SELECT c.change_id
> , c.script_hash
> , c.change
> , c.project
> , c.note
> , c.committer_name
> , c.committer_email
> , date_format(c.committed_at,
> 'year:%Y:month:%m:day:%d:hour:%H:minute:%i:second:%S:time_zone:UTC') AS
> committed_at
> , c.planner_name
> , c.planner_email
> , date_format(c.planned_at,
> 'year:%Y:month:%m:day:%d:hour:%H:minute:%i:second:%S:time_zone:UTC') AS
> planned_at
> , group_concat(t.tag SEPARATOR ' ') AS tags
> FROM changes c
> LEFT JOIN tags t ON c.change_id = t.change_id
> WHERE c.project = ?
> GROUP BY c.change_id
> , c.script_hash
> , c.change
> , c.project
> , c.note
> , c.committer_name
> , c.committer_email
> , c.committed_at
> , c.planner_name
> , c.planner_email
> , c.planned_a...', undef, ...)= ( undef ) [1 items] at
> DBIEngine.pm line 116
> -> HandleError on DBI::db=HASH(0x2b9ea48) via CODE(0x278aa80) (undef)
> <- $DBI::state= 'S1000'
> <- $DBI::state= 'S1000'
> <- $DBI::state= 'S1000'
> <- $DBI::state= 'S1000'
> <- $DBI::state= 'S1000'
> !! The ERROR '19' was CLEARED by call to selectcol_arrayref method
> <- DESTROY(DBI::st=HASH(0x2ae94b8))= ( undef ) [1 items] at mysql.pm line
> 218
> <- selectcol_arrayref('
> SELECT COUNT(*)
> FROM information_schema.tables
> WHERE table_schema = ?
> AND table_name = ?
> ', undef, ...)= ( [ '1' ] ) [1 items] at mysql.pm line 218
> <- DESTROY(DBI::db=HASH(0x2b9ea48))= ( undef ) [1 items] at Tiny.pm line
> 88
> fetch() without execute()
> <- disconnect_all= ( ) [0 items] (not implemented) at DBI.pm line 750
> ! <- DESTROY(DBI::dr=HASH(0x1c119a8))= ( undef ) [1 items] during global
> destruction
Thanks,
David
smime.p7s
Description: S/MIME cryptographic signature
