pike.git
/
lib
/
modules
/
Sql.pmod
/
pgsql_util.pmod
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:1564:
} stmtifkey = pgsqlsess->statementsinflight->acquire(); } statuscmdcomplete = 0; pgsqlsess->wasparallelisable = paralleliseprefix->match(_query); } final void _releasestatement() { Thread.MutexKey lock = closemux->lock(); if (_state <= BOUND) {
-
_state = COMMITTED;
+
stmtifkey = 0;
-
+
_state = COMMITTED;
} } final void _bindportal() { Thread.MutexKey lock = closemux->lock(); _state = BOUND; portalsifkey = pgsqlsess->portalsinflight->acquire(); } final void _purgeportal() { PD("Purge portal\n"); datarows->write(1); // Signal EOF { Thread.MutexKey lock = closemux->lock(); _fetchlimit = 0; // disables further Executes
-
switch
(_state)
{
-
case COPYINPROGRESS:
-
case COMMITTED:
-
case BOUND:
-
portalsifkey = 0;
-
}
-
switch (_state) {
-
case BOUND:
-
case PARSING:
-
stmtifkey = 0;
-
}
+
stmtifkey
=
portalsifkey = 0;
_state = PURGED; } releaseconditions(); } final int _closeportal(conxsess cs, array(Thread.MutexKey) reflock) { void|bufcon|conxsess plugbuffer = CHAIN(cs); int retval = KEEP; PD("%O Try Closeportal %d\n", _portalname, _state); _fetchlimit = 0; // disables further Executes
-
+
stmtifkey = 0;
switch (_state) {
-
case PARSING:
-
case BOUND:
-
_state = COMMITTED; // Avoid _releasestatement() to prevent
-
stmtifkey = 0; // lock recursion and lock inversion deadlock
-
}
-
switch (_state) {
+
case PORTALINIT: case PARSING: _unnamedstatementkey = 0; _state = CLOSING; break; case COPYINPROGRESS: PD("CopyDone\n"); plugbuffer->add("c\0\0\0\4"); case COMMITTED: case BOUND:
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:1704:
statuscmdcomplete = statusccomplete; _ddescribe->broadcast(); } inflight = 0; conxsess plugbuffer; array(Thread.MutexKey) reflock = ({closemux->lock()}); if (!catch(plugbuffer = c->start())) plugbuffer->sendcmd(_closeportal(plugbuffer, reflock)); reflock = 0; if (_state < CLOSED) {
-
_state = CLOSED;
+
stmtifkey = 0;
-
+
_state = CLOSED;
} datarows->write(1); // Signal EOF releaseconditions(); } protected void _destruct() { catch { // inside destructors, exceptions don't work _releasesession(); }; }