diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod index 7c33a8272d3c9f73b51f40b69c53c8d84cfb1692..82ef4f6907f0891f3a75e1971d9634b62105238b 100644 --- a/lib/modules/Sql.pmod/pgsql_util.pmod +++ b/lib/modules/Sql.pmod/pgsql_util.pmod @@ -152,12 +152,6 @@ final int oidformat(int oid) { return 0; // text } -private int mergemode(conxion realbuffer,int mode) { - if(mode>realbuffer->stashflushmode) - realbuffer->stashflushmode=mode; - return realbuffer->stashflushmode; -} - private inline mixed callout(function(mixed ...:void) f, float|int delay,mixed ... args) { return local_backend->call_out(f,delay,@args); @@ -204,7 +198,10 @@ class bufcon { } } realbuffer->stash->add(this); - mergemode(realbuffer, mode); + PD("%d>Got stash mode %d > %d\n", + realbuffer->socket->query_fd(), mode, realbuffer->stashflushmode); + if (mode > realbuffer->stashflushmode) + realbuffer->stashflushmode = mode; if(!--realbuffer->stashcount) realbuffer->stashavail.signal(); lock=0; @@ -349,7 +346,10 @@ class conxion { qportals->write(synctransact++); else queueup(portal); - mode = mergemode(this, mode); + PD("%d>Got stash mode %d > %d\n", + socket->query_fd(), stashflushmode, mode); + if (stashflushmode > mode) + mode = stashflushmode; stashflushmode = KEEP; } return mode; @@ -391,7 +391,6 @@ outer: case FLUSHSEND: PD("Flush\n"); add(PGFLUSH); - case SYNCSEND: case SENDOUT:; } if(towrite=sizeof(this)) {