MCPcopy
hub / github.com/sequelize/sequelize / _run

Method _run

lib/dialects/db2/query.js:25–162  ·  view source on GitHub ↗
(connection, sql, parameters)

Source from the content-addressed store, hash-verified

23 }
24
25 async _run(connection, sql, parameters) {
26 this.sql = sql;
27 const benchmark = this.sequelize.options.benchmark || this.options.benchmark;
28 let queryBegin;
29 if (benchmark) {
30 queryBegin = Date.now();
31 } else {
32 this.sequelize.log(`Executing (${ this.connection.uuid || 'default' }): ${ this.sql}`, this.options);
33 }
34 return new Promise((resolve, reject) => {
35 // TRANSACTION SUPPORT
36 if (_.startsWith(this.sql, 'BEGIN TRANSACTION')) {
37 connection.beginTransaction(err => {
38 if (err) {
39 reject(this.formatError(err));
40 } else {
41 resolve(this.formatResults());
42 }
43 });
44 } else if (_.startsWith(this.sql, 'COMMIT TRANSACTION')) {
45 connection.commitTransaction(err => {
46 if (err) {
47 reject(this.formatError(err));
48 } else {
49 resolve(this.formatResults());
50 }
51 });
52 } else if (_.startsWith(this.sql, 'ROLLBACK TRANSACTION')) {
53 connection.rollbackTransaction(err => {
54 if (err) {
55 reject(this.formatError(err));
56 } else {
57 resolve(this.formatResults());
58 }
59 });
60 } else if (_.startsWith(this.sql, 'SAVE TRANSACTION')) {
61 connection.commitTransaction(err => {
62 if (err) {
63 reject(this.formatError(err));
64 } else {
65 connection.beginTransaction(err => {
66 if (err) {
67 reject(this.formatError(err));
68 } else {
69 resolve(this.formatResults());
70 }
71 });
72 }
73 }, this.options.transaction.name);
74 } else {
75 const params = [];
76 if (parameters) {
77 _.forOwn(parameters, (value, key) => {
78 const param = this.getSQLTypeFromJsType(value, key);
79 params.push(param);
80 });
81 }
82 const SQL = this.sql.toUpperCase();

Callers 2

runMethod · 0.95
query.test.jsFile · 0.45

Calls 11

formatErrorMethod · 0.95
formatResultsMethod · 0.95
getSQLTypeFromJsTypeMethod · 0.95
filterSQLErrorMethod · 0.95
logMethod · 0.80
commitTransactionMethod · 0.80
rollbackTransactionMethod · 0.80
isSelectQueryMethod · 0.80
stringifyMethod · 0.65
getMethod · 0.65
parseFunction · 0.50

Tested by

no test coverage detected