pike.git/lib/modules/Sql.pmod/pgsql.pike:990: Inside #if defined(PG_STATS)
plugbuffer->sendcmd(KEEP);
#ifdef PG_STATS
skippeddescribe++;
#endif
portal->_setrowdesc(tp.datarowdesc, tp.datarowtypes);
}
if ((portal._tprepared=tp) && tp.datatypeoid) {
mixed e = catch(portal->_preparebind(tp.datatypeoid));
if (!this) // Already destructed?
throw(e);
- if (e && !portal.delayederror) {
- portal._unnamedstatementkey = 0; // Release early, release often
+ if (e) {
+ portal->_purgeportal();
+ if (!portal.delayederror)
throw(e);
}
}
if (!proxy.unnamedstatement)
portal._unnamedstatementkey = 0; // Cover for a destruct race
}
}
//! This is the only provided direct interface which allows you to query the
//! database. A simpler synchronous interface can be used through @[query()].