orange-orm
Version:
Object Relational Mapper
35 lines (29 loc) • 835 B
JavaScript
var log = require('../table/log');
var replaceParamChar = require('./replaceParamChar');
function wrapQuery(_context, connection) {
var runOriginalQuery = connection.execute;
return runQuery;
function runQuery(query, onCompleted) {
var params = query.parameters;
log.emitQuery({sql: query.sql(), parameters: params});
var sql = replaceParamChar(query, params);
runOriginalQuery.call(connection, sql, params, {
fetchTypeHandler: function(metaData) {
// Tells the database to return column names in lowercase
metaData.name = metaData.name.toLowerCase();
}
}, onInnerCompleted);
function onInnerCompleted(err, rows) {
if (err)
onCompleted(err);
else {
if (rows.rows)
rows = rows.rows;
else
rows = [rows];
onCompleted(null, rows);
}
}
}
}
module.exports = wrapQuery;