@prairielearn/postgres 1.6.1 → 1.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/default-pool.d.ts +12 -0
- package/dist/default-pool.js +5 -2
- package/dist/default-pool.js.map +1 -1
- package/dist/pool.d.ts +6 -0
- package/dist/pool.js +40 -0
- package/dist/pool.js.map +1 -1
- package/dist/pool.test.js +70 -1
- package/dist/pool.test.js.map +1 -1
- package/package.json +7 -7
- package/src/default-pool.ts +3 -0
- package/src/pool.test.ts +106 -2
- package/src/pool.ts +72 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @prairielearn/postgres
|
|
2
2
|
|
|
3
|
+
## 1.7.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 8fd47d928: Upgrade all dependencies
|
|
8
|
+
|
|
9
|
+
## 1.7.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 16d0068d8: Introduce improved query functions: `queryRows`, `queryRow`, and `queryOptionalRow`
|
|
14
|
+
|
|
3
15
|
## 1.6.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/default-pool.d.ts
CHANGED
|
@@ -47,6 +47,18 @@ export declare const queryValidatedSingleColumnZeroOrOneRow: <Model extends impo
|
|
|
47
47
|
export declare const callValidatedRows: <Model extends import("zod").ZodTypeAny>(sprocName: string, params: any[], model: Model) => Promise<import("zod").TypeOf<Model>[]>;
|
|
48
48
|
export declare const callValidatedOneRow: <Model extends import("zod").ZodTypeAny>(sprocName: string, params: any[], model: Model) => Promise<import("zod").TypeOf<Model>>;
|
|
49
49
|
export declare const callValidatedZeroOrOneRow: <Model extends import("zod").ZodTypeAny>(sprocName: string, params: any[], model: Model) => Promise<import("zod").TypeOf<Model> | null>;
|
|
50
|
+
export declare const queryRows: {
|
|
51
|
+
<Model extends import("zod").ZodTypeAny>(sql: string, model: Model): Promise<import("zod").TypeOf<Model>[]>;
|
|
52
|
+
<Model_1 extends import("zod").ZodTypeAny>(sql: string, params: import("./pool").QueryParams, model: Model_1): Promise<import("zod").TypeOf<Model_1>[]>;
|
|
53
|
+
};
|
|
54
|
+
export declare const queryRow: {
|
|
55
|
+
<Model extends import("zod").ZodTypeAny>(sql: string, model: Model): Promise<import("zod").TypeOf<Model>>;
|
|
56
|
+
<Model_1 extends import("zod").ZodTypeAny>(sql: string, params: import("./pool").QueryParams, model: Model_1): Promise<import("zod").TypeOf<Model_1>>;
|
|
57
|
+
};
|
|
58
|
+
export declare const queryOptionalRow: {
|
|
59
|
+
<Model extends import("zod").ZodTypeAny>(sql: string, model: Model): Promise<import("zod").TypeOf<Model> | null>;
|
|
60
|
+
<Model_1 extends import("zod").ZodTypeAny>(sql: string, params: import("./pool").QueryParams, model: Model_1): Promise<import("zod").TypeOf<Model_1> | null>;
|
|
61
|
+
};
|
|
50
62
|
export declare const queryCursorWithClient: (client: import("pg").PoolClient, sql: string, params: import("./pool").QueryParams) => Promise<import("pg-cursor")<any>>;
|
|
51
63
|
export declare const queryCursor: <Model extends import("zod").ZodTypeAny>(sql: string, params: import("./pool").QueryParams) => Promise<import("./pool").CursorIterator<import("zod").TypeOf<Model>>>;
|
|
52
64
|
export declare const queryValidatedCursor: <Model extends import("zod").ZodTypeAny>(sql: string, params: import("./pool").QueryParams, model: Model) => Promise<import("./pool").CursorIterator<import("zod").TypeOf<Model>>>;
|
package/dist/default-pool.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.setRandomSearchSchemaAsync = exports.setRandomSearchSchema = exports.getSearchSchema = void 0;
|
|
3
|
+
exports.queryCursorWithClient = exports.queryOptionalRow = exports.queryRow = exports.queryRows = exports.callValidatedZeroOrOneRow = exports.callValidatedOneRow = exports.callValidatedRows = exports.queryValidatedSingleColumnZeroOrOneRow = exports.queryValidatedSingleColumnOneRow = exports.queryValidatedSingleColumnRows = exports.queryValidatedZeroOrOneRow = exports.queryValidatedOneRow = exports.queryValidatedRows = exports.callWithClientZeroOrOneRowAsync = exports.callWithClientZeroOrOneRow = exports.callWithClientOneRowAsync = exports.callWithClientOneRow = exports.callWithClientAsync = exports.callWithClient = exports.callZeroOrOneRowAsync = exports.callZeroOrOneRow = exports.callOneRowAsync = exports.callOneRow = exports.callAsync = exports.call = exports.queryZeroOrOneRowAsync = exports.queryZeroOrOneRow = exports.queryOneRowAsync = exports.queryOneRow = exports.queryAsync = exports.query = exports.runInTransactionAsync = exports.endTransaction = exports.endTransactionAsync = exports.beginTransactionAsync = exports.rollbackWithClient = exports.rollbackWithClientAsync = exports.queryWithClientZeroOrOneRowAsync = exports.queryWithClientZeroOrOneRow = exports.queryWithClientOneRowAsync = exports.queryWithClientOneRow = exports.queryWithClientAsync = exports.queryWithClient = exports.getClient = exports.getClientAsync = exports.closeAsync = exports.close = exports.initAsync = exports.init = exports.defaultPool = void 0;
|
|
4
|
+
exports.setRandomSearchSchemaAsync = exports.setRandomSearchSchema = exports.getSearchSchema = exports.setSearchSchema = exports.queryValidatedCursor = exports.queryCursor = void 0;
|
|
5
5
|
const pool_1 = require("./pool");
|
|
6
6
|
const defaultPool = new pool_1.PostgresPool();
|
|
7
7
|
exports.defaultPool = defaultPool;
|
|
@@ -58,6 +58,9 @@ exports.queryValidatedSingleColumnZeroOrOneRow = defaultPool.queryValidatedSingl
|
|
|
58
58
|
exports.callValidatedRows = defaultPool.callValidatedRows.bind(defaultPool);
|
|
59
59
|
exports.callValidatedOneRow = defaultPool.callValidatedOneRow.bind(defaultPool);
|
|
60
60
|
exports.callValidatedZeroOrOneRow = defaultPool.callValidatedZeroOrOneRow.bind(defaultPool);
|
|
61
|
+
exports.queryRows = defaultPool.queryRows.bind(defaultPool);
|
|
62
|
+
exports.queryRow = defaultPool.queryRow.bind(defaultPool);
|
|
63
|
+
exports.queryOptionalRow = defaultPool.queryOptionalRow.bind(defaultPool);
|
|
61
64
|
exports.queryCursorWithClient = defaultPool.queryCursorWithClient.bind(defaultPool);
|
|
62
65
|
exports.queryCursor = defaultPool.queryCursor.bind(defaultPool);
|
|
63
66
|
exports.queryValidatedCursor = defaultPool.queryValidatedCursor.bind(defaultPool);
|
package/dist/default-pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-pool.js","sourceRoot":"","sources":["../src/default-pool.ts"],"names":[],"mappings":";;;;AAAA,iCAAsC;AAEtC,MAAM,WAAW,GAAG,IAAI,mBAAY,EAAE,CAAC;AAC9B,kCAAW;AAEpB,2EAA2E;AAC3E,6EAA6E;AAC7E,sDAAsD;AACtD,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,sEAAsE;AACzD,QAAA,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1C,QAAA,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5C,QAAA,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtD,QAAA,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9D,QAAA,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChE,QAAA,oBAAoB,GAAG,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1E,QAAA,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5E,QAAA,0BAA0B,GAAG,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtF,QAAA,2BAA2B,GACtC,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/C,QAAA,gCAAgC,GAC3C,WAAW,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,uBAAuB,GAAG,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChF,QAAA,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtE,QAAA,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5E,QAAA,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxE,QAAA,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9D,QAAA,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5E,QAAA,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5C,QAAA,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtD,QAAA,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxD,QAAA,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClE,QAAA,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpE,QAAA,sBAAsB,GAAG,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9E,QAAA,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1C,QAAA,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtD,QAAA,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChE,QAAA,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClE,QAAA,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5E,QAAA,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9D,QAAA,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxE,QAAA,oBAAoB,GAAG,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1E,QAAA,yBAAyB,GAAG,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpF,QAAA,0BAA0B,GAAG,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtF,QAAA,+BAA+B,GAC1C,WAAW,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACnD,QAAA,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtE,QAAA,oBAAoB,GAAG,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1E,QAAA,0BAA0B,GAAG,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtF,QAAA,8BAA8B,GACzC,WAAW,CAAC,8BAA8B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClD,QAAA,gCAAgC,GAC3C,WAAW,CAAC,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,sCAAsC,GACjD,WAAW,CAAC,sCAAsC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1D,QAAA,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpE,QAAA,mBAAmB,GAAG,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxE,QAAA,yBAAyB,GAAG,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpF,QAAA,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5E,QAAA,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACxD,QAAA,oBAAoB,GAAG,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC1E,QAAA,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChE,QAAA,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAChE,QAAA,qBAAqB,GAAG,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC5E,QAAA,0BAA0B,GAAG,WAAW,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"default-pool.js","sourceRoot":"","sources":["../src/default-pool.ts"],"names":[],"mappings":"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"}
|
package/dist/pool.d.ts
CHANGED
|
@@ -245,6 +245,12 @@ export declare class PostgresPool {
|
|
|
245
245
|
* (if any) with the given Zod schema. Returns at most a single row.
|
|
246
246
|
*/
|
|
247
247
|
callValidatedZeroOrOneRow<Model extends z.ZodTypeAny>(sprocName: string, params: any[], model: Model): Promise<z.infer<Model> | null>;
|
|
248
|
+
queryRows<Model extends z.ZodTypeAny>(sql: string, model: Model): Promise<z.infer<Model>[]>;
|
|
249
|
+
queryRows<Model extends z.ZodTypeAny>(sql: string, params: QueryParams, model: Model): Promise<z.infer<Model>[]>;
|
|
250
|
+
queryRow<Model extends z.ZodTypeAny>(sql: string, model: Model): Promise<z.infer<Model>>;
|
|
251
|
+
queryRow<Model extends z.ZodTypeAny>(sql: string, params: QueryParams, model: Model): Promise<z.infer<Model>>;
|
|
252
|
+
queryOptionalRow<Model extends z.ZodTypeAny>(sql: string, model: Model): Promise<z.infer<Model> | null>;
|
|
253
|
+
queryOptionalRow<Model extends z.ZodTypeAny>(sql: string, params: QueryParams, model: Model): Promise<z.infer<Model> | null>;
|
|
248
254
|
/**
|
|
249
255
|
* Returns a {@link Cursor} for the given query. The cursor can be used to
|
|
250
256
|
* read results in batches, which is useful for large result sets.
|
package/dist/pool.js
CHANGED
|
@@ -743,6 +743,46 @@ class PostgresPool {
|
|
|
743
743
|
return model.parse(results.rows[0]);
|
|
744
744
|
}
|
|
745
745
|
}
|
|
746
|
+
async queryRows(sql, paramsOrSchema, maybeModel) {
|
|
747
|
+
const params = maybeModel === undefined ? {} : paramsOrSchema;
|
|
748
|
+
const model = maybeModel === undefined ? paramsOrSchema : maybeModel;
|
|
749
|
+
const results = await this.queryAsync(sql, params);
|
|
750
|
+
if (results.fields.length === 1) {
|
|
751
|
+
const columnName = results.fields[0].name;
|
|
752
|
+
const rawData = results.rows.map((row) => row[columnName]);
|
|
753
|
+
return zod_1.z.array(model).parse(rawData);
|
|
754
|
+
}
|
|
755
|
+
else {
|
|
756
|
+
return zod_1.z.array(model).parse(results.rows);
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
async queryRow(sql, paramsOrSchema, maybeModel) {
|
|
760
|
+
const params = maybeModel === undefined ? {} : paramsOrSchema;
|
|
761
|
+
const model = maybeModel === undefined ? paramsOrSchema : maybeModel;
|
|
762
|
+
const results = await this.queryOneRowAsync(sql, params);
|
|
763
|
+
if (results.fields.length === 1) {
|
|
764
|
+
const columnName = results.fields[0].name;
|
|
765
|
+
return model.parse(results.rows[0][columnName]);
|
|
766
|
+
}
|
|
767
|
+
else {
|
|
768
|
+
return model.parse(results.rows[0]);
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
async queryOptionalRow(sql, paramsOrSchema, maybeModel) {
|
|
772
|
+
const params = maybeModel === undefined ? {} : paramsOrSchema;
|
|
773
|
+
const model = maybeModel === undefined ? paramsOrSchema : maybeModel;
|
|
774
|
+
const results = await this.queryZeroOrOneRowAsync(sql, params);
|
|
775
|
+
if (results.rows.length === 0) {
|
|
776
|
+
return null;
|
|
777
|
+
}
|
|
778
|
+
else if (results.fields.length === 1) {
|
|
779
|
+
const columnName = results.fields[0].name;
|
|
780
|
+
return model.parse(results.rows[0][columnName]);
|
|
781
|
+
}
|
|
782
|
+
else {
|
|
783
|
+
return model.parse(results.rows[0]);
|
|
784
|
+
}
|
|
785
|
+
}
|
|
746
786
|
/**
|
|
747
787
|
* Returns a {@link Cursor} for the given query. The cursor can be used to
|
|
748
788
|
* read results in batches, which is useful for large result sets.
|
package/dist/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../src/pool.ts"],"names":[],"mappings":"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"}
|
package/dist/pool.test.js
CHANGED
|
@@ -15,15 +15,84 @@ const { assert } = chai_1.default;
|
|
|
15
15
|
const postgresTestUtils = (0, test_utils_1.makePostgresTestUtils)({
|
|
16
16
|
database: 'prairielearn_postgres',
|
|
17
17
|
});
|
|
18
|
+
const WorkspaceSchema = zod_1.z.object({
|
|
19
|
+
id: zod_1.z.string(),
|
|
20
|
+
created_at: zod_1.z.date(),
|
|
21
|
+
});
|
|
18
22
|
describe('@prairielearn/postgres', function () {
|
|
19
23
|
before(async () => {
|
|
20
24
|
await postgresTestUtils.createDatabase();
|
|
21
|
-
await (0, default_pool_1.queryAsync)('CREATE TABLE workspaces (id BIGSERIAL PRIMARY KEY);', {});
|
|
25
|
+
await (0, default_pool_1.queryAsync)('CREATE TABLE workspaces (id BIGSERIAL PRIMARY KEY, created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP);', {});
|
|
22
26
|
await (0, default_pool_1.queryAsync)('INSERT INTO workspaces (id) SELECT s FROM generate_series(1, 100) AS s', {});
|
|
23
27
|
});
|
|
24
28
|
after(async () => {
|
|
25
29
|
await postgresTestUtils.dropDatabase();
|
|
26
30
|
});
|
|
31
|
+
describe('queryRows', () => {
|
|
32
|
+
it('handles single column', async () => {
|
|
33
|
+
const rows = await (0, default_pool_1.queryRows)('SELECT id FROM workspaces WHERE id <= 10;', zod_1.z.string());
|
|
34
|
+
assert.lengthOf(rows, 10);
|
|
35
|
+
assert.equal(rows[0], '1');
|
|
36
|
+
});
|
|
37
|
+
it('handles multiple columns', async () => {
|
|
38
|
+
const rows = await (0, default_pool_1.queryRows)('SELECT * FROM workspaces WHERE id <= 10;', WorkspaceSchema);
|
|
39
|
+
assert.lengthOf(rows, 10);
|
|
40
|
+
assert.equal(rows[0].id, '1');
|
|
41
|
+
assert.isNotNull(rows[0].created_at);
|
|
42
|
+
});
|
|
43
|
+
it('handles parameters', async () => {
|
|
44
|
+
const rows = await (0, default_pool_1.queryRows)('SELECT * FROM workspaces WHERE id <= $1;', [10], WorkspaceSchema);
|
|
45
|
+
assert.lengthOf(rows, 10);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('queryRow', () => {
|
|
49
|
+
it('handles single column', async () => {
|
|
50
|
+
const row = await (0, default_pool_1.queryRow)('SELECT id FROM workspaces WHERE id = 1;', zod_1.z.string());
|
|
51
|
+
assert.equal(row, '1');
|
|
52
|
+
});
|
|
53
|
+
it('handles multiple columns', async () => {
|
|
54
|
+
const row = await (0, default_pool_1.queryRow)('SELECT * FROM workspaces WHERE id = 1;', WorkspaceSchema);
|
|
55
|
+
assert.equal(row.id, '1');
|
|
56
|
+
assert.isNotNull(row.created_at);
|
|
57
|
+
});
|
|
58
|
+
it('handles parameters', async () => {
|
|
59
|
+
const row = await (0, default_pool_1.queryRow)('SELECT * FROM workspaces WHERE id = $1;', [1], WorkspaceSchema);
|
|
60
|
+
assert.equal(row.id, '1');
|
|
61
|
+
});
|
|
62
|
+
it('rejects results with zero rows', async () => {
|
|
63
|
+
const rows = (0, default_pool_1.queryRow)('SELECT * FROM workspaces WHERE id = -1;', WorkspaceSchema);
|
|
64
|
+
await assert.isRejected(rows, 'Incorrect rowCount: 0');
|
|
65
|
+
});
|
|
66
|
+
it('rejects results with multiple rows', async () => {
|
|
67
|
+
const rows = (0, default_pool_1.queryRow)('SELECT * FROM workspaces', WorkspaceSchema);
|
|
68
|
+
await assert.isRejected(rows, 'Incorrect rowCount: 100');
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
describe('queryOptionalRow', () => {
|
|
72
|
+
it('handles single column', async () => {
|
|
73
|
+
const row = await (0, default_pool_1.queryRow)('SELECT id FROM workspaces WHERE id = 1;', zod_1.z.string());
|
|
74
|
+
assert.equal(row, '1');
|
|
75
|
+
});
|
|
76
|
+
it('handles multiple columns', async () => {
|
|
77
|
+
const row = await (0, default_pool_1.queryOptionalRow)('SELECT * FROM workspaces WHERE id = 1;', WorkspaceSchema);
|
|
78
|
+
assert.isNotNull(row);
|
|
79
|
+
assert.equal(row?.id, '1');
|
|
80
|
+
assert.isNotNull(row?.created_at);
|
|
81
|
+
});
|
|
82
|
+
it('handles parameters', async () => {
|
|
83
|
+
const row = await (0, default_pool_1.queryOptionalRow)('SELECT * FROM workspaces WHERE id = $1;', [1], WorkspaceSchema);
|
|
84
|
+
assert.isNotNull(row);
|
|
85
|
+
assert.equal(row?.id, '1');
|
|
86
|
+
});
|
|
87
|
+
it('handles missing result', async () => {
|
|
88
|
+
const row = await (0, default_pool_1.queryOptionalRow)('SELECT * FROM workspaces WHERE id = -1;', WorkspaceSchema);
|
|
89
|
+
assert.isNull(row);
|
|
90
|
+
});
|
|
91
|
+
it('rejects with multiple rows', async () => {
|
|
92
|
+
const rows = (0, default_pool_1.queryOptionalRow)('SELECT * FROM workspaces', WorkspaceSchema);
|
|
93
|
+
await assert.isRejected(rows, 'Incorrect rowCount: 100');
|
|
94
|
+
});
|
|
95
|
+
});
|
|
27
96
|
describe('queryCursor', () => {
|
|
28
97
|
it('returns zero rows', async () => {
|
|
29
98
|
const cursor = await (0, default_pool_1.queryCursor)('SELECT * FROM workspaces WHERE id = 10000;', {});
|
package/dist/pool.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.test.js","sourceRoot":"","sources":["../src/pool.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,wEAA8C;AAC9C,6CAAuC;AACvC,mDAAgD;AAChD,6BAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"pool.test.js","sourceRoot":"","sources":["../src/pool.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prairielearn/postgres",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -16,18 +16,18 @@
|
|
|
16
16
|
"@prairielearn/tsconfig": "^0.0.0",
|
|
17
17
|
"@types/mocha": "^10.0.1",
|
|
18
18
|
"@types/multipipe": "^3.0.1",
|
|
19
|
-
"@types/node": "^18.16.
|
|
19
|
+
"@types/node": "^18.16.16",
|
|
20
20
|
"mocha": "^10.2.0",
|
|
21
21
|
"ts-node": "^10.9.1",
|
|
22
|
-
"typescript": "^5.
|
|
22
|
+
"typescript": "^5.1.3"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@types/debug": "^4.1.
|
|
26
|
-
"@types/lodash": "^4.14.
|
|
25
|
+
"@types/debug": "^4.1.8",
|
|
26
|
+
"@types/lodash": "^4.14.195",
|
|
27
27
|
"@types/pg-cursor": "^2.7.0",
|
|
28
28
|
"multipipe": "^4.0.0",
|
|
29
|
-
"pg": "^8.
|
|
30
|
-
"pg-cursor": "^2.
|
|
29
|
+
"pg": "^8.11.0",
|
|
30
|
+
"pg-cursor": "^2.10.0",
|
|
31
31
|
"pg-pool": "^3.6.0",
|
|
32
32
|
"zod": "^3.21.4"
|
|
33
33
|
}
|
package/src/default-pool.ts
CHANGED
|
@@ -62,6 +62,9 @@ export const queryValidatedSingleColumnZeroOrOneRow =
|
|
|
62
62
|
export const callValidatedRows = defaultPool.callValidatedRows.bind(defaultPool);
|
|
63
63
|
export const callValidatedOneRow = defaultPool.callValidatedOneRow.bind(defaultPool);
|
|
64
64
|
export const callValidatedZeroOrOneRow = defaultPool.callValidatedZeroOrOneRow.bind(defaultPool);
|
|
65
|
+
export const queryRows = defaultPool.queryRows.bind(defaultPool);
|
|
66
|
+
export const queryRow = defaultPool.queryRow.bind(defaultPool);
|
|
67
|
+
export const queryOptionalRow = defaultPool.queryOptionalRow.bind(defaultPool);
|
|
65
68
|
export const queryCursorWithClient = defaultPool.queryCursorWithClient.bind(defaultPool);
|
|
66
69
|
export const queryCursor = defaultPool.queryCursor.bind(defaultPool);
|
|
67
70
|
export const queryValidatedCursor = defaultPool.queryValidatedCursor.bind(defaultPool);
|
package/src/pool.test.ts
CHANGED
|
@@ -4,7 +4,14 @@ import { Writable } from 'node:stream';
|
|
|
4
4
|
import { pipeline } from 'node:stream/promises';
|
|
5
5
|
import { z, ZodError } from 'zod';
|
|
6
6
|
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
queryAsync,
|
|
9
|
+
queryRows,
|
|
10
|
+
queryRow,
|
|
11
|
+
queryOptionalRow,
|
|
12
|
+
queryCursor,
|
|
13
|
+
queryValidatedCursor,
|
|
14
|
+
} from './default-pool';
|
|
8
15
|
import { makePostgresTestUtils } from './test-utils';
|
|
9
16
|
|
|
10
17
|
chai.use(chaiAsPromised);
|
|
@@ -14,10 +21,18 @@ const postgresTestUtils = makePostgresTestUtils({
|
|
|
14
21
|
database: 'prairielearn_postgres',
|
|
15
22
|
});
|
|
16
23
|
|
|
24
|
+
const WorkspaceSchema = z.object({
|
|
25
|
+
id: z.string(),
|
|
26
|
+
created_at: z.date(),
|
|
27
|
+
});
|
|
28
|
+
|
|
17
29
|
describe('@prairielearn/postgres', function () {
|
|
18
30
|
before(async () => {
|
|
19
31
|
await postgresTestUtils.createDatabase();
|
|
20
|
-
await queryAsync(
|
|
32
|
+
await queryAsync(
|
|
33
|
+
'CREATE TABLE workspaces (id BIGSERIAL PRIMARY KEY, created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP);',
|
|
34
|
+
{}
|
|
35
|
+
);
|
|
21
36
|
await queryAsync('INSERT INTO workspaces (id) SELECT s FROM generate_series(1, 100) AS s', {});
|
|
22
37
|
});
|
|
23
38
|
|
|
@@ -25,6 +40,95 @@ describe('@prairielearn/postgres', function () {
|
|
|
25
40
|
await postgresTestUtils.dropDatabase();
|
|
26
41
|
});
|
|
27
42
|
|
|
43
|
+
describe('queryRows', () => {
|
|
44
|
+
it('handles single column', async () => {
|
|
45
|
+
const rows = await queryRows('SELECT id FROM workspaces WHERE id <= 10;', z.string());
|
|
46
|
+
assert.lengthOf(rows, 10);
|
|
47
|
+
assert.equal(rows[0], '1');
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
it('handles multiple columns', async () => {
|
|
51
|
+
const rows = await queryRows('SELECT * FROM workspaces WHERE id <= 10;', WorkspaceSchema);
|
|
52
|
+
assert.lengthOf(rows, 10);
|
|
53
|
+
assert.equal(rows[0].id, '1');
|
|
54
|
+
assert.isNotNull(rows[0].created_at);
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it('handles parameters', async () => {
|
|
58
|
+
const rows = await queryRows(
|
|
59
|
+
'SELECT * FROM workspaces WHERE id <= $1;',
|
|
60
|
+
[10],
|
|
61
|
+
WorkspaceSchema
|
|
62
|
+
);
|
|
63
|
+
assert.lengthOf(rows, 10);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
describe('queryRow', () => {
|
|
68
|
+
it('handles single column', async () => {
|
|
69
|
+
const row = await queryRow('SELECT id FROM workspaces WHERE id = 1;', z.string());
|
|
70
|
+
assert.equal(row, '1');
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
it('handles multiple columns', async () => {
|
|
74
|
+
const row = await queryRow('SELECT * FROM workspaces WHERE id = 1;', WorkspaceSchema);
|
|
75
|
+
assert.equal(row.id, '1');
|
|
76
|
+
assert.isNotNull(row.created_at);
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
it('handles parameters', async () => {
|
|
80
|
+
const row = await queryRow('SELECT * FROM workspaces WHERE id = $1;', [1], WorkspaceSchema);
|
|
81
|
+
assert.equal(row.id, '1');
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
it('rejects results with zero rows', async () => {
|
|
85
|
+
const rows = queryRow('SELECT * FROM workspaces WHERE id = -1;', WorkspaceSchema);
|
|
86
|
+
await assert.isRejected(rows, 'Incorrect rowCount: 0');
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
it('rejects results with multiple rows', async () => {
|
|
90
|
+
const rows = queryRow('SELECT * FROM workspaces', WorkspaceSchema);
|
|
91
|
+
await assert.isRejected(rows, 'Incorrect rowCount: 100');
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
describe('queryOptionalRow', () => {
|
|
96
|
+
it('handles single column', async () => {
|
|
97
|
+
const row = await queryRow('SELECT id FROM workspaces WHERE id = 1;', z.string());
|
|
98
|
+
assert.equal(row, '1');
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
it('handles multiple columns', async () => {
|
|
102
|
+
const row = await queryOptionalRow('SELECT * FROM workspaces WHERE id = 1;', WorkspaceSchema);
|
|
103
|
+
assert.isNotNull(row);
|
|
104
|
+
assert.equal(row?.id, '1');
|
|
105
|
+
assert.isNotNull(row?.created_at);
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
it('handles parameters', async () => {
|
|
109
|
+
const row = await queryOptionalRow(
|
|
110
|
+
'SELECT * FROM workspaces WHERE id = $1;',
|
|
111
|
+
[1],
|
|
112
|
+
WorkspaceSchema
|
|
113
|
+
);
|
|
114
|
+
assert.isNotNull(row);
|
|
115
|
+
assert.equal(row?.id, '1');
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
it('handles missing result', async () => {
|
|
119
|
+
const row = await queryOptionalRow(
|
|
120
|
+
'SELECT * FROM workspaces WHERE id = -1;',
|
|
121
|
+
WorkspaceSchema
|
|
122
|
+
);
|
|
123
|
+
assert.isNull(row);
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
it('rejects with multiple rows', async () => {
|
|
127
|
+
const rows = queryOptionalRow('SELECT * FROM workspaces', WorkspaceSchema);
|
|
128
|
+
await assert.isRejected(rows, 'Incorrect rowCount: 100');
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
|
|
28
132
|
describe('queryCursor', () => {
|
|
29
133
|
it('returns zero rows', async () => {
|
|
30
134
|
const cursor = await queryCursor('SELECT * FROM workspaces WHERE id = 10000;', {});
|
package/src/pool.ts
CHANGED
|
@@ -862,6 +862,78 @@ export class PostgresPool {
|
|
|
862
862
|
}
|
|
863
863
|
}
|
|
864
864
|
|
|
865
|
+
async queryRows<Model extends z.ZodTypeAny>(sql: string, model: Model): Promise<z.infer<Model>[]>;
|
|
866
|
+
async queryRows<Model extends z.ZodTypeAny>(
|
|
867
|
+
sql: string,
|
|
868
|
+
params: QueryParams,
|
|
869
|
+
model: Model
|
|
870
|
+
): Promise<z.infer<Model>[]>;
|
|
871
|
+
async queryRows<Model extends z.ZodTypeAny>(
|
|
872
|
+
sql: string,
|
|
873
|
+
paramsOrSchema: QueryParams | Model,
|
|
874
|
+
maybeModel?: Model
|
|
875
|
+
) {
|
|
876
|
+
const params = maybeModel === undefined ? {} : (paramsOrSchema as QueryParams);
|
|
877
|
+
const model = maybeModel === undefined ? (paramsOrSchema as Model) : maybeModel;
|
|
878
|
+
const results = await this.queryAsync(sql, params);
|
|
879
|
+
if (results.fields.length === 1) {
|
|
880
|
+
const columnName = results.fields[0].name;
|
|
881
|
+
const rawData = results.rows.map((row) => row[columnName]);
|
|
882
|
+
return z.array(model).parse(rawData);
|
|
883
|
+
} else {
|
|
884
|
+
return z.array(model).parse(results.rows);
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
|
|
888
|
+
async queryRow<Model extends z.ZodTypeAny>(sql: string, model: Model): Promise<z.infer<Model>>;
|
|
889
|
+
async queryRow<Model extends z.ZodTypeAny>(
|
|
890
|
+
sql: string,
|
|
891
|
+
params: QueryParams,
|
|
892
|
+
model: Model
|
|
893
|
+
): Promise<z.infer<Model>>;
|
|
894
|
+
async queryRow<Model extends z.ZodTypeAny>(
|
|
895
|
+
sql: string,
|
|
896
|
+
paramsOrSchema: QueryParams | Model,
|
|
897
|
+
maybeModel?: Model
|
|
898
|
+
) {
|
|
899
|
+
const params = maybeModel === undefined ? {} : (paramsOrSchema as QueryParams);
|
|
900
|
+
const model = maybeModel === undefined ? (paramsOrSchema as Model) : maybeModel;
|
|
901
|
+
const results = await this.queryOneRowAsync(sql, params);
|
|
902
|
+
if (results.fields.length === 1) {
|
|
903
|
+
const columnName = results.fields[0].name;
|
|
904
|
+
return model.parse(results.rows[0][columnName]);
|
|
905
|
+
} else {
|
|
906
|
+
return model.parse(results.rows[0]);
|
|
907
|
+
}
|
|
908
|
+
}
|
|
909
|
+
|
|
910
|
+
async queryOptionalRow<Model extends z.ZodTypeAny>(
|
|
911
|
+
sql: string,
|
|
912
|
+
model: Model
|
|
913
|
+
): Promise<z.infer<Model> | null>;
|
|
914
|
+
async queryOptionalRow<Model extends z.ZodTypeAny>(
|
|
915
|
+
sql: string,
|
|
916
|
+
params: QueryParams,
|
|
917
|
+
model: Model
|
|
918
|
+
): Promise<z.infer<Model> | null>;
|
|
919
|
+
async queryOptionalRow<Model extends z.ZodTypeAny>(
|
|
920
|
+
sql: string,
|
|
921
|
+
paramsOrSchema: QueryParams | Model,
|
|
922
|
+
maybeModel?: Model
|
|
923
|
+
) {
|
|
924
|
+
const params = maybeModel === undefined ? {} : (paramsOrSchema as QueryParams);
|
|
925
|
+
const model = maybeModel === undefined ? (paramsOrSchema as Model) : maybeModel;
|
|
926
|
+
const results = await this.queryZeroOrOneRowAsync(sql, params);
|
|
927
|
+
if (results.rows.length === 0) {
|
|
928
|
+
return null;
|
|
929
|
+
} else if (results.fields.length === 1) {
|
|
930
|
+
const columnName = results.fields[0].name;
|
|
931
|
+
return model.parse(results.rows[0][columnName]);
|
|
932
|
+
} else {
|
|
933
|
+
return model.parse(results.rows[0]);
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
|
|
865
937
|
/**
|
|
866
938
|
* Returns a {@link Cursor} for the given query. The cursor can be used to
|
|
867
939
|
* read results in batches, which is useful for large result sets.
|