You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
2.2 KiB
73 lines
2.2 KiB
/*
|
|
* Copyright (c) 2015-present, Vitaly Tomilov
|
|
*
|
|
* See the LICENSE file at the top-level directory of this distribution
|
|
* for licensing information.
|
|
*
|
|
* Removal or modification of this copyright notice is prohibited.
|
|
*/
|
|
|
|
const {Column} = require(`./column`);
|
|
const {ColumnSet} = require(`./column-set`);
|
|
const {TableName} = require(`./table-name`);
|
|
const method = require(`./methods`);
|
|
const utils = require(`../utils`);
|
|
|
|
/**
|
|
* @namespace helpers
|
|
* @description
|
|
* Namespace for query-formatting generators, available as {@link module:pg-promise~helpers pgp.helpers}, after initializing the library.
|
|
*
|
|
* It unifies the approach to generating multi-row `INSERT` / `UPDATE` queries with the single-row ones.
|
|
*
|
|
* See also: $[Performance Boost].
|
|
*
|
|
* @property {function} TableName
|
|
* {@link helpers.TableName TableName} class constructor.
|
|
*
|
|
* @property {function} ColumnSet
|
|
* {@link helpers.ColumnSet ColumnSet} class constructor.
|
|
*
|
|
* @property {function} Column
|
|
* {@link helpers.Column Column} class constructor.
|
|
*
|
|
* @property {function} insert
|
|
* {@link helpers.insert insert} static method.
|
|
*
|
|
* @property {function} update
|
|
* {@link helpers.update update} static method.
|
|
*
|
|
* @property {function} values
|
|
* {@link helpers.values values} static method.
|
|
*
|
|
* @property {function} sets
|
|
* {@link helpers.sets sets} static method.
|
|
*
|
|
* @property {function} concat
|
|
* {@link helpers.concat concat} static method.
|
|
*/
|
|
module.exports = config => {
|
|
const capSQL = () => config.options && config.options.capSQL;
|
|
const res = {
|
|
insert(data, columns, table) {
|
|
return method.insert(data, columns, table, capSQL());
|
|
},
|
|
update(data, columns, table, options) {
|
|
return method.update(data, columns, table, options, capSQL());
|
|
},
|
|
concat(queries) {
|
|
return method.concat(queries, capSQL());
|
|
},
|
|
values(data, columns) {
|
|
return method.values(data, columns, capSQL());
|
|
},
|
|
sets(data, columns) {
|
|
return method.sets(data, columns, capSQL());
|
|
},
|
|
TableName,
|
|
ColumnSet,
|
|
Column
|
|
};
|
|
utils.lock(res, true, config.options);
|
|
return res;
|
|
};
|
|
|