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

version» Context lines:

pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:246:    PD("%d>%O %d %d Queue portal %d bytes\n",socket->query_fd(),    portal._portalname,++queueoutidx,synctransact,sizeof(this));    }       final conxion|bufcon start(void|int waitforreal) {    Thread.MutexKey lock;    if(lock=(waitforreal?nostash->lock:nostash->trylock)(1)) {    started=lock;    lock=shortmux->lock();    if(stashcount) -  stashavail.wait(lock); +  PT(stashavail.wait(lock));    add(stash); stash->clear();    foreach(stashqueue->try_read_array();;sql_result portal)    queueup(portal);    lock=0;    return this;    }    stashcount++;    return bufcon(this);    }   
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:534:    if(_tprepared) {    _tprepared.trun=gethrtime()-_tprepared.trunstart;    m_delete(_tprepared,"trunstart");    _tprepared = UNDEFINED;    }    }       private void waitfordescribe() {    Thread.MutexKey lock=_ddescribemux->lock();    if(!datarowtypes) -  _ddescribe->wait(lock); +  PT(_ddescribe->wait(lock));    lock=0;    }       //! @seealso    //! @[Sql.sql_result()->num_fields()]    /*semi*/final int num_fields() {    if(!datarowtypes)    waitfordescribe();    trydelayederror();    return sizeof(datarowtypes);
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:825:    lock=_unnamedstatementkey=0;    else {    plugbuffer->add_int16(sizeof(datarowtypes));    if(sizeof(datarowtypes))    plugbuffer->add_ints(map(datarowtypes,oidformat),2);    else if(!paralleliseprefix->match(_query)) {    lock=pgsqlsess->_shortmux->lock();    if(pgsqlsess->_portalsinflight) {    pgsqlsess->_waittocommit++;    PD("Commit waiting for portals to finish\n"); -  pgsqlsess->_readyforcommit->wait(lock); +  PT(pgsqlsess->_readyforcommit->wait(lock));    pgsqlsess->_waittocommit--;    }    }    lock=0;    PD("Bind portal %O statement %O\n",_portalname,_preparedname);    _fetchlimit=pgsqlsess->_fetchlimit;    _openportal();    conxion bindbuffer=c->start(1);    _unnamedstatementkey=0;    bindbuffer->add_int8('B')->add_hstring(plugbuffer,4,4);
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:1004:    //! @seealso    //! @[eof()], @[send_row()]    /*semi*/final array(mixed) fetch_row() {    int|array datarow;    if(arrayp(datarow=datarows->try_read()))    return datarow;    if(!eoffound) {    if(!datarow) {    PD("%O Block for datarow\n",_portalname);    array cid=callout(gottimeout,timeout); -  datarow=datarows->read(); +  PT(datarow=datarows->read());    local_backend->remove_call_out(cid);    if(arrayp(datarow))    return datarow;    }    eoffound=1;    datarows->write(1); // Signal EOF for other threads    }    trydelayederror();    return 0;    }
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:1030:    //! as a single string containing the entire row.    //!    //! @seealso    //! @[eof()], @[fetch_row()]    /*semi*/final array(array(mixed)) fetch_row_array() {    if(eoffound)    return 0;    array(array|int) datarow=datarows->try_read_array();    if(!datarow) {    array cid=callout(gottimeout,timeout); -  datarow=datarows->read_array(); +  PT(datarow=datarows->read_array());    local_backend->remove_call_out(cid);    }    if(arrayp(datarow[-1]))    return datarow;    trydelayederror();    eoffound=1;    datarows->write(1); // Signal EOF for other threads    return (datarow=datarow[..<1]);    }   
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:1068:    } else    _releasesession();    }       private void run_result_cb(    function(sql_result, array(mixed), mixed ...:void) callback,    array(mixed) args) {    int|array datarow;    for(;;) {    array cid=callout(gottimeout,timeout); -  datarow=datarows->read(); +  PT(datarow=datarows->read());    local_backend->remove_call_out(cid);    if(!arrayp(datarow))    break;    callout(callback, 0, this, datarow, @args);    }    trydelayederror();    eoffound=1;    callout(callback, 0, this, 0, @args);    }   
pike.git/lib/modules/Sql.pmod/pgsql_util.pmod:1098:    if(callback)    Thread.Thread(run_result_cb,callback,args);    }       private void run_result_array_cb(    function(sql_result, array(array(mixed)), mixed ...:void) callback,    array(mixed) args) {    array(array|int) datarow;    for(;;) {    array cid=callout(gottimeout,timeout); -  datarow=datarows->read_array(); +  PT(datarow=datarows->read_array());    local_backend->remove_call_out(cid);    if(!datarow || !arrayp(datarow[-1]))    break;    callout(callback, 0, this, datarow, @args);    }    trydelayederror();    eoffound=1;    if(sizeof(datarow)>1)    callout(callback, 0, this, datarow=datarow[..<1], @args);    callout(callback, 0, this, 0, @args);