pike.git / lib / modules / Sql.pmod / pgsql_util.pmod

version» Context lines:

pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:22:       int write(string|array(string) data) {    }       int getchar() {    }       int close() {    }    +  private final array(string) cmdbuf=({}); +    #ifdef USEPGsql    inherit _PGsql.PGsql;   #else    object portal;       void setportal(void|object newportal) {    portal=newportal;    }       inline int(-1..1) bpeek(int timeout) {
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:105:       inline final string plugint64(int x) {    return sprintf("%c%c%c%c%c%c%c%c",x>>56&255,x>>48&255,x>>40&255,x>>32&255,    x>>24&255,x>>16&255,x>>8&255,x&255);    }       final void sendflush() {    sendcmd(({}),1);    }    -  final int sendcmd(string|array(string) data,void|int flush) { -  if(flush) { -  if(stringp(data)) -  data=({data,FLUSH}); +  final void sendcmd(string|array(string) data,void|int flush) { +  if(arrayp(data)) +  cmdbuf+=data;    else -  data+=({FLUSH}); +  cmdbuf+=({data}); +  switch(flush) { +  case 3: +  cmdbuf+=({FLUSH}); +  flushed=1; +  break; +  default: +  flushed=0; +  break; +  case 1: +  cmdbuf+=({FLUSH});    PD("Flush\n"); -  +  case 2:    flushed=1; -  +  write(cmdbuf); +  cmdbuf=({});    } -  else if(flushed!=-1) -  flushed=0; -  return write(data); +     }       final void sendterminate() {    PD("Terminate\n"); -  sendcmd(({"X",plugint32(4)})); +  sendcmd(({"X",plugint32(4)}),2);    close();    }   }      class PGconn {       inherit PGassist:pg;   #ifdef UNBUFFEREDIO    inherit Stdio.File:std;   
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:365: Inside #if undefined(NO_LOCKING)
  #ifndef NO_LOCKING    Thread.MutexKey fetchmtxkey = fetchmutex.lock();   #endif    if(!buffer && sizeof(_datarows))    return getdatarow();    if(copyinprogress) {    fetchmtxkey = UNDEFINED;    if(stringp(buffer)) {    PD("CopyData\n");    _pgsqlsess._c.sendcmd(({"d",_pgsqlsess._c.plugint32(4+sizeof(buffer)), -  buffer})); +  buffer}),2);    }    else    releasesession();    return UNDEFINED;    }    mixed err;    if(buffer!=2 && (err=delayederror)) {    delayederror=UNDEFINED;    throw(err);    }