MCPcopy Index your code
hub / github.com/sequelize/sequelize / _run

Method _run

src/dialects/db2/query.js:31–174  ·  view source on GitHub ↗
(connection, sql, parameters)

Source from the content-addressed store, hash-verified

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

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
inspectMethod · 0.80
getMethod · 0.65
parseFunction · 0.50

Tested by

no test coverage detected