UNPKG

@clickup/pg-microsharding

Version:
32 lines 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runSql = runSql; const names_1 = require("./names"); const runShell_1 = require("./runShell"); /** * Runs a psql with the provided SQL query (or queries) passed as stdin. Returns * an array of rows (rows are newline-separated in the output), each row is an * array of values. */ async function runSql(dsn, query, comment) { const out = await (0, runShell_1.runShell)(`${(0, names_1.psql)(dsn)} -zq`, query.toString(), comment); return out .split("\n") .filter((line) => line !== "") .map((line) => line.split("\x00" /* -z */)); } runSql.column = async (dsn, query, comment) => { const lines = await runSql(dsn, query, comment); return lines.map((line) => { var _a; return (_a = line[0]) !== null && _a !== void 0 ? _a : ""; }); }; runSql.row = async (dsn, query, comment) => { var _a; const lines = await runSql(dsn, query, comment); return (_a = lines[0]) !== null && _a !== void 0 ? _a : []; }; runSql.one = async (dsn, query, comment) => { var _a; const lines = await runSql.column(dsn, query, comment); return (_a = lines[0]) !== null && _a !== void 0 ? _a : ""; }; //# sourceMappingURL=runSql.js.map