@clickup/pg-microsharding
Version:
Microshards support for PostgreSQL
32 lines • 1.26 kB
JavaScript
;
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