Branch: Tag:

2017-06-03

2017-06-03 11:01:02 by Stephen R. van den Berg <srb@cuci.nl>

pgsql: Make _sync wait for executions instead of just parsing.

488:    final int _fetchlimit;    private int alltext;    final int _forcetext; +  private int syncparse;       final string _portalname;   
532:       protected void create(object _pgsqlsess,conxion _c,string query,    int _portalbuffersize,int alltyped,array params,int forcetext, -  int _timeout) { +  int _timeout, int _syncparse) {    pgsqlsess = _pgsqlsess;    cr = (c = _c)->i;    _query = query;
546:    _forcetext = forcetext;    _state = PORTALINIT;    timeout = _timeout; +  syncparse = _syncparse;    gottimeout = _pgsqlsess->cancelquery;    c->closecallbacks+=(<destroy>);    }
874:    plugbuffer->add_int16(sizeof(datarowtypes));    if(sizeof(datarowtypes))    plugbuffer->add_ints(map(datarowtypes,oidformat),2); -  else if(!paralleliseprefix->match(_query)) { +  else if (syncparse || !paralleliseprefix->match(_query)) {    lock=pgsqlsess->_shortmux->lock();    if(pgsqlsess->_portalsinflight) {    pgsqlsess->_waittocommit++;