@bdkinc/knex-ibmi 0.0.25 → 0.0.27
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/dist/index.d.ts +3 -58
- package/package.json +2 -2
- package/src/index.d.ts +1 -1
- package/dist/execution/ibmi-transaction.d.ts +0 -7
- package/dist/execution/ibmi-transaction.js +0 -20
- package/dist/execution/ibmi-transaction.js.map +0 -1
- package/dist/query/ibmi-querycompiler.d.ts +0 -17
- package/dist/query/ibmi-querycompiler.js +0 -226
- package/dist/query/ibmi-querycompiler.js.map +0 -1
- package/dist/schema/ibmi-columncompiler.d.ts +0 -7
- package/dist/schema/ibmi-columncompiler.js +0 -13
- package/dist/schema/ibmi-columncompiler.js.map +0 -1
- package/dist/schema/ibmi-compiler.d.ts +0 -6
- package/dist/schema/ibmi-compiler.js +0 -48
- package/dist/schema/ibmi-compiler.js.map +0 -1
- package/dist/schema/ibmi-tablecompiler.d.ts +0 -9
- package/dist/schema/ibmi-tablecompiler.js +0 -103
- package/dist/schema/ibmi-tablecompiler.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,58 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import SchemaCompiler from "./schema/ibmi-compiler";
|
|
5
|
-
import TableCompiler from "./schema/ibmi-tablecompiler";
|
|
6
|
-
import ColumnCompiler from "./schema/ibmi-columncompiler";
|
|
7
|
-
import QueryCompiler from "./query/ibmi-querycompiler";
|
|
8
|
-
declare class DB2Client extends knex.Client {
|
|
9
|
-
constructor(config: any);
|
|
10
|
-
_driver(): typeof odbc;
|
|
11
|
-
printDebug(message: string): void;
|
|
12
|
-
acquireRawConnection(): Promise<any>;
|
|
13
|
-
destroyRawConnection(connection: Connection): Promise<void>;
|
|
14
|
-
_getConnectionString(connectionConfig: any): string;
|
|
15
|
-
_query(connection: any, obj: any): Promise<any>;
|
|
16
|
-
transaction(container: any, config: any, outerTx: any): Knex.Transaction;
|
|
17
|
-
schemaCompiler(): SchemaCompiler;
|
|
18
|
-
tableCompiler(): TableCompiler;
|
|
19
|
-
columnCompiler(): ColumnCompiler;
|
|
20
|
-
queryCompiler(): QueryCompiler;
|
|
21
|
-
processResponse(obj: any, runner: any): any;
|
|
22
|
-
}
|
|
23
|
-
interface DB2PoolConfig {
|
|
24
|
-
min: number;
|
|
25
|
-
max: number;
|
|
26
|
-
}
|
|
27
|
-
interface DB2ConnectionParams {
|
|
28
|
-
CMT?: number;
|
|
29
|
-
CONNTYPE?: number;
|
|
30
|
-
DBQ?: string;
|
|
31
|
-
MAXDECPREC?: 31 | 63;
|
|
32
|
-
MAXDECSCALE?: number;
|
|
33
|
-
MINDIVSCALE?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;
|
|
34
|
-
NAM?: 0 | 1;
|
|
35
|
-
DFT?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
|
36
|
-
DSP?: 0 | 1 | 2 | 3 | 4;
|
|
37
|
-
DEC?: 0 | 1;
|
|
38
|
-
DECFLOATERROROPTION?: 0 | 1;
|
|
39
|
-
DECFLOATROUNDMODE?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
40
|
-
MAPDECIMALFLOATDESCRIBE?: 1 | 3;
|
|
41
|
-
}
|
|
42
|
-
interface DB2ConnectionConfig {
|
|
43
|
-
database: string;
|
|
44
|
-
host: string;
|
|
45
|
-
port: 50000 | number;
|
|
46
|
-
user: string;
|
|
47
|
-
password: string;
|
|
48
|
-
driver: "IBM i Access ODBC Driver" | string;
|
|
49
|
-
connectionStringParams?: DB2ConnectionParams;
|
|
50
|
-
pool?: DB2PoolConfig;
|
|
51
|
-
}
|
|
52
|
-
export interface DB2Config {
|
|
53
|
-
client: any;
|
|
54
|
-
connection: DB2ConnectionConfig;
|
|
55
|
-
pool?: DB2PoolConfig;
|
|
56
|
-
}
|
|
57
|
-
export declare const DB2Dialect: typeof DB2Client;
|
|
58
|
-
export default DB2Client;
|
|
1
|
+
declare module "knex/lib/query/querycompiler" {}
|
|
2
|
+
declare module "knex/lib/schema/tablecompiler" {}
|
|
3
|
+
declare module "knex/lib/schema/compiler" {}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bdkinc/knex-ibmi",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.27",
|
|
4
4
|
"description": "Knex dialect for IBMi",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"node": ">=14"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
|
-
"build": "tsup src/index.ts",
|
|
15
|
+
"build": "tsup src/index.ts --dts",
|
|
16
16
|
"lint:scripts": "eslint . --ext .ts",
|
|
17
17
|
"format:scripts": "prettier . --write"
|
|
18
18
|
},
|
package/src/index.d.ts
CHANGED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import Transaction from "knex/lib/execution/transaction";
|
|
2
|
-
declare class IBMiTransaction extends Transaction {
|
|
3
|
-
begin(connection: any): Promise<any>;
|
|
4
|
-
rollback(connection: any): Promise<any>;
|
|
5
|
-
commit(connection: any): Promise<any>;
|
|
6
|
-
}
|
|
7
|
-
export default IBMiTransaction;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const transaction_1 = require("knex/lib/execution/transaction");
|
|
5
|
-
class IBMiTransaction extends transaction_1.default {
|
|
6
|
-
async begin(connection) {
|
|
7
|
-
await connection.beginTransaction();
|
|
8
|
-
return connection;
|
|
9
|
-
}
|
|
10
|
-
async rollback(connection) {
|
|
11
|
-
await connection.rollback();
|
|
12
|
-
return connection;
|
|
13
|
-
}
|
|
14
|
-
async commit(connection) {
|
|
15
|
-
await connection.commit();
|
|
16
|
-
return connection;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.default = IBMiTransaction;
|
|
20
|
-
//# sourceMappingURL=ibmi-transaction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ibmi-transaction.js","sourceRoot":"","sources":["../../src/execution/ibmi-transaction.ts"],"names":[],"mappings":";;AAAA,aAAa;AACb,gEAAyD;AAEzD,MAAM,eAAgB,SAAQ,qBAAW;IACvC,KAAK,CAAC,KAAK,CAAC,UAAU;QACpB,MAAM,UAAU,CAAC,gBAAgB,EAAE,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAU;QACvB,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC5B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAU;QACrB,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC;IACpB,CAAC;CACF;AAED,kBAAe,eAAe,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import QueryCompiler from "knex/lib/query/querycompiler";
|
|
2
|
-
declare class IBMiQueryCompiler extends QueryCompiler {
|
|
3
|
-
insert(): "" | {
|
|
4
|
-
sql: string;
|
|
5
|
-
returning: any;
|
|
6
|
-
};
|
|
7
|
-
_buildInsertData(insertValues: any, returningSql: any): string;
|
|
8
|
-
_prepInsert(data: any): any;
|
|
9
|
-
update(): {
|
|
10
|
-
sql: string;
|
|
11
|
-
returning: any;
|
|
12
|
-
selectReturning: string;
|
|
13
|
-
};
|
|
14
|
-
_returning(method: any, value: any, withTrigger: any): string | undefined;
|
|
15
|
-
columnizeWithPrefix(prefix: any, target: any): string;
|
|
16
|
-
}
|
|
17
|
-
export default IBMiQueryCompiler;
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const querycompiler_1 = require("knex/lib/query/querycompiler");
|
|
5
|
-
const isObject_1 = require("lodash/isObject");
|
|
6
|
-
const wrappingFormatter_1 = require("knex/lib/formatter/wrappingFormatter");
|
|
7
|
-
const date_fns_1 = require("date-fns");
|
|
8
|
-
const isEmpty_1 = require("lodash/isEmpty");
|
|
9
|
-
const console = require("console");
|
|
10
|
-
class IBMiQueryCompiler extends querycompiler_1.default {
|
|
11
|
-
insert() {
|
|
12
|
-
// @ts-ignore
|
|
13
|
-
const insertValues = this.single.insert || [];
|
|
14
|
-
// we need to return a value
|
|
15
|
-
// we need to wrap the insert statement in a select statement
|
|
16
|
-
// we use the "IDENTITY_VAL_LOCAL()" function to return the IDENTITY
|
|
17
|
-
// unless specified in a return
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
let sql = `SELECT ${
|
|
20
|
-
// @ts-ignore
|
|
21
|
-
this.single.returning
|
|
22
|
-
? // @ts-ignore
|
|
23
|
-
this.formatter.columnize(this.single.returning)
|
|
24
|
-
: "IDENTITY_VAL_LOCAL()"} FROM FINAL TABLE(`;
|
|
25
|
-
// @ts-ignore
|
|
26
|
-
sql += this.with() + `insert into ${this.tableName} `;
|
|
27
|
-
// @ts-ignore
|
|
28
|
-
const { returning } = this.single;
|
|
29
|
-
const returningSql = returning
|
|
30
|
-
? // @ts-ignore
|
|
31
|
-
this._returning("insert", returning) + " "
|
|
32
|
-
: "";
|
|
33
|
-
if (Array.isArray(insertValues)) {
|
|
34
|
-
if (insertValues.length === 0) {
|
|
35
|
-
return "";
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
else if (typeof insertValues === "object" && (0, isEmpty_1.default)(insertValues)) {
|
|
39
|
-
return {
|
|
40
|
-
// @ts-ignore
|
|
41
|
-
sql: sql + returningSql + this._emptyInsertValue,
|
|
42
|
-
returning,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
// @ts-ignore
|
|
46
|
-
sql += this._buildInsertData(insertValues, returningSql);
|
|
47
|
-
sql += ")";
|
|
48
|
-
return {
|
|
49
|
-
sql,
|
|
50
|
-
returning,
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
_buildInsertData(insertValues, returningSql) {
|
|
54
|
-
let sql = "";
|
|
55
|
-
const insertData = this._prepInsert(insertValues);
|
|
56
|
-
if (typeof insertData === "string") {
|
|
57
|
-
sql += insertData;
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
if (insertData.columns.length) {
|
|
61
|
-
// @ts-ignore
|
|
62
|
-
sql += `(${this.formatter.columnize(insertData.columns)}`;
|
|
63
|
-
sql +=
|
|
64
|
-
`) ${returningSql}values (` +
|
|
65
|
-
// @ts-ignore
|
|
66
|
-
this._buildInsertValues(insertData) +
|
|
67
|
-
")";
|
|
68
|
-
}
|
|
69
|
-
else if (insertValues.length === 1 && insertValues[0]) {
|
|
70
|
-
// @ts-ignore
|
|
71
|
-
sql += returningSql + this._emptyInsertValue;
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
return "";
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return sql;
|
|
78
|
-
}
|
|
79
|
-
_prepInsert(data) {
|
|
80
|
-
if ((0, isObject_1.default)(data)) {
|
|
81
|
-
if (data.hasOwnProperty("migration_time")) {
|
|
82
|
-
const parsed = new Date(data.migration_time);
|
|
83
|
-
data.migration_time = (0, date_fns_1.format)(parsed, "yyyy-MM-dd HH:mm:ss");
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
const isRaw = (0, wrappingFormatter_1.rawOrFn)(data, undefined,
|
|
87
|
-
// @ts-ignore
|
|
88
|
-
this.builder,
|
|
89
|
-
// @ts-ignore
|
|
90
|
-
this.client,
|
|
91
|
-
// @ts-ignore
|
|
92
|
-
this.bindingsHolder);
|
|
93
|
-
if (isRaw)
|
|
94
|
-
return isRaw;
|
|
95
|
-
let columns = [];
|
|
96
|
-
const values = [];
|
|
97
|
-
if (!Array.isArray(data))
|
|
98
|
-
data = data ? [data] : [];
|
|
99
|
-
let i = -1;
|
|
100
|
-
while (++i < data.length) {
|
|
101
|
-
if (data[i] == null)
|
|
102
|
-
break;
|
|
103
|
-
if (i === 0)
|
|
104
|
-
columns = Object.keys(data[i]).sort();
|
|
105
|
-
const row = new Array(columns.length);
|
|
106
|
-
const keys = Object.keys(data[i]);
|
|
107
|
-
let j = -1;
|
|
108
|
-
while (++j < keys.length) {
|
|
109
|
-
const key = keys[j];
|
|
110
|
-
let idx = columns.indexOf(key);
|
|
111
|
-
if (idx === -1) {
|
|
112
|
-
columns = columns.concat(key).sort();
|
|
113
|
-
idx = columns.indexOf(key);
|
|
114
|
-
let k = -1;
|
|
115
|
-
while (++k < values.length) {
|
|
116
|
-
values[k].splice(idx, 0, undefined);
|
|
117
|
-
}
|
|
118
|
-
row.splice(idx, 0, undefined);
|
|
119
|
-
}
|
|
120
|
-
row[idx] = data[i][key];
|
|
121
|
-
}
|
|
122
|
-
values.push(row);
|
|
123
|
-
}
|
|
124
|
-
return {
|
|
125
|
-
columns,
|
|
126
|
-
values,
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
update() {
|
|
130
|
-
// @ts-ignore
|
|
131
|
-
const withSQL = this.with();
|
|
132
|
-
// @ts-ignore
|
|
133
|
-
const updates = this._prepUpdate(this.single.update);
|
|
134
|
-
// @ts-ignore
|
|
135
|
-
const where = this.where();
|
|
136
|
-
// @ts-ignore
|
|
137
|
-
const order = this.order();
|
|
138
|
-
// @ts-ignore
|
|
139
|
-
const limit = this.limit();
|
|
140
|
-
// @ts-ignore
|
|
141
|
-
const { returning } = this.single;
|
|
142
|
-
// @ts-ignore
|
|
143
|
-
const values = Object.values(this.single.update)
|
|
144
|
-
.map((a) => `${a}`)
|
|
145
|
-
.join(", ");
|
|
146
|
-
// @ts-ignore
|
|
147
|
-
console.log({
|
|
148
|
-
returning,
|
|
149
|
-
// @ts-ignore
|
|
150
|
-
where,
|
|
151
|
-
// @ts-ignore
|
|
152
|
-
updates,
|
|
153
|
-
// @ts-ignore
|
|
154
|
-
single: this.single.update,
|
|
155
|
-
// @ts-ignore
|
|
156
|
-
grouped: this.grouped.where,
|
|
157
|
-
values,
|
|
158
|
-
});
|
|
159
|
-
// @ts-ignore
|
|
160
|
-
const moreWheres =
|
|
161
|
-
// @ts-ignore
|
|
162
|
-
this.grouped.where && this.grouped.where.length > 0
|
|
163
|
-
? // @ts-ignore
|
|
164
|
-
this.grouped.where.map((w) => {
|
|
165
|
-
// @ts-ignore
|
|
166
|
-
if (this.single.update.hasOwnProperty(w.column))
|
|
167
|
-
return;
|
|
168
|
-
if (!w.value)
|
|
169
|
-
return;
|
|
170
|
-
return `"${w.column}" ${w.not ? "!" : ""}${w.operator} ${w.value}`;
|
|
171
|
-
})
|
|
172
|
-
: [];
|
|
173
|
-
let selectReturning = returning
|
|
174
|
-
? `select ${returning.map((a) => `"${a}"`).join(", ")} from ${
|
|
175
|
-
// @ts-ignore
|
|
176
|
-
this.tableName
|
|
177
|
-
// @ts-ignore
|
|
178
|
-
} where ${Object.entries(this.single.update)
|
|
179
|
-
.map(([key, value]) => `"${key}" = '${value}'`)
|
|
180
|
-
.join(" and ")}${moreWheres.length > 0 && " and "}${moreWheres.join(" and ")}`
|
|
181
|
-
: "";
|
|
182
|
-
console.log({ selectReturning });
|
|
183
|
-
const sql = withSQL +
|
|
184
|
-
// @ts-ignore
|
|
185
|
-
`update ${this.single.only ? "only " : ""}${this.tableName}` +
|
|
186
|
-
" set " +
|
|
187
|
-
// @ts-ignore
|
|
188
|
-
updates.join(", ") +
|
|
189
|
-
(where ? ` ${where}` : "") +
|
|
190
|
-
(order ? ` ${order}` : "") +
|
|
191
|
-
(limit ? ` ${limit}` : "");
|
|
192
|
-
return { sql, returning, selectReturning };
|
|
193
|
-
}
|
|
194
|
-
_returning(method, value, withTrigger) {
|
|
195
|
-
// currently a placeholder in case I need to update return values
|
|
196
|
-
console.log("_returning", value);
|
|
197
|
-
switch (method) {
|
|
198
|
-
case "update":
|
|
199
|
-
case "insert":
|
|
200
|
-
return value
|
|
201
|
-
? // @ts-ignore
|
|
202
|
-
`${withTrigger ? " into #out" : ""}`
|
|
203
|
-
: "";
|
|
204
|
-
case "del":
|
|
205
|
-
return value
|
|
206
|
-
? // @ts-ignore
|
|
207
|
-
`${withTrigger ? " into #out" : ""}`
|
|
208
|
-
: "";
|
|
209
|
-
case "rowcount":
|
|
210
|
-
return value ? "select @@rowcount" : "";
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
columnizeWithPrefix(prefix, target) {
|
|
214
|
-
const columns = typeof target === "string" ? [target] : target;
|
|
215
|
-
let str = "", i = -1;
|
|
216
|
-
while (++i < columns.length) {
|
|
217
|
-
if (i > 0)
|
|
218
|
-
str += ", ";
|
|
219
|
-
// @ts-ignore
|
|
220
|
-
str += prefix + this.wrap(columns[i]);
|
|
221
|
-
}
|
|
222
|
-
return str;
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
exports.default = IBMiQueryCompiler;
|
|
226
|
-
//# sourceMappingURL=ibmi-querycompiler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ibmi-querycompiler.js","sourceRoot":"","sources":["../../src/query/ibmi-querycompiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const columncompiler_1 = require("knex/lib/schema/columncompiler");
|
|
5
|
-
class IBMiColumnCompiler extends columncompiler_1.default {
|
|
6
|
-
increments(options = { primaryKey: true }) {
|
|
7
|
-
return ("int not null generated always as identity (start with 1, increment by 1)" +
|
|
8
|
-
// @ts-ignore
|
|
9
|
-
(this.tableCompiler._canBeAddPrimaryKey(options) ? " primary key" : ""));
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.default = IBMiColumnCompiler;
|
|
13
|
-
//# sourceMappingURL=ibmi-columncompiler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ibmi-columncompiler.js","sourceRoot":"","sources":["../../src/schema/ibmi-columncompiler.ts"],"names":[],"mappings":";;AAAA,aAAa;AACb,mEAA4D;AAE5D,MAAM,kBAAmB,SAAQ,wBAAc;IAC7C,UAAU,CAAC,OAAO,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE;QACvC,OAAO,CACL,0EAA0E;YAC1E,aAAa;YACb,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CACxE,CAAC;IACJ,CAAC;CACF;AAED,kBAAe,kBAAkB,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const compiler_1 = require("knex/lib/schema/compiler");
|
|
5
|
-
class IBMiSchemaCompiler extends compiler_1.default {
|
|
6
|
-
hasTable(tableName) {
|
|
7
|
-
// @ts-ignore
|
|
8
|
-
const formattedTable = this.client.parameter(
|
|
9
|
-
// @ts-ignore
|
|
10
|
-
prefixedTableName(this.schema, tableName),
|
|
11
|
-
// @ts-ignore
|
|
12
|
-
this.builder,
|
|
13
|
-
// @ts-ignore
|
|
14
|
-
this.bindingsHolder);
|
|
15
|
-
const bindings = [tableName];
|
|
16
|
-
let sql = `SELECT TABLE_NAME FROM QSYS2.SYSTABLES ` +
|
|
17
|
-
`where TYPE = 'T' and TABLE_NAME = ${formattedTable}`;
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
if (this.schema) {
|
|
20
|
-
sql += " and TABLE_SCHEMA = ?";
|
|
21
|
-
// @ts-ignore
|
|
22
|
-
bindings.push(this.schema);
|
|
23
|
-
}
|
|
24
|
-
// @ts-ignore
|
|
25
|
-
this.pushQuery({
|
|
26
|
-
sql,
|
|
27
|
-
bindings,
|
|
28
|
-
output: (resp) => {
|
|
29
|
-
return resp.rowCount > 0;
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
toSQL() {
|
|
34
|
-
// @ts-ignore
|
|
35
|
-
const sequence = this.builder._sequence;
|
|
36
|
-
for (let i = 0, l = sequence.length; i < l; i++) {
|
|
37
|
-
const query = sequence[i];
|
|
38
|
-
this[query.method].apply(this, query.args);
|
|
39
|
-
}
|
|
40
|
-
// @ts-ignore
|
|
41
|
-
return this.sequence;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
function prefixedTableName(prefix, table) {
|
|
45
|
-
return prefix ? `${prefix}.${table}` : table;
|
|
46
|
-
}
|
|
47
|
-
exports.default = IBMiSchemaCompiler;
|
|
48
|
-
//# sourceMappingURL=ibmi-compiler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ibmi-compiler.js","sourceRoot":"","sources":["../../src/schema/ibmi-compiler.ts"],"names":[],"mappings":";;AAAA,aAAa;AACb,uDAAsD;AAEtD,MAAM,kBAAmB,SAAQ,kBAAc;IAC7C,QAAQ,CAAC,SAAS;QAChB,aAAa;QACb,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;QAC1C,aAAa;QACb,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;QACzC,aAAa;QACb,IAAI,CAAC,OAAO;QACZ,aAAa;QACb,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,IAAI,GAAG,GACL,yCAAyC;YACzC,qCAAqC,cAAc,EAAE,CAAC;QACxD,aAAa;QACb,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,GAAG,IAAI,uBAAuB,CAAC;YAC/B,aAAa;YACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC5B;QAED,aAAa;QACb,IAAI,CAAC,SAAS,CAAC;YACb,GAAG;YACH,QAAQ;YACR,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACf,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;YAC3B,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,aAAa;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,aAAa;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,MAAM,EAAE,KAAK;IACtC,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/C,CAAC;AAED,kBAAe,kBAAkB,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import TableCompiler from "knex/lib/schema/tablecompiler";
|
|
2
|
-
declare class IBMiTableCompiler extends TableCompiler {
|
|
3
|
-
createQuery(columns: any, ifNot: any, like: any): void;
|
|
4
|
-
dropUnique(columns: any, indexName: any): void;
|
|
5
|
-
unique(columns: any, indexName: any): void;
|
|
6
|
-
addColumns(columns: any, prefix: any): void;
|
|
7
|
-
commit(conn: any): Promise<any>;
|
|
8
|
-
}
|
|
9
|
-
export default IBMiTableCompiler;
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
// @ts-ignore
|
|
4
|
-
const tablecompiler_1 = require("knex/lib/schema/tablecompiler");
|
|
5
|
-
const isObject_1 = require("lodash/isObject");
|
|
6
|
-
class IBMiTableCompiler extends tablecompiler_1.default {
|
|
7
|
-
createQuery(columns, ifNot, like) {
|
|
8
|
-
let createStatement = ifNot
|
|
9
|
-
// @ts-ignore
|
|
10
|
-
? `if object_id('${this.tableName()}', 'U') is null `
|
|
11
|
-
: "";
|
|
12
|
-
if (like) {
|
|
13
|
-
// This query copy only columns and not all indexes and keys like other databases.
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
createStatement += `SELECT * INTO ${this.tableName()} FROM ${this.tableNameLike()} WHERE 0=1`;
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
createStatement +=
|
|
19
|
-
"CREATE TABLE " +
|
|
20
|
-
// @ts-ignore
|
|
21
|
-
this.tableName() +
|
|
22
|
-
// @ts-ignore
|
|
23
|
-
(this._formatting ? " (\n " : " (") +
|
|
24
|
-
// @ts-ignore
|
|
25
|
-
columns.sql.join(this._formatting ? ",\n " : ", ") +
|
|
26
|
-
// @ts-ignore
|
|
27
|
-
this._addChecks() +
|
|
28
|
-
")";
|
|
29
|
-
}
|
|
30
|
-
// @ts-ignore
|
|
31
|
-
this.pushQuery(createStatement);
|
|
32
|
-
// @ts-ignore
|
|
33
|
-
if (this.single.comment) {
|
|
34
|
-
// @ts-ignore
|
|
35
|
-
this.comment(this.single.comment);
|
|
36
|
-
}
|
|
37
|
-
if (like) {
|
|
38
|
-
// @ts-ignore
|
|
39
|
-
this.addColumns(columns, this.addColumnsPrefix);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
dropUnique(columns, indexName) {
|
|
43
|
-
indexName = indexName
|
|
44
|
-
// @ts-ignore
|
|
45
|
-
? this.formatter.wrap(indexName)
|
|
46
|
-
// @ts-ignore
|
|
47
|
-
: this._indexCommand('unique', this.tableNameRaw, columns);
|
|
48
|
-
// @ts-ignore
|
|
49
|
-
this.pushQuery(`drop index ${indexName}`);
|
|
50
|
-
}
|
|
51
|
-
unique(columns, indexName) {
|
|
52
|
-
let deferrable;
|
|
53
|
-
let predicate;
|
|
54
|
-
if ((0, isObject_1.default)(indexName)) {
|
|
55
|
-
({ indexName, deferrable, predicate } = indexName);
|
|
56
|
-
}
|
|
57
|
-
if (deferrable && deferrable !== 'not deferrable') {
|
|
58
|
-
// @ts-ignore
|
|
59
|
-
this.client.logger.warn(`IBMi: unique index \`${indexName}\` will not be deferrable ${deferrable}.`);
|
|
60
|
-
}
|
|
61
|
-
indexName = indexName
|
|
62
|
-
// @ts-ignore
|
|
63
|
-
? this.formatter.wrap(indexName)
|
|
64
|
-
// @ts-ignore
|
|
65
|
-
: this._indexCommand('unique', this.tableNameRaw, columns);
|
|
66
|
-
// @ts-ignore
|
|
67
|
-
columns = this.formatter.columnize(columns);
|
|
68
|
-
const predicateQuery = predicate
|
|
69
|
-
// @ts-ignore
|
|
70
|
-
? ' ' + this.client.queryCompiler(predicate).where()
|
|
71
|
-
: '';
|
|
72
|
-
// @ts-ignore
|
|
73
|
-
this.pushQuery(
|
|
74
|
-
// @ts-ignore
|
|
75
|
-
`create unique index ${indexName} on ${this.tableName()} (${columns})${predicateQuery}`);
|
|
76
|
-
}
|
|
77
|
-
// All of the columns to "add" for the query
|
|
78
|
-
addColumns(columns, prefix) {
|
|
79
|
-
// @ts-ignore
|
|
80
|
-
prefix = prefix || this.addColumnsPrefix;
|
|
81
|
-
if (columns.sql.length > 0) {
|
|
82
|
-
const columnSql = columns.sql.map((column) => {
|
|
83
|
-
return prefix + column;
|
|
84
|
-
});
|
|
85
|
-
// @ts-ignore
|
|
86
|
-
this.pushQuery({
|
|
87
|
-
sql:
|
|
88
|
-
// @ts-ignore
|
|
89
|
-
(this.lowerCase ? 'alter table ' : 'ALTER TABLE ') +
|
|
90
|
-
// @ts-ignore
|
|
91
|
-
this.tableName() +
|
|
92
|
-
' ' +
|
|
93
|
-
columnSql.join(' '),
|
|
94
|
-
bindings: columns.bindings,
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
async commit(conn) {
|
|
99
|
-
return await conn.commit();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
exports.default = IBMiTableCompiler;
|
|
103
|
-
//# sourceMappingURL=ibmi-tablecompiler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ibmi-tablecompiler.js","sourceRoot":"","sources":["../../src/schema/ibmi-tablecompiler.ts"],"names":[],"mappings":"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"}
|