@l-v-yonsama/multi-platform-database-drivers 0.14.4 → 1.0.0

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.
Files changed (89) hide show
  1. package/built/src/drivers/Auth0Driver.d.ts +3 -3
  2. package/built/src/drivers/Auth0Driver.js +10 -10
  3. package/built/src/drivers/Auth0Driver.js.map +1 -1
  4. package/built/src/drivers/BaseDriver.d.ts +2 -2
  5. package/built/src/drivers/KeycloakDriver.d.ts +3 -3
  6. package/built/src/drivers/KeycloakDriver.js +8 -8
  7. package/built/src/drivers/KeycloakDriver.js.map +1 -1
  8. package/built/src/drivers/MemcacheDriver.d.ts +3 -3
  9. package/built/src/drivers/MemcacheDriver.js +10 -9
  10. package/built/src/drivers/MemcacheDriver.js.map +1 -1
  11. package/built/src/drivers/MqttDriver.d.ts +5 -3
  12. package/built/src/drivers/MqttDriver.js +56 -5
  13. package/built/src/drivers/MqttDriver.js.map +1 -1
  14. package/built/src/drivers/MySQLDriver.js +5 -1
  15. package/built/src/drivers/MySQLDriver.js.map +1 -1
  16. package/built/src/drivers/PostgresDriver.js +3 -0
  17. package/built/src/drivers/PostgresDriver.js.map +1 -1
  18. package/built/src/drivers/RedisDriver.d.ts +4 -4
  19. package/built/src/drivers/RedisDriver.js +4 -4
  20. package/built/src/drivers/RedisDriver.js.map +1 -1
  21. package/built/src/drivers/SQLServerDriver.js +3 -2
  22. package/built/src/drivers/SQLServerDriver.js.map +1 -1
  23. package/built/src/drivers/SQLiteDriver.js +7 -0
  24. package/built/src/drivers/SQLiteDriver.js.map +1 -1
  25. package/built/src/drivers/aws/AwsCloudwatchServiceClient.d.ts +7 -5
  26. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js +14 -15
  27. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js.map +1 -1
  28. package/built/src/drivers/aws/AwsDynamoServiceClient.d.ts +2 -4
  29. package/built/src/drivers/aws/AwsDynamoServiceClient.js +0 -5
  30. package/built/src/drivers/aws/AwsDynamoServiceClient.js.map +1 -1
  31. package/built/src/drivers/aws/AwsS3ServiceClient.d.ts +3 -3
  32. package/built/src/drivers/aws/AwsS3ServiceClient.js +6 -6
  33. package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -1
  34. package/built/src/drivers/aws/AwsSQSServiceClient.d.ts +3 -3
  35. package/built/src/drivers/aws/AwsSQSServiceClient.js +5 -4
  36. package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -1
  37. package/built/src/helpers/ProposalHelper.d.ts +5 -0
  38. package/built/src/helpers/ProposalHelper.js +275 -0
  39. package/built/src/helpers/ProposalHelper.js.map +1 -0
  40. package/built/src/helpers/SQLHelper.d.ts +4 -9
  41. package/built/src/helpers/SQLHelper.js +22 -390
  42. package/built/src/helpers/SQLHelper.js.map +1 -1
  43. package/built/src/helpers/index.d.ts +2 -0
  44. package/built/src/helpers/index.js +2 -0
  45. package/built/src/helpers/index.js.map +1 -1
  46. package/built/src/helpers/prompts/Auth0PromptHelper.d.ts +2 -0
  47. package/built/src/helpers/prompts/Auth0PromptHelper.js +45 -0
  48. package/built/src/helpers/prompts/Auth0PromptHelper.js.map +1 -0
  49. package/built/src/helpers/prompts/AwsPromptHelper.d.ts +6 -0
  50. package/built/src/helpers/prompts/AwsPromptHelper.js +200 -0
  51. package/built/src/helpers/prompts/AwsPromptHelper.js.map +1 -0
  52. package/built/src/helpers/prompts/KeycloakPromptHelper.d.ts +2 -0
  53. package/built/src/helpers/prompts/KeycloakPromptHelper.js +38 -0
  54. package/built/src/helpers/prompts/KeycloakPromptHelper.js.map +1 -0
  55. package/built/src/helpers/prompts/MemcachePromptHelper.d.ts +2 -0
  56. package/built/src/helpers/prompts/MemcachePromptHelper.js +31 -0
  57. package/built/src/helpers/prompts/MemcachePromptHelper.js.map +1 -0
  58. package/built/src/helpers/prompts/MqttPromptHelper.d.ts +2 -0
  59. package/built/src/helpers/prompts/MqttPromptHelper.js +31 -0
  60. package/built/src/helpers/prompts/MqttPromptHelper.js.map +1 -0
  61. package/built/src/helpers/prompts/RdsPromptHelper.d.ts +7 -0
  62. package/built/src/helpers/prompts/RdsPromptHelper.js +164 -0
  63. package/built/src/helpers/prompts/RdsPromptHelper.js.map +1 -0
  64. package/built/src/helpers/prompts/RedisPromptHelper.d.ts +2 -0
  65. package/built/src/helpers/prompts/RedisPromptHelper.js +22 -0
  66. package/built/src/helpers/prompts/RedisPromptHelper.js.map +1 -0
  67. package/built/src/helpers/prompts/SchemaPromptHelper.d.ts +2 -0
  68. package/built/src/helpers/prompts/SchemaPromptHelper.js +82 -0
  69. package/built/src/helpers/prompts/SchemaPromptHelper.js.map +1 -0
  70. package/built/src/helpers/prompts/index.d.ts +8 -0
  71. package/built/src/helpers/prompts/index.js +12 -0
  72. package/built/src/helpers/prompts/index.js.map +1 -0
  73. package/built/src/helpers/prompts/promptFormatUtils.d.ts +1 -0
  74. package/built/src/helpers/prompts/promptFormatUtils.js +8 -0
  75. package/built/src/helpers/prompts/promptFormatUtils.js.map +1 -0
  76. package/built/src/resource/DbResource.d.ts +3 -1
  77. package/built/src/resource/DbResource.js +3 -0
  78. package/built/src/resource/DbResource.js.map +1 -1
  79. package/built/src/types/drivers/ScanParams.d.ts +66 -8
  80. package/built/src/types/helpers/index.d.ts +38 -1
  81. package/built/src/types/helpers/index.js.map +1 -1
  82. package/built/src/types/resource/AwsDynamoTableAttributes.d.ts +1 -0
  83. package/built/src/types/resource/ConnectionSetting.d.ts +12 -0
  84. package/built/src/types/resource/ConnectionSetting.js +9 -0
  85. package/built/src/types/resource/ConnectionSetting.js.map +1 -1
  86. package/built/src/utils/dbType.d.ts +1 -0
  87. package/built/src/utils/dbType.js +11 -1
  88. package/built/src/utils/dbType.js.map +1 -1
  89. package/package.json +5 -7
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveLastOrderByColumn = exports.getResourcePositions = exports.getProposals = void 0;
4
+ const rdh_1 = require("@l-v-yonsama/rdh");
5
+ const pgsql_ast_parser_1 = require("pgsql-ast-parser");
6
+ const resource_1 = require("../resource");
7
+ const types_1 = require("../types");
8
+ const constant_1 = require("./constant");
9
+ const SQLHelper_1 = require("./SQLHelper");
10
+ const getProposals = (params) => {
11
+ const { db: idb, sql, lastChar, keyword, parentWord } = params;
12
+ const upperKeyword = keyword.toUpperCase();
13
+ const upperParentWord = parentWord === null || parentWord === void 0 ? void 0 : parentWord.toUpperCase();
14
+ let ast;
15
+ const retList = [];
16
+ const db = idb instanceof resource_1.RdsDatabase ? idb : (0, SQLHelper_1.toRdsDatabase)(idb);
17
+ try {
18
+ if (db) {
19
+ try {
20
+ [ast] = (0, pgsql_ast_parser_1.parse)(sql, { locationTracking: true });
21
+ }
22
+ catch (_) {
23
+ }
24
+ if (parentWord) {
25
+ let list = getProposalsByKeywordWithParent(db, ast, upperKeyword, upperParentWord, lastChar);
26
+ if (list.length === 0) {
27
+ list = getProposalsByKeyword(db, upperKeyword, lastChar);
28
+ }
29
+ retList.push(...list);
30
+ }
31
+ else {
32
+ if (keyword) {
33
+ const list = getProposalsByKeyword(db, upperKeyword, lastChar);
34
+ retList.push(...list);
35
+ }
36
+ else {
37
+ retList.push(...getAllProposals(db));
38
+ }
39
+ }
40
+ }
41
+ if (lastChar !== '.' && !parentWord) {
42
+ constant_1.RESERVED_WORDS.filter((s) => s.startsWith(upperKeyword)).forEach((s) => {
43
+ retList.push({
44
+ label: s,
45
+ kind: types_1.ProposalKind.ReservedWord,
46
+ });
47
+ });
48
+ }
49
+ }
50
+ catch (_) {
51
+ }
52
+ const uniqueRetList = Array.from(retList
53
+ .reduce((map, p) => {
54
+ const key = `${p.kind}:${p.label}`;
55
+ const existing = map.get(key);
56
+ if (!existing || (!existing.detail && p.detail)) {
57
+ map.set(key, p);
58
+ }
59
+ return map;
60
+ }, new Map())
61
+ .values());
62
+ return uniqueRetList;
63
+ };
64
+ exports.getProposals = getProposals;
65
+ const getResourcePositions = (params) => {
66
+ const { db: idb, sql } = params;
67
+ const sqlLowerCase = sql.toLocaleLowerCase();
68
+ const retList = [];
69
+ if (idb === undefined) {
70
+ return retList;
71
+ }
72
+ const schema = idb instanceof resource_1.RdsDatabase
73
+ ? idb.getSchema({ isDefault: true })
74
+ : (0, SQLHelper_1.toRdsDatabase)(idb).getSchema({ isDefault: true });
75
+ const tableNames = schema.children
76
+ .map((it) => it.name.toLocaleLowerCase())
77
+ .join('|');
78
+ const reg = new RegExp('\\b(' + tableNames + ')\\b', 'g');
79
+ let m;
80
+ const tableResList = [];
81
+ const columnNameSet = new Set();
82
+ while ((m = reg.exec(sqlLowerCase)) !== null) {
83
+ const name = m[0];
84
+ let comment = undefined;
85
+ const tableRes = schema.children.find((it) => it.name.toLocaleLowerCase() === name);
86
+ if (tableRes) {
87
+ tableResList.push(tableRes);
88
+ comment = tableRes.comment;
89
+ tableRes.children.forEach((it) => {
90
+ columnNameSet.add(it.name.toLowerCase());
91
+ });
92
+ }
93
+ retList.push({
94
+ kind: types_1.ProposalKind.Table,
95
+ name: tableRes.name,
96
+ comment,
97
+ offset: m.index,
98
+ length: name.length,
99
+ });
100
+ }
101
+ if (columnNameSet.size > 0) {
102
+ const reg2 = new RegExp('\\b(' + Array.from(columnNameSet).join('|') + ')\\b', 'g');
103
+ let m2;
104
+ while ((m2 = reg2.exec(sqlLowerCase)) !== null) {
105
+ const name = m2[0];
106
+ const columnRes = tableResList
107
+ .flatMap((table) => table.children)
108
+ .find((column) => column.name.toLocaleLowerCase() === name);
109
+ if (!columnRes) {
110
+ continue;
111
+ }
112
+ retList.push({
113
+ kind: types_1.ProposalKind.Column,
114
+ name: columnRes.name,
115
+ comment: columnRes.comment,
116
+ offset: m2.index,
117
+ length: name.length,
118
+ });
119
+ }
120
+ }
121
+ return retList;
122
+ };
123
+ exports.getResourcePositions = getResourcePositions;
124
+ const resolveAlias = (ast, alias) => {
125
+ if (!ast || !alias) {
126
+ return undefined;
127
+ }
128
+ if (ast.type === 'select') {
129
+ for (const tbl of ast.from) {
130
+ if (tbl.type === 'table') {
131
+ if (tbl.name.alias.toUpperCase() === alias) {
132
+ return tbl.name.name;
133
+ }
134
+ }
135
+ }
136
+ }
137
+ return undefined;
138
+ };
139
+ const matchKeyword = (list, keyword) => {
140
+ return list.some((it) => it.toUpperCase().startsWith(keyword));
141
+ };
142
+ function resolveLastOrderByColumn(table) {
143
+ const columns = table.children;
144
+ if (!(columns === null || columns === void 0 ? void 0 : columns.length)) {
145
+ return undefined;
146
+ }
147
+ const dateColumn = columns.find((col) => {
148
+ const name = col.name.toLowerCase();
149
+ const looksLikeCreated = /created(_at)?$/.test(name) ||
150
+ /create(d)?date$/.test(name) ||
151
+ /insert(ed)?(_at)?$/.test(name);
152
+ return (0, rdh_1.isDateTimeOrDate)(col.colType) && looksLikeCreated;
153
+ });
154
+ if (dateColumn) {
155
+ return dateColumn.name;
156
+ }
157
+ const pks = table.getPrimaryColumnNames();
158
+ if (pks.length === 1) {
159
+ const pkCol = columns.find((c) => c.name === pks[0]);
160
+ if (pkCol && (0, rdh_1.isNumericLike)(pkCol.colType)) {
161
+ return pkCol.name;
162
+ }
163
+ }
164
+ return undefined;
165
+ }
166
+ exports.resolveLastOrderByColumn = resolveLastOrderByColumn;
167
+ const getProposalsByKeywordWithParent = (db, ast, keyword, parentWord, lastChar) => {
168
+ var _a;
169
+ const retList = [];
170
+ const schema = db.children.find((it) => it.name.toUpperCase() === parentWord);
171
+ if (schema) {
172
+ schema.children.forEach((table) => {
173
+ var _a;
174
+ const table_comment = (_a = table.comment) !== null && _a !== void 0 ? _a : '';
175
+ if (keyword === '' ||
176
+ matchKeyword([table.name, table_comment], keyword)) {
177
+ retList.push(createTableProposal(schema, table));
178
+ }
179
+ });
180
+ }
181
+ const defaultSchema = db.getSchema({ isDefault: true });
182
+ let table = defaultSchema.children.find((it) => it.name.toUpperCase() === parentWord);
183
+ if (!table) {
184
+ const resolvedName = resolveAlias(ast, parentWord);
185
+ if (resolvedName) {
186
+ table = defaultSchema.children.find((it) => it.name.toUpperCase() === resolvedName.toUpperCase());
187
+ }
188
+ }
189
+ if (table) {
190
+ const table_comment = (_a = table.comment) !== null && _a !== void 0 ? _a : '';
191
+ if (matchKeyword([table.name, table_comment], keyword)) {
192
+ retList.push(createTableProposal(schema, table));
193
+ }
194
+ table.children.forEach((column) => {
195
+ var _a;
196
+ const columnComment = (_a = column.comment) !== null && _a !== void 0 ? _a : '';
197
+ if (keyword === '' ||
198
+ matchKeyword([column.name, columnComment], keyword)) {
199
+ retList.push(createColumnProposal(table, column));
200
+ }
201
+ });
202
+ }
203
+ return retList;
204
+ };
205
+ const getProposalsByKeyword = (db, keyword, lastChar) => {
206
+ const retList = [];
207
+ const schema = db.getSchema({ isDefault: true });
208
+ if (lastChar === ' ') {
209
+ if (['INTO', 'UPDATE', 'FROM'].includes(keyword)) {
210
+ schema.children.forEach((table) => {
211
+ retList.push(createTableProposal(schema, table));
212
+ });
213
+ return retList;
214
+ }
215
+ if ('DELETE' === keyword) {
216
+ retList.push(createReservedWordProposal('FROM'));
217
+ }
218
+ }
219
+ schema.children.forEach((table) => {
220
+ var _a;
221
+ const table_comment = (_a = table.comment) !== null && _a !== void 0 ? _a : '';
222
+ if (matchKeyword([table.name, table_comment], keyword)) {
223
+ retList.push(createTableProposal(schema, table));
224
+ }
225
+ table.children.forEach((column) => {
226
+ var _a;
227
+ const columnComment = (_a = column.comment) !== null && _a !== void 0 ? _a : '';
228
+ if (matchKeyword([column.name, columnComment], keyword)) {
229
+ retList.push(createColumnProposal(table, column));
230
+ }
231
+ });
232
+ });
233
+ return retList;
234
+ };
235
+ const getAllProposals = (db) => {
236
+ const retList = [];
237
+ const schema = db.getSchema({ isDefault: true });
238
+ schema.children.forEach((table) => {
239
+ retList.push(createTableProposal(schema, table));
240
+ });
241
+ schema.getUniqColumnNameWithComments().forEach((it) => {
242
+ var _a;
243
+ retList.push({
244
+ label: it.name,
245
+ kind: types_1.ProposalKind.Column,
246
+ detail: (_a = it.comment) !== null && _a !== void 0 ? _a : '',
247
+ });
248
+ });
249
+ return retList;
250
+ };
251
+ const createTableProposal = (schema, table) => {
252
+ var _a;
253
+ const detail = (_a = table.comment) !== null && _a !== void 0 ? _a : '';
254
+ return {
255
+ label: table.name,
256
+ kind: types_1.ProposalKind.Table,
257
+ detail,
258
+ };
259
+ };
260
+ const createColumnProposal = (table, column) => {
261
+ var _a;
262
+ const detail = (_a = column.comment) !== null && _a !== void 0 ? _a : '';
263
+ return {
264
+ label: column.name,
265
+ kind: types_1.ProposalKind.Column,
266
+ detail,
267
+ };
268
+ };
269
+ const createReservedWordProposal = (word) => {
270
+ return {
271
+ label: word,
272
+ kind: types_1.ProposalKind.ReservedWord,
273
+ };
274
+ };
275
+ //# sourceMappingURL=ProposalHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProposalHelper.js","sourceRoot":"","sources":["../../../src/helpers/ProposalHelper.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { DiffToUndoChangesResult, RdhKey } from '@l-v-yonsama/rdh';
2
2
  import { DbSchema } from '../resource';
