@deterministic-code/datasources-mysql 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, DropIndexStatement, DropRoutineStatement, SelectInsertedIdStatement, StatementRenderer, type StatementTextRenderer } from "@deterministic-code/datasources";
|
|
1
|
+
import { AlterTableStatement, BulkUpdateStatement, CreateBulkCreateStoredProcedureStatement, CreateBulkDeleteStoredProcedureStatement, CreateBulkUpdateStoredProcedureStatement, CreateCreateStoredProcedureStatement, CreateDeleteStoredProcedureStatement, CreateNestedReadStoredProcedureStatement, CreateReadStoredProcedureStatement, CreateTableStatement, CreateTriggerStatement, CreateUpdateStoredProcedureStatement, DropIndexStatement, DropRoutineStatement, SelectInsertedIdStatement, StatementRenderer, type StatementTextRenderer } from "@deterministic-code/datasources";
|
|
2
2
|
export declare class MysqlStatementRenderer extends StatementRenderer {
|
|
3
3
|
constructor(text: StatementTextRenderer);
|
|
4
4
|
protected visitSelectInsertedId(inserted: SelectInsertedIdStatement): string;
|
|
@@ -10,6 +10,7 @@ export declare class MysqlStatementRenderer extends StatementRenderer {
|
|
|
10
10
|
protected visitDropRoutine(routine: DropRoutineStatement): string;
|
|
11
11
|
protected visitCreateCreateStoredProcedureStatement(statement: CreateCreateStoredProcedureStatement): string;
|
|
12
12
|
protected visitCreateReadStoredProcedureStatement(statement: CreateReadStoredProcedureStatement): string;
|
|
13
|
+
protected visitCreateNestedReadStoredProcedureStatement(statement: CreateNestedReadStoredProcedureStatement): string;
|
|
13
14
|
protected visitCreateUpdateStoredProcedureStatement(statement: CreateUpdateStoredProcedureStatement): string;
|
|
14
15
|
protected visitCreateDeleteStoredProcedureStatement(statement: CreateDeleteStoredProcedureStatement): string;
|
|
15
16
|
protected visitCreateBulkCreateStoredProcedureStatement(statement: CreateBulkCreateStoredProcedureStatement): string;
|
|
@@ -42,6 +42,9 @@ export class MysqlStatementRenderer extends StatementRenderer {
|
|
|
42
42
|
visitCreateReadStoredProcedureStatement(statement) {
|
|
43
43
|
return new MysqlStoredProcedureStatementRenderer().renderRead(statement);
|
|
44
44
|
}
|
|
45
|
+
visitCreateNestedReadStoredProcedureStatement(statement) {
|
|
46
|
+
return new MysqlStoredProcedureStatementRenderer().renderNestedRead(statement);
|
|
47
|
+
}
|
|
45
48
|
visitCreateUpdateStoredProcedureStatement(statement) {
|
|
46
49
|
return new MysqlStoredProcedureStatementRenderer().renderUpdate(statement);
|
|
47
50
|
}
|
|
@@ -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 MysqlStoredProcedureStatementRenderer {
|
|
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) => ` IN ${p.name} ${p.type}`).join(",\n");
|
|
2
3
|
const where = (columns) => columns.map((c) => `t.${c} = ${c}`).join(" AND ");
|
|
3
4
|
const jsonColumns = (columns) => columns.map((c) => `${c.name} ${c.type} PATH '$.${c.name}'`).join(", ");
|
|
@@ -26,6 +27,13 @@ export class MysqlStoredProcedureStatementRenderer {
|
|
|
26
27
|
SELECT LAST_INSERT_ID() AS ${statement.key};`;
|
|
27
28
|
return procedure(statement.name, `\n${params(statement.parameters)}\n`, body);
|
|
28
29
|
}
|
|
30
|
+
renderNestedRead(statement) {
|
|
31
|
+
const select = DefaultStatementTextRenderer.instance.render(statement.select);
|
|
32
|
+
const signature = statement.arguments
|
|
33
|
+
.map((argument) => `IN ${argument.parameter.name} ${argument.parameter.type}`)
|
|
34
|
+
.join(", ");
|
|
35
|
+
return procedure(statement.name, signature, ` ${select};`);
|
|
36
|
+
}
|
|
29
37
|
renderRead(statement) {
|
|
30
38
|
const aliased = statement.columns.map((c) => `t.${c}`).join(", ");
|
|
31
39
|
if (statement.byProperties.length === 0) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deterministic-code/datasources-mysql",
|
|
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
|
"mysql2": "^3.14.0"
|
|
23
23
|
}
|
|
24
24
|
}
|