@pilat/mcp-datalink 1.1.0 → 1.2.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.
- package/README.md +19 -97
- package/dist/adapters/factory.d.ts +0 -4
- package/dist/adapters/factory.d.ts.map +1 -1
- package/dist/adapters/factory.js +3 -8
- package/dist/adapters/factory.js.map +1 -1
- package/dist/adapters/mysql/adapter.d.ts +2 -31
- package/dist/adapters/mysql/adapter.d.ts.map +1 -1
- package/dist/adapters/mysql/adapter.js +27 -283
- package/dist/adapters/mysql/adapter.js.map +1 -1
- package/dist/adapters/postgresql/adapter.d.ts +2 -22
- package/dist/adapters/postgresql/adapter.d.ts.map +1 -1
- package/dist/adapters/postgresql/adapter.js +18 -175
- package/dist/adapters/postgresql/adapter.js.map +1 -1
- package/dist/adapters/sqlite/adapter.d.ts +3 -25
- package/dist/adapters/sqlite/adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite/adapter.js +65 -364
- package/dist/adapters/sqlite/adapter.js.map +1 -1
- package/dist/adapters/sqlite/pragma-check.d.ts +19 -0
- package/dist/adapters/sqlite/pragma-check.d.ts.map +1 -0
- package/dist/adapters/sqlite/pragma-check.js +25 -0
- package/dist/adapters/sqlite/pragma-check.js.map +1 -0
- package/dist/adapters/sqlite/url-parser.d.ts +34 -0
- package/dist/adapters/sqlite/url-parser.d.ts.map +1 -0
- package/dist/adapters/sqlite/url-parser.js +73 -0
- package/dist/adapters/sqlite/url-parser.js.map +1 -0
- package/dist/adapters/types.d.ts +10 -113
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +31 -20
- package/dist/server.js.map +1 -1
- package/dist/tools/describe-table.d.ts +5 -6
- package/dist/tools/describe-table.d.ts.map +1 -1
- package/dist/tools/describe-table.js +65 -9
- package/dist/tools/describe-table.js.map +1 -1
- package/dist/tools/execute.d.ts +5 -6
- package/dist/tools/execute.d.ts.map +1 -1
- package/dist/tools/execute.js +13 -11
- package/dist/tools/execute.js.map +1 -1
- package/dist/tools/explain.d.ts +5 -10
- package/dist/tools/explain.d.ts.map +1 -1
- package/dist/tools/explain.js +25 -26
- package/dist/tools/explain.js.map +1 -1
- package/dist/tools/list-databases.d.ts +5 -7
- package/dist/tools/list-databases.d.ts.map +1 -1
- package/dist/tools/list-databases.js +31 -0
- package/dist/tools/list-databases.js.map +1 -1
- package/dist/tools/list-tables.d.ts +5 -10
- package/dist/tools/list-tables.d.ts.map +1 -1
- package/dist/tools/list-tables.js +27 -9
- package/dist/tools/list-tables.js.map +1 -1
- package/dist/tools/query.d.ts +1 -6
- package/dist/tools/query.d.ts.map +1 -1
- package/dist/tools/query.js +7 -27
- package/dist/tools/query.js.map +1 -1
- package/dist/types.d.ts +39 -5
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/formatter.d.ts +7 -4
- package/dist/utils/formatter.d.ts.map +1 -1
- package/dist/utils/formatter.js +20 -10
- package/dist/utils/formatter.js.map +1 -1
- package/dist/utils/sql-parser.d.ts +51 -0
- package/dist/utils/sql-parser.d.ts.map +1 -0
- package/dist/utils/sql-parser.js +310 -0
- package/dist/utils/sql-parser.js.map +1 -0
- package/dist/utils/truncate.d.ts +4 -13
- package/dist/utils/truncate.d.ts.map +1 -1
- package/dist/utils/truncate.js +38 -18
- package/dist/utils/truncate.js.map +1 -1
- package/dist/utils/validation.d.ts +35 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +89 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +10 -11
|
@@ -6,11 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import * as mysql from 'mysql2/promise';
|
|
8
8
|
import { DbMcpError, ErrorCode } from '../../utils/errors.js';
|
|
9
|
+
import { injectLimit as sharedInjectLimit, parseQuery as sharedParseQuery, validateQueryForTool as sharedValidateQueryForTool, } from '../../utils/sql-parser.js';
|
|
9
10
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
10
11
|
// SQL Dialect helpers (formerly in dialect.ts)
|
|
11
12
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
12
13
|
/**
|
|
13
14
|
* MySQL-specific dangerous patterns
|
|
15
|
+
* These patterns bypass parser-level detection and need raw SQL matching
|
|
14
16
|
*/
|
|
15
17
|
const DANGEROUS_MYSQL_PATTERNS = [
|
|
16
18
|
{
|
|
@@ -30,161 +32,6 @@ const DANGEROUS_MYSQL_PATTERNS = [
|
|
|
30
32
|
reason: 'LOAD_FILE() function is not allowed (file system read)',
|
|
31
33
|
},
|
|
32
34
|
];
|
|
33
|
-
/**
|
|
34
|
-
* Standard dangerous SQL operations (DDL/DCL)
|
|
35
|
-
*/
|
|
36
|
-
const DANGEROUS_PREFIXES = [
|
|
37
|
-
'DROP',
|
|
38
|
-
'TRUNCATE',
|
|
39
|
-
'ALTER',
|
|
40
|
-
'CREATE',
|
|
41
|
-
'GRANT',
|
|
42
|
-
'REVOKE',
|
|
43
|
-
'RENAME',
|
|
44
|
-
];
|
|
45
|
-
/**
|
|
46
|
-
* Strip SQL comments from a query
|
|
47
|
-
*/
|
|
48
|
-
function stripComments(sql) {
|
|
49
|
-
let result = '';
|
|
50
|
-
let i = 0;
|
|
51
|
-
const len = sql.length;
|
|
52
|
-
while (i < len) {
|
|
53
|
-
const char = sql[i];
|
|
54
|
-
const nextChar = sql[i + 1];
|
|
55
|
-
// Handle strings - preserve content inside quotes
|
|
56
|
-
if (char === "'" || char === '"' || char === '`') {
|
|
57
|
-
const quote = char;
|
|
58
|
-
result += char;
|
|
59
|
-
i++;
|
|
60
|
-
while (i < len) {
|
|
61
|
-
const c = sql[i];
|
|
62
|
-
result += c;
|
|
63
|
-
i++;
|
|
64
|
-
if (c === '\\' && i < len) {
|
|
65
|
-
result += sql[i];
|
|
66
|
-
i++;
|
|
67
|
-
}
|
|
68
|
-
else if (c === quote) {
|
|
69
|
-
if (sql[i] === quote) {
|
|
70
|
-
result += sql[i];
|
|
71
|
-
i++;
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
break;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
// Handle single-line comment: --
|
|
81
|
-
if (char === '-' && nextChar === '-') {
|
|
82
|
-
i += 2;
|
|
83
|
-
while (i < len && sql[i] !== '\n') {
|
|
84
|
-
i++;
|
|
85
|
-
}
|
|
86
|
-
result += ' ';
|
|
87
|
-
continue;
|
|
88
|
-
}
|
|
89
|
-
// Handle single-line comment: # (MySQL-specific)
|
|
90
|
-
if (char === '#') {
|
|
91
|
-
i++;
|
|
92
|
-
while (i < len && sql[i] !== '\n') {
|
|
93
|
-
i++;
|
|
94
|
-
}
|
|
95
|
-
result += ' ';
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
// Handle multi-line comment: /* */
|
|
99
|
-
if (char === '/' && nextChar === '*') {
|
|
100
|
-
i += 2;
|
|
101
|
-
while (i < len - 1) {
|
|
102
|
-
if (sql[i] === '*' && sql[i + 1] === '/') {
|
|
103
|
-
i += 2;
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
i++;
|
|
107
|
-
}
|
|
108
|
-
result += ' ';
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
result += char;
|
|
112
|
-
i++;
|
|
113
|
-
}
|
|
114
|
-
return result;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* String-aware statement splitting
|
|
118
|
-
*/
|
|
119
|
-
function splitStatements(sql) {
|
|
120
|
-
const statements = [];
|
|
121
|
-
let current = '';
|
|
122
|
-
let i = 0;
|
|
123
|
-
const len = sql.length;
|
|
124
|
-
while (i < len) {
|
|
125
|
-
const char = sql[i];
|
|
126
|
-
// Handle strings - don't split inside quotes
|
|
127
|
-
if (char === "'" || char === '"' || char === '`') {
|
|
128
|
-
const quote = char;
|
|
129
|
-
current += char;
|
|
130
|
-
i++;
|
|
131
|
-
while (i < len) {
|
|
132
|
-
const c = sql[i];
|
|
133
|
-
current += c;
|
|
134
|
-
i++;
|
|
135
|
-
if (c === '\\' && i < len) {
|
|
136
|
-
current += sql[i];
|
|
137
|
-
i++;
|
|
138
|
-
}
|
|
139
|
-
else if (c === quote) {
|
|
140
|
-
if (sql[i] === quote) {
|
|
141
|
-
current += sql[i];
|
|
142
|
-
i++;
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
break;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
continue;
|
|
150
|
-
}
|
|
151
|
-
// Handle semicolon - split point
|
|
152
|
-
if (char === ';') {
|
|
153
|
-
const trimmed = current.trim();
|
|
154
|
-
if (trimmed.length > 0) {
|
|
155
|
-
statements.push(trimmed);
|
|
156
|
-
}
|
|
157
|
-
current = '';
|
|
158
|
-
i++;
|
|
159
|
-
continue;
|
|
160
|
-
}
|
|
161
|
-
current += char;
|
|
162
|
-
i++;
|
|
163
|
-
}
|
|
164
|
-
const trimmed = current.trim();
|
|
165
|
-
if (trimmed.length > 0) {
|
|
166
|
-
statements.push(trimmed);
|
|
167
|
-
}
|
|
168
|
-
return statements;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Detect query type from normalized SQL
|
|
172
|
-
*/
|
|
173
|
-
function detectQueryType(normalizedSql) {
|
|
174
|
-
if (normalizedSql.startsWith('SELECT') || normalizedSql.startsWith('WITH')) {
|
|
175
|
-
return 'select';
|
|
176
|
-
}
|
|
177
|
-
if (normalizedSql.startsWith('INSERT')) {
|
|
178
|
-
return 'insert';
|
|
179
|
-
}
|
|
180
|
-
if (normalizedSql.startsWith('UPDATE')) {
|
|
181
|
-
return 'update';
|
|
182
|
-
}
|
|
183
|
-
if (normalizedSql.startsWith('DELETE')) {
|
|
184
|
-
return 'delete';
|
|
185
|
-
}
|
|
186
|
-
return 'other';
|
|
187
|
-
}
|
|
188
35
|
/**
|
|
189
36
|
* Check if SQL contains dangerous MySQL-specific patterns
|
|
190
37
|
*/
|
|
@@ -196,29 +43,6 @@ function checkMySqlDangerousPatterns(sql) {
|
|
|
196
43
|
}
|
|
197
44
|
return { isDangerous: false };
|
|
198
45
|
}
|
|
199
|
-
/**
|
|
200
|
-
* Check if SQL starts with a dangerous prefix (DDL/DCL)
|
|
201
|
-
*/
|
|
202
|
-
function checkDangerousPrefix(normalizedSql) {
|
|
203
|
-
for (const prefix of DANGEROUS_PREFIXES) {
|
|
204
|
-
if (normalizedSql.startsWith(prefix + ' ') ||
|
|
205
|
-
normalizedSql.startsWith(prefix + '\t') ||
|
|
206
|
-
normalizedSql.startsWith(prefix + '\n') ||
|
|
207
|
-
normalizedSql === prefix) {
|
|
208
|
-
return {
|
|
209
|
-
isDangerous: true,
|
|
210
|
-
reason: `${prefix} statements are not allowed`,
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
return { isDangerous: false };
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Check if a SELECT query has a LIMIT clause
|
|
218
|
-
*/
|
|
219
|
-
function hasLimitClause(sql) {
|
|
220
|
-
return /\bLIMIT\s+\d+/i.test(sql);
|
|
221
|
-
}
|
|
222
46
|
/**
|
|
223
47
|
* MySQL database adapter
|
|
224
48
|
*
|
|
@@ -232,9 +56,6 @@ export class MySqlAdapter {
|
|
|
232
56
|
this.connectionUrl = config.database.url;
|
|
233
57
|
this.timeout = config.defaults.timeout;
|
|
234
58
|
}
|
|
235
|
-
/**
|
|
236
|
-
* Get the default schema name for MySQL (database name from URL)
|
|
237
|
-
*/
|
|
238
59
|
getDefaultSchema() {
|
|
239
60
|
try {
|
|
240
61
|
const url = new URL(this.connectionUrl);
|
|
@@ -247,23 +68,9 @@ export class MySqlAdapter {
|
|
|
247
68
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
248
69
|
// SQL Dialect methods
|
|
249
70
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
250
|
-
/**
|
|
251
|
-
* Parse and validate a SQL query
|
|
252
|
-
*/
|
|
253
71
|
parseQuery(sql) {
|
|
254
|
-
|
|
255
|
-
const
|
|
256
|
-
if (statements.length === 0) {
|
|
257
|
-
throw new DbMcpError(ErrorCode.INVALID_SQL, 'No valid SQL statement found', {
|
|
258
|
-
sql,
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
if (statements.length > 1) {
|
|
262
|
-
throw new DbMcpError(ErrorCode.MULTI_STATEMENT, 'Multiple SQL statements are not allowed. Please provide a single statement.', { sql, statementCount: statements.length });
|
|
263
|
-
}
|
|
264
|
-
const statement = statements[0];
|
|
265
|
-
const normalizedSql = statement.trim().toUpperCase();
|
|
266
|
-
const mysqlDanger = checkMySqlDangerousPatterns(statement);
|
|
72
|
+
// First check for MySQL-specific dangerous patterns (before parsing)
|
|
73
|
+
const mysqlDanger = checkMySqlDangerousPatterns(sql);
|
|
267
74
|
if (mysqlDanger.isDangerous) {
|
|
268
75
|
return {
|
|
269
76
|
type: 'other',
|
|
@@ -273,69 +80,20 @@ export class MySqlAdapter {
|
|
|
273
80
|
sql,
|
|
274
81
|
};
|
|
275
82
|
}
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
return {
|
|
279
|
-
type: 'other',
|
|
280
|
-
hasLimit: false,
|
|
281
|
-
isDangerous: true,
|
|
282
|
-
dangerousReason: prefixDanger.reason,
|
|
283
|
-
sql,
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
const queryType = detectQueryType(normalizedSql);
|
|
287
|
-
const hasLimit = queryType === 'select' ? hasLimitClause(statement) : false;
|
|
288
|
-
return {
|
|
289
|
-
type: queryType,
|
|
290
|
-
hasLimit,
|
|
291
|
-
isDangerous: false,
|
|
292
|
-
sql,
|
|
293
|
-
};
|
|
83
|
+
// Use shared parser for standard validation
|
|
84
|
+
return sharedParseQuery(sql, 'MySQL');
|
|
294
85
|
}
|
|
295
|
-
/**
|
|
296
|
-
* Inject a LIMIT clause into a SELECT query if it doesn't have one
|
|
297
|
-
*/
|
|
298
86
|
injectLimit(sql, limit) {
|
|
299
|
-
|
|
300
|
-
return sql;
|
|
301
|
-
}
|
|
302
|
-
const trimmed = sql.replace(/;\s*$/, '').trim();
|
|
303
|
-
return `${trimmed} LIMIT ${limit}`;
|
|
87
|
+
return sharedInjectLimit(sql, limit, 'MySQL');
|
|
304
88
|
}
|
|
305
|
-
/**
|
|
306
|
-
* Validate that a SQL query is appropriate for a specific tool
|
|
307
|
-
*/
|
|
308
89
|
validateQueryForTool(sql, tool) {
|
|
309
90
|
const parsed = this.parseQuery(sql);
|
|
310
|
-
|
|
311
|
-
if (parsed.type !== 'select') {
|
|
312
|
-
throw new DbMcpError(ErrorCode.QUERY_BLOCKED, 'The query tool only accepts SELECT statements. Use the execute tool for ' +
|
|
313
|
-
parsed.type.toUpperCase() +
|
|
314
|
-
' statements.', { sql, queryType: parsed.type, tool });
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
else if (tool === 'execute') {
|
|
318
|
-
if (parsed.type === 'select') {
|
|
319
|
-
throw new DbMcpError(ErrorCode.QUERY_BLOCKED, 'The execute tool does not accept SELECT statements. Use the query tool instead.', { sql, queryType: parsed.type, tool });
|
|
320
|
-
}
|
|
321
|
-
if (parsed.isDangerous) {
|
|
322
|
-
throw new DbMcpError(ErrorCode.QUERY_BLOCKED, parsed.dangerousReason ?? 'This operation is not allowed', { sql, queryType: parsed.type, tool });
|
|
323
|
-
}
|
|
324
|
-
const allowedTypes = ['insert', 'update', 'delete'];
|
|
325
|
-
if (!allowedTypes.includes(parsed.type)) {
|
|
326
|
-
throw new DbMcpError(ErrorCode.QUERY_BLOCKED, 'The execute tool only accepts INSERT, UPDATE, or DELETE statements.', { sql, queryType: parsed.type, tool });
|
|
327
|
-
}
|
|
328
|
-
}
|
|
91
|
+
sharedValidateQueryForTool(parsed, tool);
|
|
329
92
|
}
|
|
330
|
-
/**
|
|
331
|
-
* Get the EXPLAIN prefix for MySQL
|
|
332
|
-
*/
|
|
333
93
|
getExplainPrefix(analyze) {
|
|
334
94
|
return analyze ? 'EXPLAIN ANALYZE ' : 'EXPLAIN ';
|
|
335
95
|
}
|
|
336
|
-
/**
|
|
337
|
-
* Convert PostgreSQL-style placeholders ($1, $2) to MySQL-style (?)
|
|
338
|
-
*/
|
|
96
|
+
/** Convert $1, $2 placeholders to ? for MySQL */
|
|
339
97
|
convertPlaceholders(sql) {
|
|
340
98
|
return sql.replace(/\$\d+/g, '?');
|
|
341
99
|
}
|
|
@@ -343,6 +101,10 @@ export class MySqlAdapter {
|
|
|
343
101
|
* Execute a function with a managed MySQL connection
|
|
344
102
|
*/
|
|
345
103
|
async withConnection(fn) {
|
|
104
|
+
// Validate timeout before creating connection (SET command doesn't support parameters)
|
|
105
|
+
if (!Number.isInteger(this.timeout) || this.timeout < 0) {
|
|
106
|
+
throw new DbMcpError(ErrorCode.CONNECTION_FAILED, `Invalid timeout value: ${this.timeout}`);
|
|
107
|
+
}
|
|
346
108
|
let connection;
|
|
347
109
|
try {
|
|
348
110
|
connection = await mysql.createConnection(this.connectionUrl);
|
|
@@ -353,21 +115,12 @@ export class MySqlAdapter {
|
|
|
353
115
|
});
|
|
354
116
|
}
|
|
355
117
|
try {
|
|
356
|
-
// SET command doesn't support parameterized queries, so validate timeout first
|
|
357
|
-
if (!Number.isInteger(this.timeout) || this.timeout < 0) {
|
|
358
|
-
throw new DbMcpError(ErrorCode.CONNECTION_FAILED, `Invalid timeout value: ${this.timeout}`);
|
|
359
|
-
}
|
|
360
|
-
// Try to set max_execution_time (MySQL 5.7.8+)
|
|
361
|
-
// Gracefully handle older versions that don't support it
|
|
362
118
|
try {
|
|
363
119
|
await connection.execute(`SET max_execution_time = ${this.timeout}`);
|
|
364
120
|
}
|
|
365
|
-
catch
|
|
366
|
-
//
|
|
367
|
-
// The query will still run, just without execution timeout
|
|
368
|
-
// Log for debugging purposes would go here in production
|
|
121
|
+
catch {
|
|
122
|
+
// max_execution_time not supported (MySQL < 5.7.8)
|
|
369
123
|
}
|
|
370
|
-
// Create connection wrapper and execute user function
|
|
371
124
|
const adapter = new MySqlConnection(connection);
|
|
372
125
|
return await fn(adapter);
|
|
373
126
|
}
|
|
@@ -375,12 +128,8 @@ export class MySqlAdapter {
|
|
|
375
128
|
await connection.end();
|
|
376
129
|
}
|
|
377
130
|
}
|
|
378
|
-
/**
|
|
379
|
-
* Clean up resources (no persistent resources in this adapter)
|
|
380
|
-
*/
|
|
381
131
|
async dispose() {
|
|
382
|
-
// No persistent
|
|
383
|
-
// Each connection is created and destroyed per request
|
|
132
|
+
// No persistent connections to clean up
|
|
384
133
|
}
|
|
385
134
|
}
|
|
386
135
|
/**
|
|
@@ -394,9 +143,6 @@ class MySqlConnection {
|
|
|
394
143
|
constructor(conn) {
|
|
395
144
|
this.conn = conn;
|
|
396
145
|
}
|
|
397
|
-
/**
|
|
398
|
-
* Execute a parameterized query using prepared statements
|
|
399
|
-
*/
|
|
400
146
|
async query(sql, params) {
|
|
401
147
|
const [result, fields] = await this.conn.execute(sql, params ?? []);
|
|
402
148
|
// For non-SELECT queries (INSERT/UPDATE/DELETE), fields is undefined
|
|
@@ -419,9 +165,6 @@ class MySqlConnection {
|
|
|
419
165
|
rowCount: rows.length,
|
|
420
166
|
};
|
|
421
167
|
}
|
|
422
|
-
/**
|
|
423
|
-
* Execute a raw SQL statement (for BEGIN, COMMIT, ROLLBACK)
|
|
424
|
-
*/
|
|
425
168
|
async execute(sql) {
|
|
426
169
|
await this.conn.query(sql);
|
|
427
170
|
}
|
|
@@ -429,8 +172,12 @@ class MySqlConnection {
|
|
|
429
172
|
* List tables in a MySQL database (schema = database in MySQL terminology)
|
|
430
173
|
*
|
|
431
174
|
* Uses information_schema.TABLES for table metadata.
|
|
175
|
+
* Note: LIMIT is interpolated (not parameterized) because MySQL prepared
|
|
176
|
+
* statements don't support LIMIT as a parameter. The value is validated
|
|
177
|
+
* as a number so this is safe.
|
|
432
178
|
*/
|
|
433
|
-
async listTables(schema,
|
|
179
|
+
async listTables(schema, maxTables) {
|
|
180
|
+
const limit = Math.max(1, Math.floor(maxTables)) + 1;
|
|
434
181
|
const sql = `
|
|
435
182
|
SELECT
|
|
436
183
|
TABLE_NAME as name,
|
|
@@ -440,9 +187,11 @@ class MySqlConnection {
|
|
|
440
187
|
FROM information_schema.TABLES
|
|
441
188
|
WHERE TABLE_SCHEMA = ?
|
|
442
189
|
ORDER BY TABLE_NAME
|
|
190
|
+
LIMIT ${limit}
|
|
443
191
|
`;
|
|
444
192
|
const [rows] = await this.conn.execute(sql, [schema]);
|
|
445
|
-
const
|
|
193
|
+
const truncated = rows.length > maxTables;
|
|
194
|
+
const tables = rows.slice(0, maxTables).map((row) => ({
|
|
446
195
|
name: row.name,
|
|
447
196
|
schema: row.schema,
|
|
448
197
|
type: row.type,
|
|
@@ -450,7 +199,8 @@ class MySqlConnection {
|
|
|
450
199
|
}));
|
|
451
200
|
return {
|
|
452
201
|
tables,
|
|
453
|
-
|
|
202
|
+
truncated,
|
|
203
|
+
totalAvailable: truncated ? rows.length : tables.length,
|
|
454
204
|
};
|
|
455
205
|
}
|
|
456
206
|
/**
|
|
@@ -515,7 +265,6 @@ class MySqlConnection {
|
|
|
515
265
|
const [columnsRows] = columnsResult;
|
|
516
266
|
const [indexesRows] = indexesResult;
|
|
517
267
|
const [foreignKeysRows] = foreignKeysResult;
|
|
518
|
-
// Build columns array
|
|
519
268
|
const allColumns = columnsRows.map((row) => ({
|
|
520
269
|
name: row.name,
|
|
521
270
|
type: row.type,
|
|
@@ -523,14 +272,12 @@ class MySqlConnection {
|
|
|
523
272
|
default: row.default,
|
|
524
273
|
primaryKey: Boolean(row.primaryKey),
|
|
525
274
|
}));
|
|
526
|
-
// Build indexes array
|
|
527
275
|
const allIndexes = indexesRows.map((row) => ({
|
|
528
276
|
name: row.name,
|
|
529
|
-
columns: row.columns.split(','),
|
|
277
|
+
columns: row.columns ? String(row.columns).split(',').filter(Boolean) : [],
|
|
530
278
|
unique: Boolean(row.unique),
|
|
531
279
|
primary: Boolean(row.primary),
|
|
532
280
|
}));
|
|
533
|
-
// Build foreign keys array
|
|
534
281
|
const foreignKeys = foreignKeysRows.map((row) => ({
|
|
535
282
|
column: row.column,
|
|
536
283
|
references: {
|
|
@@ -538,7 +285,6 @@ class MySqlConnection {
|
|
|
538
285
|
column: row.ref_column,
|
|
539
286
|
},
|
|
540
287
|
}));
|
|
541
|
-
// Apply limits and track truncation
|
|
542
288
|
let truncated = false;
|
|
543
289
|
const truncationReasons = [];
|
|
544
290
|
const columns = allColumns.length > limits.maxColumns
|
|
@@ -562,6 +308,4 @@ class MySqlConnection {
|
|
|
562
308
|
};
|
|
563
309
|
}
|
|
564
310
|
}
|
|
565
|
-
// Export helper functions for testing
|
|
566
|
-
export { stripComments, splitStatements };
|
|
567
311
|
//# sourceMappingURL=adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/mysql/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/mysql/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Implements DatabaseAdapter interface for PostgreSQL databases.
|
|
5
5
|
* Uses node-postgres (pg) driver with per-request connection recycling.
|
|
6
6
|
*/
|
|
7
|
-
import type {
|
|
7
|
+
import type { AdapterConfig, AdapterConnection, DatabaseAdapter } from '../types.js';
|
|
8
8
|
import type { ParsedQuery } from '../../types.js';
|
|
9
9
|
/**
|
|
10
10
|
* PostgreSQL database adapter
|
|
@@ -16,37 +16,17 @@ export declare class PostgreSqlAdapter implements DatabaseAdapter {
|
|
|
16
16
|
private readonly connectionUrl;
|
|
17
17
|
private readonly timeout;
|
|
18
18
|
constructor(config: AdapterConfig);
|
|
19
|
-
/**
|
|
20
|
-
* Get the default schema name for PostgreSQL
|
|
21
|
-
*/
|
|
22
19
|
getDefaultSchema(): string;
|
|
23
|
-
/**
|
|
24
|
-
* Parse and validate a SQL query
|
|
25
|
-
*/
|
|
26
20
|
parseQuery(sql: string): ParsedQuery;
|
|
27
|
-
/**
|
|
28
|
-
* Inject a LIMIT clause into a SELECT query if it doesn't have one
|
|
29
|
-
*/
|
|
30
21
|
injectLimit(sql: string, limit: number): string;
|
|
31
|
-
/**
|
|
32
|
-
* Validate that a SQL query is appropriate for a specific tool
|
|
33
|
-
*/
|
|
34
22
|
validateQueryForTool(sql: string, tool: 'query' | 'execute'): void;
|
|
35
|
-
/**
|
|
36
|
-
* Get the EXPLAIN prefix for PostgreSQL
|
|
37
|
-
*/
|
|
38
23
|
getExplainPrefix(analyze: boolean): string;
|
|
39
|
-
/**
|
|
40
|
-
* Convert placeholders - no-op for PostgreSQL (already uses $1, $2, $3)
|
|
41
|
-
*/
|
|
24
|
+
/** No-op for PostgreSQL (already uses $1, $2 placeholders) */
|
|
42
25
|
convertPlaceholders(sql: string): string;
|
|
43
26
|
/**
|
|
44
27
|
* Execute a function with a managed PostgreSQL connection
|
|
45
28
|
*/
|
|
46
29
|
withConnection<T>(fn: (conn: AdapterConnection) => Promise<T>): Promise<T>;
|
|
47
|
-
/**
|
|
48
|
-
* Clean up resources (no persistent resources in this adapter)
|
|
49
|
-
*/
|
|
50
30
|
dispose(): Promise<void>;
|
|
51
31
|
}
|
|
52
32
|
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgresql/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgresql/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,eAAe,EAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAIV,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AASxB;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAU;IAEtC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,aAAa;IAKjC,gBAAgB,IAAI,MAAM;IAQ1B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW;IAIpC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAI/C,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI;IAKlE,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAI1C,8DAA8D;IAC9D,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIxC;;OAEG;IACG,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmC1E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|