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

version» Context lines:

pike.git/lib/modules/Sql.pmod/pgsql.pike:1342:   //! @decl void reload()   //!   //! For PostgreSQL this function performs the same function as @[resync()].   //!   //! @seealso   //! @[resync()], @[cancelquery()]   void reload() {    resync();   }    + private void reset_dbsession() { +  big_query("ROLLBACK"); +  big_query("RESET ALL"); +  big_query("CLOSE ALL"); +  big_query("DISCARD TEMP"); + } +    private void resync_cb() {    switch(backendstatus) {    case 'T':case 'E':    foreach(_prepareds;;mapping tp) {    m_delete(tp,"datatypeoid");    m_delete(tp,"datarowdesc");    } -  big_query("ROLLBACK"); -  big_query("RESET ALL"); -  big_query("CLOSE ALL"); -  big_query("DISCARD TEMP"); +  Thread.Thread(reset_dbsession); // Urgently and deadlockfree    }   }      private void sendsync() {    _readyforquerycount++;    c->start()->sendcmd(syncsend);   }      //! @decl void resync()   //!