Exemplo n.º 1
0
 function(_, cb) {
     cps.rescue({
         'try': function(cb) {
             cps.seq([
                 function(_, cb) {
                     proc(txnConn, cb);
                 },
                 function(res, cb) {
                     commitRes = res;
                     // console.log('committing');
                     txnConn.query('COMMIT', cb);
                 },
                 function(_, cb) {
                     // console.log('committed');
                     cb(null, commitRes);
                 }
             ], cb);
         },
         'catch': function(err, cb) {
             cps.seq([
                 function(_, cb) {
                     // console.log('rolling back ...');
                     txnConn.query('ROLLBACK', cb);
                 },
                 function(_, cb) {
                     // console.log('rolled back');
                     throw(err);
                 }
             ], cb);
         }
     }, cb);
 }
Exemplo n.º 2
0
 me._connect(me._transactionPool, function(conn, cb) {
     me._enterTransaction(conn);
     txnConn = conn;
     cps.rescue({
         'try': function(cb) {
             cps.seq([
                 function(_, cb) {
                     // console.log('start transaction');
                     txnConn.query('START TRANSACTION', cb);
                 },
                 function(_, cb) {
                     cps.rescue({
                         'try': function(cb) {
                             cps.seq([
                                 function(_, cb) {
                                     proc(txnConn, cb);
                                 },
                                 function(res, cb) {
                                     commitRes = res;
                                     // console.log('committing');
                                     txnConn.query('COMMIT', cb);
                                 },
                                 function(_, cb) {
                                     // console.log('committed');
                                     cb(null, commitRes);
                                 }
                             ], cb);
                         },
                         'catch': function(err, cb) {
                             cps.seq([
                                 function(_, cb) {
                                     // console.log('rolling back ...');
                                     txnConn.query('ROLLBACK', cb);
                                 },
                                 function(_, cb) {
                                     // console.log('rolled back');
                                     throw(err);
                                 }
                             ], cb);
                         }
                     }, cb);
                 }
             ], cb);
         },
         'finally': function(cb) {
             // console.log('txn connection release');
             // txnConn.release();
             me._leaveTransaction(txnConn);
             cb();
         }
     }, cb);
 }, cb);
Exemplo n.º 3
0
 function(res, cb) {
     conn = res;
     cps.rescue({
         'try': function(cb) {
             proc(conn, cb);
         },
         'finally': function(cb) {
             // console.log('release connection');
             conn.release();
             cb();
         }
     }, cb);
 }