3
- import { DbTable } from '../resource/DbResource';
4
- import { BindOptions, CreateTableDefinitionsForPromptParams, DBType, Proposal, ProposalParams, QStatement, QueryWithBindsResult, ResourcePosition, ResourcePositionParams, SQLLang, ToViewDataQueryParams } from '../types';
3
+ import { AwsDatabase, DbTable, RdsDatabase } from '../resource/DbResource';
4
+ import { BindOptions, DBType, QStatement, QueryWithBindsResult, SQLLang, ToViewDataQueryParams } from '../types';
5
5
  import { FormatOptionsWithLanguage, SqlLanguage } from 'sql-formatter';
6
6
  export declare const getSqlLanguage: (dbType: DBType) => SqlLanguage;
7
7
  export declare const formatQuery: (query: string, cfg?: Partial<FormatOptionsWithLanguage> & {
@@ -84,6 +84,7 @@ export declare const toViewDataNormalizedQuery: (params: ToViewDataQueryParams &
84
84
  export declare const toSafeQueryForPgsqlAst: (query: string) => string;
85
85
  export declare const hasSetVariableClause: (sql: string) => boolean;
86
86
  export declare const parseQuery: (sql: string) => QStatement | undefined;
87
+ export declare const isReadOnlyQuery: (sql: string) => boolean;
87
88
  export declare const normalizeQuery: ({ query, toPositionedParameter, toPositionalCharacter, bindParams, }: {
88
89
  query: string;
89
90
  toPositionedParameter?: boolean;
@@ -98,17 +99,11 @@ export declare const normalizePositionedParametersQuery: (query: string, bindPar
98
99
  export declare const normalizeSimpleParametersQuery: (query: string, bindParams?: {
99
100
  [key: string]: any;
100
101
  }) => QueryWithBindsResult;
101
- export declare const createTableDefinisionsForPrompt: (params: CreateTableDefinitionsForPromptParams) => Promise<string | undefined>;
102
- export declare const getProposals: (params: ProposalParams) => Proposal[];
103
- export declare const getResourcePositions: (params: ResourcePositionParams) => ResourcePosition[];
104
- export declare function resolveLastOrderByColumn(table: DbTable): string | undefined;
105
102
  export type QuoteChar = '"' | '`' | "'";
106
103
  export declare const wrapSingleQuote: (input: string) => string;
107
104
  export declare const wrapDoubleQuote: (input: string) => string;
108
105
  export declare const wrapBackQuote: (input: string) => string;
109
106
  export declare const wrapQuote: (input: string, quoteChar: QuoteChar) => string;
110
107
  export declare const needsQuoting: (name: any) => boolean;
111
- export declare const toCreateTableDDL: ({ dbTable }: {
112
- dbTable: DbTable;
113
- }) => string;
114
108
  export declare const separateMultipleQueries: (text: string) => string[];
109
+ export declare const toRdsDatabase: (awsDb?: AwsDatabase) => RdsDatabase | undefined;