Re: Why is selectrow_hashref complaining about a fetch without execute?

Tim Bunce <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <[email protected]>
On Mon, Jul 13, 2015 at 03:53:43PM -0700, David E. Wheeler wrote:
>    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

Trace level 1 is handy when you just want a summary of what's going on.
If something odd is happening then you'd want at least trace level 2
so you see the method _calls_ as well as the _returns_.
For investigating mysterious happenings then higher trace levels,
like 4 thru 15, are more appropriate. 4 is usually sufficient.

I can't see anything obvious from this trace. Come back with a level 4
trace and hopefully that'll shed sufficient light.

Tim.

>      <- 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.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
>    Reverse link: [1]unknown
> 
> References
> 
>    Visible links
>    1. https://github.com/theory/sqitch/issues/235#issuecomment-120180277
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.