schangxiang@126.com
2025-09-19 0821aa23eabe557c0d9ef5dbe6989c68be35d1fe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
'use strict';
 
/**
 * Module dependencies.
 */
 
const util = require('util');
const Operator = require('./operator');
const promisify = require('pify');
 
module.exports = RDSConnection;
 
function RDSConnection(conn) {
  Operator.call(this);
  this.conn = conn;
  if (!conn._wrapToRDS) {
    [
      'query',
      'beginTransaction',
      'commit',
      'rollback',
    ].forEach(key => {
      this.conn[key] = promisify(this.conn[key]);
    });
    conn._wrapToRDS = true;
  }
}
 
util.inherits(RDSConnection, Operator);
 
const proto = RDSConnection.prototype;
 
proto.release = function() {
  this.conn.release();
};
 
proto._query = function(sql) {
  return this.conn.query(sql);
};
 
proto.beginTransaction = function() {
  return this.conn.beginTransaction();
};
 
proto.commit = function() {
  return this.conn.commit();
};
 
proto.rollback = function() {
  return this.conn.rollback();
};