Branch: Tag:

2022-07-03

2022-07-03 20:31:05 by Marcus Comstedt <marcus@mc.pp.se>

Sql: Stricter handling of zero.

371:    }       final void sendcmd(int mode, void|Result portal) { -  Thread.MutexKey lock = shortmux->lock(); +  void|Thread.MutexKey lock = shortmux->lock();    if (portal)    realbuffer->stashqueue->write(portal);    if (mode == SYNCSEND) {
451:    [..255]   #endif    ); -  Thread.MutexKey lock = fillreadmux->lock(); +  void|Thread.MutexKey lock = fillreadmux->lock();    if (procmsg && id)    procmsg = 0, lock = 0, Thread.Thread(id);    else if (fillread)
477:    inherit Stdio.Buffer:o;    final conxiin i;    -  private Thread.Queue qportals; +  private zero|Thread.Queue qportals;    final MUTEX shortmux;    private int closenext;   
779:    return res;    }    -  protected void create(proxy pgsqlsess, Thread.Queue _qportals, int nossl) { +  protected void create(proxy pgsqlsess, zero|Thread.Queue _qportals, int nossl) {    o::create();    qportals = _qportals;    synctransact = 1;
955:    if (!datarowtypes)    waitfordescribe();    { -  Thread.MutexKey lock = closemux->lock(); +  void|Thread.MutexKey lock = closemux->lock();    if (_fetchlimit) {    array(Thread.MutexKey) reflock = ({ _fetchlimit = 0 });    for (;;) {
1274:    SUSERERROR("Invalid number of bindings, expected %d, got %d\n",    sizeof(dtoid), sizeof(paramValues));    PD("PrepareBind\n"); -  Thread.MutexKey lock = _ddescribemux->lock(); +  void|Thread.MutexKey lock = _ddescribemux->lock();    if (!_portalname) {    _portalname    = (_unnamedportalkey = pgsqlsess.unnamedportalmux->trylock(1))
1591:       final void _parseportal() {    for (;;) { -  Thread.MutexKey lock = closemux->lock(); +  void|Thread.MutexKey lock = closemux->lock();    if ((syncparse || syncparse < 0 && pgsqlsess->wasparallelisable)    && !pgsqlsess->statementsinflight->drained()) {    lock = 0; // Unlock while we wait
2224:    showportalstack("LOOPTOP");   #endif    if (!sizeof(cr)) { // Preliminary check, fast path -  Thread.MutexKey lock = cr->fillreadmux->lock(); +  void|Thread.MutexKey lock = cr->fillreadmux->lock();    if (!sizeof(cr)) { // Check for real    if (!cr->fillread) {    lock = 0;