@deterministic-code/datasources-postgres 0.1.11 → 0.1.12
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AlterTableStatement, BulkUpdateStatement, CreateBulkCreateStoredProcedureStatement, CreateBulkDeleteStoredProcedureStatement, CreateBulkUpdateStoredProcedureStatement, CreateCreateStoredProcedureStatement, CreateDeleteStoredProcedureStatement, CreateReadStoredProcedureStatement, CreateTableStatement, CreateTriggerStatement, CreateUpdateStoredProcedureStatement, DropRoutineStatement, DropTriggerStatement, IdentityInsertStatement, SelectInsertedIdStatement, StatementRenderer, type StatementTextRenderer } from "@deterministic-code/datasources";
|
|
1
|
+
import { AlterTableStatement, BulkUpdateStatement, CreateBulkCreateStoredProcedureStatement, CreateBulkDeleteStoredProcedureStatement, CreateBulkUpdateStoredProcedureStatement, CreateCreateStoredProcedureStatement, CreateDeleteStoredProcedureStatement, CreateNestedReadStoredProcedureStatement, CreateReadStoredProcedureStatement, CreateTableStatement, CreateTriggerStatement, CreateUpdateStoredProcedureStatement, DropRoutineStatement, DropTriggerStatement, IdentityInsertStatement, SelectInsertedIdStatement, StatementRenderer, type StatementTextRenderer } from "@deterministic-code/datasources";
|
|
2
2
|
export declare class PostgresStatementRenderer extends StatementRenderer {
|
|
3
3
|
constructor(text: StatementTextRenderer);
|
|
4
4
|
protected visitSelectInsertedId(inserted: SelectInsertedIdStatement): string;
|
|
@@ -11,6 +11,7 @@ export declare class PostgresStatementRenderer extends StatementRenderer {
|
|
|
11
11
|
protected visitDropRoutine(routine: DropRoutineStatement): string;
|
|
12
12
|
protected visitCreateCreateStoredProcedureStatement(statement: CreateCreateStoredProcedureStatement): string;
|
|
13
13
|
protected visitCreateReadStoredProcedureStatement(statement: CreateReadStoredProcedureStatement): string;
|
|
14
|
+
protected visitCreateNestedReadStoredProcedureStatement(statement: CreateNestedReadStoredProcedureStatement): string;
|
|
14
15
|
protected visitCreateUpdateStoredProcedureStatement(statement: CreateUpdateStoredProcedureStatement): string;
|
|
15
16
|
protected visitCreateDeleteStoredProcedureStatement(statement: CreateDeleteStoredProcedureStatement): string;
|
|
16
17
|
protected visitCreateBulkCreateStoredProcedureStatement(statement: CreateBulkCreateStoredProcedureStatement): string;
|
|
@@ -47,6 +47,9 @@ export class PostgresStatementRenderer extends StatementRenderer {
|
|
|
47
47
|
visitCreateReadStoredProcedureStatement(statement) {
|
|
48
48
|
return new PostgresStoredProcedureStatementRenderer().renderRead(statement);
|
|
49
49
|
}
|
|
50
|
+
visitCreateNestedReadStoredProcedureStatement(statement) {
|
|
51
|
+
return new PostgresStoredProcedureStatementRenderer().renderNestedRead(statement);
|
|
52
|
+
}
|
|
50
53
|
visitCreateUpdateStoredProcedureStatement(statement) {
|
|
51
54
|
return new PostgresStoredProcedureStatementRenderer().renderUpdate(statement);
|
|
52
55
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { CreateBulkCreateStoredProcedureStatement, CreateBulkDeleteStoredProcedureStatement, CreateBulkUpdateStoredProcedureStatement, CreateCreateStoredProcedureStatement, CreateDeleteStoredProcedureStatement, CreateReadStoredProcedureStatement, CreateUpdateStoredProcedureStatement } from "@deterministic-code/datasources";
|
|
1
|
+
import type { CreateBulkCreateStoredProcedureStatement, CreateBulkDeleteStoredProcedureStatement, CreateBulkUpdateStoredProcedureStatement, CreateCreateStoredProcedureStatement, CreateDeleteStoredProcedureStatement, CreateNestedReadStoredProcedureStatement, CreateReadStoredProcedureStatement, CreateUpdateStoredProcedureStatement } from "@deterministic-code/datasources";
|
|
2
2
|
export declare class PostgresStoredProcedureStatementRenderer {
|
|
3
3
|
renderCreate(statement: CreateCreateStoredProcedureStatement): string;
|
|
4
|
+
renderNestedRead(statement: CreateNestedReadStoredProcedureStatement): string;
|
|
4
5
|
renderRead(statement: CreateReadStoredProcedureStatement): string;
|
|
5
6
|
renderUpdate(statement: CreateUpdateStoredProcedureStatement): string;
|
|
6
7
|
renderDelete(statement: CreateDeleteStoredProcedureStatement): string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DefaultStatementTextRenderer } from "@deterministic-code/datasources";
|
|
1
2
|
const params = (list) => list.map((p) => ` ${p.name} ${p.type}`).join(",\n");
|
|
2
3
|
const recordset = (columns) => columns.map((c) => `${c.name} ${c.type}`).join(", ");
|
|
3
4
|
export class PostgresStoredProcedureStatementRenderer {
|
|
@@ -14,6 +15,14 @@ BEGIN
|
|
|
14
15
|
RETURN new_id;
|
|
15
16
|
END;
|
|
16
17
|
$$`;
|
|
18
|
+
}
|
|
19
|
+
renderNestedRead(statement) {
|
|
20
|
+
const select = DefaultStatementTextRenderer.instance.render(statement.select);
|
|
21
|
+
const signature = statement.arguments
|
|
22
|
+
.map((argument) => `${argument.parameter.name} ${argument.parameter.type}`)
|
|
23
|
+
.join(", ");
|
|
24
|
+
return `CREATE OR REPLACE FUNCTION ${statement.name}(${signature}) RETURNS SETOF RECORD
|
|
25
|
+
LANGUAGE sql AS $$ ${select}; $$`;
|
|
17
26
|
}
|
|
18
27
|
renderRead(statement) {
|
|
19
28
|
const aliased = statement.columns.map((c) => `t.${c}`).join(", ");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deterministic-code/datasources-postgres",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.js",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@deterministic-code/datasources": "^0.1.
|
|
21
|
+
"@deterministic-code/datasources": "^0.1.12",
|
|
22
22
|
"@types/pg": "^8.15.5",
|
|
23
23
|
"pg": "^8.16.0",
|
|
24
24
|
"pg-query-stream": "^4.17.0"
|