Initial commit
This commit is contained in:
62
node_modules/knex/lib/execution/internal/query-executioner.js
generated
vendored
Executable file
62
node_modules/knex/lib/execution/internal/query-executioner.js
generated
vendored
Executable file
@@ -0,0 +1,62 @@
|
||||
const _debugQuery = require('debug')('knex:query');
|
||||
const debugBindings = require('debug')('knex:bindings');
|
||||
const debugQuery = (sql, txId) => _debugQuery(sql.replace(/%/g, '%%'), txId);
|
||||
const { isString } = require('../../util/is');
|
||||
|
||||
function formatQuery(sql, bindings, timeZone, client) {
|
||||
bindings = bindings == null ? [] : [].concat(bindings);
|
||||
let index = 0;
|
||||
return sql.replace(/\\?\?/g, (match) => {
|
||||
if (match === '\\?') {
|
||||
return '?';
|
||||
}
|
||||
if (index === bindings.length) {
|
||||
return match;
|
||||
}
|
||||
const value = bindings[index++];
|
||||
return client._escapeBinding(value, { timeZone });
|
||||
});
|
||||
}
|
||||
|
||||
function enrichQueryObject(connection, queryParam, client) {
|
||||
const queryObject = isString(queryParam) ? { sql: queryParam } : queryParam;
|
||||
|
||||
queryObject.bindings = client.prepBindings(queryObject.bindings);
|
||||
queryObject.sql = client.positionBindings(queryObject.sql);
|
||||
|
||||
const { __knexUid, __knexTxId } = connection;
|
||||
|
||||
client.emit('query', Object.assign({ __knexUid, __knexTxId }, queryObject));
|
||||
debugQuery(queryObject.sql, __knexTxId);
|
||||
debugBindings(queryObject.bindings, __knexTxId);
|
||||
|
||||
return queryObject;
|
||||
}
|
||||
|
||||
function executeQuery(connection, queryObject, client) {
|
||||
return client._query(connection, queryObject).catch((err) => {
|
||||
if (client.config && client.config.compileSqlOnError === false) {
|
||||
err.message = queryObject.sql + ' - ' + err.message;
|
||||
} else {
|
||||
err.message =
|
||||
formatQuery(queryObject.sql, queryObject.bindings, undefined, client) +
|
||||
' - ' +
|
||||
err.message;
|
||||
}
|
||||
client.emit(
|
||||
'query-error',
|
||||
err,
|
||||
Object.assign(
|
||||
{ __knexUid: connection.__knexUid, __knexTxId: connection.__knexUid },
|
||||
queryObject
|
||||
)
|
||||
);
|
||||
throw err;
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
enrichQueryObject,
|
||||
executeQuery,
|
||||
formatQuery,
|
||||
};
|
||||
Reference in New Issue
Block a user