UNPKG

orange-orm

Version:

Object Relational Mapper

27 lines (23 loc) 847 B
const newParameterized = require('../query/newParameterized'); const getSqlTemplate = require('./insert/getSqlTemplate'); const formatString = require('../../format'); function newInsertCommandCore(context, table, row, options = {}) { let parameters = []; let values = [getSqlTemplate(context, table, row, options)]; let columns = table._columns; for (let i = 0; i < columns.length; i++) { let column = columns[i]; let alias = column.alias; if (row['__' + column.alias] !== undefined) { let encoded = column.encode(context, row[alias]); if (encoded.parameters.length > 0) { values.push(encoded.sql()); parameters.push(encoded.parameters[0]); } else values.push(encoded.sql()); } } let sql = formatString.apply(null, values); return newParameterized(sql, parameters); } module.exports = newInsertCommandCore;