On Sun, Nov 03, 2013 at 03:08:07PM -0000, Greg Sabino Mullane wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: RIPEMD160 > > > DBD::Pg gathers up information for foreign_key_info > and then uses DBD::Sponge to turn it into a statement > handle which is passed back to the caller.
And the DBD::Sponge handle contains all the row data that'll it'll then return row by row on each fetch call. Ok. > The problem > is that the imp_dbh has a user-settable flag (pg_expand_array) > which should always be off inside of dbd_st_fetch. What > I need is some way to detect, inside of dbdimp.c, that the > statement handle (imp_sth at this level) came from DBD::Sponge. If the statement handle came from DBD::Sponge then why would DBD::Pg's fetch method be executed? When a row is fetched from a DBD::Sponge statement handle DBD::Pg won't be involved at all. Perhaps you could rewind and explain what the higher-level problem is. Tim.