ddl-manager
Version:
store postgres procedures and triggers in files
36 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Update = void 0;
const AbstractAstElement_1 = require("./AbstractAstElement");
class Update extends AbstractAstElement_1.AbstractAstElement {
constructor(row) {
super();
Object.assign(this, row);
}
template(spaces) {
const lines = [
spaces + `update ${this.table} set`,
this.printSetItems(spaces)
];
if (this.with) {
lines.unshift(this.with.toSQL(spaces));
}
if (this.from) {
lines.push(spaces + `from ${this.from.join(", ")}`);
}
if (this.where) {
lines.push(spaces + "where");
lines.push(this.where.toSQL(spaces.plusOneLevel()));
}
lines[lines.length - 1] = lines[lines.length - 1] + ";";
return lines;
}
printSetItems(spaces) {
const sql = this.set
.map(setItem => setItem.toSQL(spaces.plusOneLevel()))
.join(",\n");
return sql;
}
}
exports.Update = Update;
//# sourceMappingURL=Update.js.map