@askdb/mysql 0.1.0-beta.17 → 0.1.0-beta.18
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/NOTICE +10 -0
- package/README.md +16 -0
- package/dist/connector/describe.d.ts +90 -7
- package/dist/connector/describe.d.ts.map +1 -1
- package/dist/connector/describe.js +115 -86
- package/dist/connector/describe.js.map +1 -1
- package/package.json +8 -7
package/NOTICE
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
AskDB
|
|
2
|
+
Copyright 2026 Yahya Gilany
|
|
3
|
+
|
|
4
|
+
This product includes software developed by Yahya Gilany and contributors.
|
|
5
|
+
|
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
you may not use this file except in compliance with the License.
|
|
8
|
+
You may obtain a copy of the License at
|
|
9
|
+
|
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
package/README.md
CHANGED
|
@@ -58,6 +58,22 @@ const result = await introspect(
|
|
|
58
58
|
);
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
+
By default the connector reads the connection URL's database and renders it under the `public` namespace. To introspect several databases, list them in `filters.schemas`. Each database then becomes its own namespace, and foreign keys that cross databases keep the referenced database:
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
await introspect(
|
|
65
|
+
{
|
|
66
|
+
mode: "live",
|
|
67
|
+
runner: createMysqlCatalogQueryRunner(process.env.DATABASE_URL!),
|
|
68
|
+
filters: { schemas: ["app", "sales", "analytics"] },
|
|
69
|
+
},
|
|
70
|
+
{ outDir: "./my-app.schema", schemaId: "my-app" },
|
|
71
|
+
{ connector: createMysqlConnector() },
|
|
72
|
+
);
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
With the `askdb` CLI, set `introspection.schemas` in `askdb.config.ts`, or pass `--schemas app,sales`.
|
|
76
|
+
|
|
61
77
|
## Captured metadata
|
|
62
78
|
|
|
63
79
|
Tables, views, columns (MySQL-native type strings), primary keys, unique constraints, foreign keys (with referential actions), and indexes.
|
|
@@ -6,21 +6,94 @@ export type DescribeMysqlInput = {
|
|
|
6
6
|
/** Optional `schemaId` for the resulting `SqlSchema`. Defaults to `"introspected"`. */
|
|
7
7
|
schemaId?: string;
|
|
8
8
|
};
|
|
9
|
-
/** Internal: the catalog SQL strings, exposed for snapshot-based tests. */
|
|
9
|
+
/** Internal: the default (connection-database) catalog SQL strings, exposed for snapshot-based tests. */
|
|
10
10
|
export declare const MYSQL_CATALOG_SQL: {
|
|
11
|
-
readonly tables:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
readonly tables: `SELECT
|
|
12
|
+
table_schema AS table_schema,
|
|
13
|
+
table_name AS table_name,
|
|
14
|
+
table_type AS table_type,
|
|
15
|
+
table_comment AS table_comment
|
|
16
|
+
FROM information_schema.tables
|
|
17
|
+
WHERE ${string}
|
|
18
|
+
AND table_type IN ('BASE TABLE', 'VIEW')
|
|
19
|
+
ORDER BY table_schema, table_name`;
|
|
20
|
+
readonly columns: `SELECT
|
|
21
|
+
table_schema AS table_schema,
|
|
22
|
+
table_name AS table_name,
|
|
23
|
+
column_name AS column_name,
|
|
24
|
+
ordinal_position AS ordinal_position,
|
|
25
|
+
column_default AS column_default,
|
|
26
|
+
is_nullable AS is_nullable,
|
|
27
|
+
data_type AS data_type,
|
|
28
|
+
column_type AS column_type,
|
|
29
|
+
column_key AS column_key,
|
|
30
|
+
extra AS extra,
|
|
31
|
+
column_comment AS column_comment
|
|
32
|
+
FROM information_schema.columns
|
|
33
|
+
WHERE ${string}
|
|
34
|
+
ORDER BY table_schema, table_name, ordinal_position`;
|
|
35
|
+
readonly constraints: `SELECT
|
|
36
|
+
tc.table_schema AS table_schema,
|
|
37
|
+
tc.constraint_name AS constraint_name,
|
|
38
|
+
tc.table_name AS table_name,
|
|
39
|
+
kcu.column_name AS column_name,
|
|
40
|
+
kcu.ordinal_position AS ordinal_position,
|
|
41
|
+
tc.constraint_type AS constraint_type
|
|
42
|
+
FROM information_schema.table_constraints tc
|
|
43
|
+
JOIN information_schema.key_column_usage kcu
|
|
44
|
+
ON kcu.constraint_schema = tc.constraint_schema
|
|
45
|
+
AND kcu.constraint_name = tc.constraint_name
|
|
46
|
+
AND kcu.table_schema = tc.table_schema
|
|
47
|
+
AND kcu.table_name = tc.table_name
|
|
48
|
+
WHERE ${string}
|
|
49
|
+
AND tc.constraint_type IN ('PRIMARY KEY', 'UNIQUE')
|
|
50
|
+
ORDER BY tc.table_schema, tc.table_name, tc.constraint_name, kcu.ordinal_position`;
|
|
51
|
+
readonly foreign_keys: `SELECT
|
|
52
|
+
kcu.table_schema AS table_schema,
|
|
53
|
+
kcu.constraint_name AS constraint_name,
|
|
54
|
+
kcu.table_name AS table_name,
|
|
55
|
+
kcu.column_name AS column_name,
|
|
56
|
+
kcu.referenced_table_schema AS referenced_table_schema,
|
|
57
|
+
kcu.referenced_table_name AS referenced_table_name,
|
|
58
|
+
kcu.referenced_column_name AS referenced_column_name,
|
|
59
|
+
kcu.ordinal_position AS ordinal_position,
|
|
60
|
+
rc.update_rule AS update_rule,
|
|
61
|
+
rc.delete_rule AS delete_rule
|
|
62
|
+
FROM information_schema.key_column_usage kcu
|
|
63
|
+
JOIN information_schema.referential_constraints rc
|
|
64
|
+
ON rc.constraint_schema = kcu.constraint_schema
|
|
65
|
+
AND rc.constraint_name = kcu.constraint_name
|
|
66
|
+
WHERE ${string}
|
|
67
|
+
AND kcu.referenced_table_name IS NOT NULL
|
|
68
|
+
ORDER BY kcu.table_schema, kcu.table_name, kcu.constraint_name, kcu.ordinal_position`;
|
|
69
|
+
readonly indexes: `SELECT
|
|
70
|
+
table_schema AS table_schema,
|
|
71
|
+
table_name AS table_name,
|
|
72
|
+
index_name AS index_name,
|
|
73
|
+
column_name AS column_name,
|
|
74
|
+
seq_in_index AS seq_in_index,
|
|
75
|
+
non_unique AS non_unique,
|
|
76
|
+
index_type AS index_type
|
|
77
|
+
FROM information_schema.statistics
|
|
78
|
+
WHERE ${string}
|
|
79
|
+
AND index_name <> 'PRIMARY'
|
|
80
|
+
ORDER BY table_schema, table_name, index_name, seq_in_index`;
|
|
81
|
+
readonly views: `SELECT
|
|
82
|
+
table_schema AS table_schema,
|
|
83
|
+
table_name AS table_name,
|
|
84
|
+
view_definition AS view_definition
|
|
85
|
+
FROM information_schema.views
|
|
86
|
+
WHERE ${string}
|
|
87
|
+
ORDER BY table_schema, table_name`;
|
|
17
88
|
};
|
|
18
89
|
type TableRow = {
|
|
90
|
+
table_schema: string;
|
|
19
91
|
table_name: string;
|
|
20
92
|
table_type: "BASE TABLE" | "VIEW" | string;
|
|
21
93
|
table_comment: string | null;
|
|
22
94
|
};
|
|
23
95
|
type ColumnRow = {
|
|
96
|
+
table_schema: string;
|
|
24
97
|
table_name: string;
|
|
25
98
|
column_name: string;
|
|
26
99
|
ordinal_position: number;
|
|
@@ -33,6 +106,7 @@ type ColumnRow = {
|
|
|
33
106
|
column_comment: string | null;
|
|
34
107
|
};
|
|
35
108
|
type ConstraintRow = {
|
|
109
|
+
table_schema: string;
|
|
36
110
|
constraint_name: string;
|
|
37
111
|
table_name: string;
|
|
38
112
|
column_name: string;
|
|
@@ -40,9 +114,11 @@ type ConstraintRow = {
|
|
|
40
114
|
constraint_type: "PRIMARY KEY" | "UNIQUE" | string;
|
|
41
115
|
};
|
|
42
116
|
type ForeignKeyRow = {
|
|
117
|
+
table_schema: string;
|
|
43
118
|
constraint_name: string;
|
|
44
119
|
table_name: string;
|
|
45
120
|
column_name: string;
|
|
121
|
+
referenced_table_schema: string | null;
|
|
46
122
|
referenced_table_name: string;
|
|
47
123
|
referenced_column_name: string;
|
|
48
124
|
ordinal_position: number;
|
|
@@ -50,6 +126,7 @@ type ForeignKeyRow = {
|
|
|
50
126
|
delete_rule: string | null;
|
|
51
127
|
};
|
|
52
128
|
type IndexRow = {
|
|
129
|
+
table_schema: string;
|
|
53
130
|
table_name: string;
|
|
54
131
|
index_name: string;
|
|
55
132
|
column_name: string | null;
|
|
@@ -58,12 +135,18 @@ type IndexRow = {
|
|
|
58
135
|
index_type: string;
|
|
59
136
|
};
|
|
60
137
|
type ViewRow = {
|
|
138
|
+
table_schema: string;
|
|
61
139
|
table_name: string;
|
|
62
140
|
view_definition: string | null;
|
|
63
141
|
};
|
|
64
142
|
export declare function describeMysql(input: DescribeMysqlInput): Promise<IntrospectionResult>;
|
|
65
143
|
type FoldInput = {
|
|
66
144
|
schemaId: string;
|
|
145
|
+
/**
|
|
146
|
+
* Maps a row's database to the namespace it renders under: the database name
|
|
147
|
+
* itself for a database list, `"public"` for the connection's database.
|
|
148
|
+
*/
|
|
149
|
+
namespaceOf: (database: string) => string;
|
|
67
150
|
tableFilter: ReturnType<typeof compileTableFilters>;
|
|
68
151
|
tableRows: TableRow[];
|
|
69
152
|
columnRows: ColumnRow[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/connector/describe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EAWpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"describe.d.ts","sourceRoot":"","sources":["../../src/connector/describe.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,23 +2,37 @@ import { compileTableFilters } from "./glob.js";
|
|
|
2
2
|
import { makeColumnId, makeTableId } from "./ids.js";
|
|
3
3
|
/**
|
|
4
4
|
* MySQL doesn't have Postgres-style schemas (each "schema" is a database).
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
*
|
|
6
|
+
* - **Default (no `filters.schemas`)**: the connector reads the connection's
|
|
7
|
+
* database (`DATABASE()`) and emits it under a single namespace named
|
|
8
|
+
* `"public"`, matching `@askdb/prisma`'s convention so table ids stay stable
|
|
9
|
+
* across engines.
|
|
10
|
+
* - **Database list (`filters.schemas`)**: the connector reads every listed
|
|
11
|
+
* database (`table_schema IN (…)`) and each becomes its own namespace, named
|
|
12
|
+
* after the database. Foreign keys that cross databases keep the referenced
|
|
13
|
+
* database. `filters.excludeSchemas` removes entries from the list.
|
|
14
|
+
* `introspection.schemas` (askdb.config.ts) and
|
|
15
|
+
* `askdb introspect --schemas` both feed this list.
|
|
8
16
|
*/
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
17
|
+
const DEFAULT_NAMESPACE = "public";
|
|
18
|
+
const connectionDatabase = (column) => `${column} = DATABASE()`;
|
|
19
|
+
function listedDatabases(count) {
|
|
20
|
+
const markers = Array.from({ length: count }, () => "?").join(", ");
|
|
21
|
+
return (column) => `${column} IN (${markers})`;
|
|
22
|
+
}
|
|
23
|
+
function catalogSql(scope) {
|
|
24
|
+
return {
|
|
25
|
+
tables: `SELECT
|
|
26
|
+
table_schema AS table_schema,
|
|
14
27
|
table_name AS table_name,
|
|
15
28
|
table_type AS table_type,
|
|
16
29
|
table_comment AS table_comment
|
|
17
30
|
FROM information_schema.tables
|
|
18
|
-
WHERE table_schema
|
|
31
|
+
WHERE ${scope("table_schema")}
|
|
19
32
|
AND table_type IN ('BASE TABLE', 'VIEW')
|
|
20
|
-
ORDER BY table_name
|
|
21
|
-
|
|
33
|
+
ORDER BY table_schema, table_name`,
|
|
34
|
+
columns: `SELECT
|
|
35
|
+
table_schema AS table_schema,
|
|
22
36
|
table_name AS table_name,
|
|
23
37
|
column_name AS column_name,
|
|
24
38
|
ordinal_position AS ordinal_position,
|
|
@@ -30,9 +44,10 @@ const SQL_COLUMNS = `SELECT
|
|
|
30
44
|
extra AS extra,
|
|
31
45
|
column_comment AS column_comment
|
|
32
46
|
FROM information_schema.columns
|
|
33
|
-
WHERE table_schema
|
|
34
|
-
ORDER BY table_name, ordinal_position
|
|
35
|
-
|
|
47
|
+
WHERE ${scope("table_schema")}
|
|
48
|
+
ORDER BY table_schema, table_name, ordinal_position`,
|
|
49
|
+
constraints: `SELECT
|
|
50
|
+
tc.table_schema AS table_schema,
|
|
36
51
|
tc.constraint_name AS constraint_name,
|
|
37
52
|
tc.table_name AS table_name,
|
|
38
53
|
kcu.column_name AS column_name,
|
|
@@ -42,14 +57,17 @@ FROM information_schema.table_constraints tc
|
|
|
42
57
|
JOIN information_schema.key_column_usage kcu
|
|
43
58
|
ON kcu.constraint_schema = tc.constraint_schema
|
|
44
59
|
AND kcu.constraint_name = tc.constraint_name
|
|
60
|
+
AND kcu.table_schema = tc.table_schema
|
|
45
61
|
AND kcu.table_name = tc.table_name
|
|
46
|
-
WHERE tc.table_schema
|
|
62
|
+
WHERE ${scope("tc.table_schema")}
|
|
47
63
|
AND tc.constraint_type IN ('PRIMARY KEY', 'UNIQUE')
|
|
48
|
-
ORDER BY tc.table_name, tc.constraint_name, kcu.ordinal_position
|
|
49
|
-
|
|
64
|
+
ORDER BY tc.table_schema, tc.table_name, tc.constraint_name, kcu.ordinal_position`,
|
|
65
|
+
foreign_keys: `SELECT
|
|
66
|
+
kcu.table_schema AS table_schema,
|
|
50
67
|
kcu.constraint_name AS constraint_name,
|
|
51
68
|
kcu.table_name AS table_name,
|
|
52
69
|
kcu.column_name AS column_name,
|
|
70
|
+
kcu.referenced_table_schema AS referenced_table_schema,
|
|
53
71
|
kcu.referenced_table_name AS referenced_table_name,
|
|
54
72
|
kcu.referenced_column_name AS referenced_column_name,
|
|
55
73
|
kcu.ordinal_position AS ordinal_position,
|
|
@@ -59,10 +77,11 @@ FROM information_schema.key_column_usage kcu
|
|
|
59
77
|
JOIN information_schema.referential_constraints rc
|
|
60
78
|
ON rc.constraint_schema = kcu.constraint_schema
|
|
61
79
|
AND rc.constraint_name = kcu.constraint_name
|
|
62
|
-
WHERE kcu.table_schema
|
|
80
|
+
WHERE ${scope("kcu.table_schema")}
|
|
63
81
|
AND kcu.referenced_table_name IS NOT NULL
|
|
64
|
-
ORDER BY kcu.table_name, kcu.constraint_name, kcu.ordinal_position
|
|
65
|
-
|
|
82
|
+
ORDER BY kcu.table_schema, kcu.table_name, kcu.constraint_name, kcu.ordinal_position`,
|
|
83
|
+
indexes: `SELECT
|
|
84
|
+
table_schema AS table_schema,
|
|
66
85
|
table_name AS table_name,
|
|
67
86
|
index_name AS index_name,
|
|
68
87
|
column_name AS column_name,
|
|
@@ -70,29 +89,33 @@ const SQL_INDEXES = `SELECT
|
|
|
70
89
|
non_unique AS non_unique,
|
|
71
90
|
index_type AS index_type
|
|
72
91
|
FROM information_schema.statistics
|
|
73
|
-
WHERE table_schema
|
|
92
|
+
WHERE ${scope("table_schema")}
|
|
74
93
|
AND index_name <> 'PRIMARY'
|
|
75
|
-
ORDER BY table_name, index_name, seq_in_index
|
|
76
|
-
|
|
94
|
+
ORDER BY table_schema, table_name, index_name, seq_in_index`,
|
|
95
|
+
views: `SELECT
|
|
96
|
+
table_schema AS table_schema,
|
|
77
97
|
table_name AS table_name,
|
|
78
98
|
view_definition AS view_definition
|
|
79
99
|
FROM information_schema.views
|
|
80
|
-
WHERE table_schema
|
|
81
|
-
ORDER BY table_name
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
constraints: SQL_CONSTRAINTS,
|
|
87
|
-
foreign_keys: SQL_FOREIGN_KEYS,
|
|
88
|
-
indexes: SQL_INDEXES,
|
|
89
|
-
views: SQL_VIEWS,
|
|
90
|
-
};
|
|
100
|
+
WHERE ${scope("table_schema")}
|
|
101
|
+
ORDER BY table_schema, table_name`,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/** Internal: the default (connection-database) catalog SQL strings, exposed for snapshot-based tests. */
|
|
105
|
+
export const MYSQL_CATALOG_SQL = catalogSql(connectionDatabase);
|
|
91
106
|
export async function describeMysql(input) {
|
|
92
107
|
const runner = input.runner;
|
|
93
108
|
const tableFilter = compileTableFilters(input.filters?.tables);
|
|
94
|
-
const
|
|
95
|
-
|
|
109
|
+
const excluded = new Set(input.filters?.excludeSchemas ?? []);
|
|
110
|
+
const databases = [...new Set(input.filters?.schemas ?? [])].filter((d) => d && !excluded.has(d));
|
|
111
|
+
const listed = (input.filters?.schemas?.length ?? 0) > 0;
|
|
112
|
+
const sql = listed ? catalogSql(listedDatabases(databases.length)) : MYSQL_CATALOG_SQL;
|
|
113
|
+
const params = listed ? databases : undefined;
|
|
114
|
+
const run = async (query) => {
|
|
115
|
+
// Every listed database was excluded: nothing to read.
|
|
116
|
+
if (listed && databases.length === 0)
|
|
117
|
+
return [];
|
|
118
|
+
const result = await runner(query, params);
|
|
96
119
|
if (result.rows.length === 0)
|
|
97
120
|
return [];
|
|
98
121
|
const idx = new Map();
|
|
@@ -106,15 +129,16 @@ export async function describeMysql(input) {
|
|
|
106
129
|
});
|
|
107
130
|
};
|
|
108
131
|
const [tableRows, columnRows, constraintRows, fkRows, indexRows, viewRows] = await Promise.all([
|
|
109
|
-
run(
|
|
110
|
-
run(
|
|
111
|
-
run(
|
|
112
|
-
run(
|
|
113
|
-
run(
|
|
114
|
-
run(
|
|
132
|
+
run(sql.tables),
|
|
133
|
+
run(sql.columns),
|
|
134
|
+
run(sql.constraints),
|
|
135
|
+
run(sql.foreign_keys),
|
|
136
|
+
run(sql.indexes),
|
|
137
|
+
run(sql.views),
|
|
115
138
|
]);
|
|
116
139
|
return foldMysqlResult({
|
|
117
140
|
schemaId: input.schemaId ?? "introspected",
|
|
141
|
+
namespaceOf: listed ? (database) => database : () => DEFAULT_NAMESPACE,
|
|
118
142
|
tableFilter,
|
|
119
143
|
tableRows,
|
|
120
144
|
columnRows,
|
|
@@ -125,89 +149,93 @@ export async function describeMysql(input) {
|
|
|
125
149
|
declaredFilters: input.filters?.tables ?? [],
|
|
126
150
|
});
|
|
127
151
|
}
|
|
152
|
+
/** Grouping key for a table: database + name, so equal table names in two databases stay apart. */
|
|
153
|
+
function tableKey(row) {
|
|
154
|
+
return `${row.table_schema}\u0000${row.table_name}`;
|
|
155
|
+
}
|
|
128
156
|
export function foldMysqlResult(input) {
|
|
129
157
|
const warnings = [];
|
|
130
|
-
const columnsByTable = groupBy(input.columnRows,
|
|
131
|
-
const constraintsByTable = groupBy(input.constraintRows,
|
|
132
|
-
const fksByTable = groupBy(input.fkRows,
|
|
133
|
-
const indexesByTable = groupBy(input.indexRows,
|
|
134
|
-
const
|
|
158
|
+
const columnsByTable = groupBy(input.columnRows, tableKey);
|
|
159
|
+
const constraintsByTable = groupBy(input.constraintRows, tableKey);
|
|
160
|
+
const fksByTable = groupBy(input.fkRows, tableKey);
|
|
161
|
+
const indexesByTable = groupBy(input.indexRows, tableKey);
|
|
162
|
+
const viewDefByTable = new Map();
|
|
135
163
|
for (const v of input.viewRows) {
|
|
136
164
|
if (v.view_definition)
|
|
137
|
-
|
|
165
|
+
viewDefByTable.set(tableKey(v), v.view_definition);
|
|
138
166
|
}
|
|
139
|
-
const
|
|
140
|
-
const
|
|
167
|
+
const namespaces = new Map();
|
|
168
|
+
const namespaceFor = (name) => {
|
|
169
|
+
let ns = namespaces.get(name);
|
|
170
|
+
if (!ns) {
|
|
171
|
+
ns = { name, tables: [], views: [], enums: [], sequences: [] };
|
|
172
|
+
namespaces.set(name, ns);
|
|
173
|
+
}
|
|
174
|
+
return ns;
|
|
175
|
+
};
|
|
141
176
|
const viewDefinitions = {};
|
|
142
177
|
for (const t of input.tableRows) {
|
|
143
|
-
const
|
|
144
|
-
if (!input.tableFilter(
|
|
178
|
+
const namespace = input.namespaceOf(t.table_schema);
|
|
179
|
+
if (!input.tableFilter(`${namespace}.${t.table_name}`))
|
|
145
180
|
continue;
|
|
146
|
-
const
|
|
181
|
+
const key = tableKey(t);
|
|
182
|
+
const cols = (columnsByTable.get(key) ?? [])
|
|
147
183
|
.slice()
|
|
148
184
|
.sort((a, b) => a.ordinal_position - b.ordinal_position);
|
|
149
|
-
const constraints = constraintsByTable.get(
|
|
185
|
+
const constraints = constraintsByTable.get(key) ?? [];
|
|
150
186
|
const pkRows = constraints
|
|
151
187
|
.filter((c) => c.constraint_type === "PRIMARY KEY")
|
|
152
188
|
.sort((a, b) => a.ordinal_position - b.ordinal_position);
|
|
153
189
|
const pkColumns = pkRows.map((r) => r.column_name);
|
|
154
190
|
const pkSet = new Set(pkColumns);
|
|
155
|
-
const columns = cols.map((c) => buildColumn(t.table_name, c, pkSet));
|
|
191
|
+
const columns = cols.map((c) => buildColumn(namespace, t.table_name, c, pkSet));
|
|
156
192
|
if (t.table_type === "VIEW") {
|
|
157
|
-
const def =
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
name: t.table_name,
|
|
161
|
-
definition: def,
|
|
162
|
-
columns,
|
|
163
|
-
};
|
|
164
|
-
views.push(view);
|
|
165
|
-
viewDefinitions[makeTableId(NAMESPACE, t.table_name)] = def;
|
|
193
|
+
const def = viewDefByTable.get(key) ?? "";
|
|
194
|
+
namespaceFor(namespace).views.push({ schema: namespace, name: t.table_name, definition: def, columns });
|
|
195
|
+
viewDefinitions[makeTableId(namespace, t.table_name)] = def;
|
|
166
196
|
continue;
|
|
167
197
|
}
|
|
168
|
-
tables.push({
|
|
169
|
-
id: makeTableId(
|
|
170
|
-
schema:
|
|
198
|
+
namespaceFor(namespace).tables.push({
|
|
199
|
+
id: makeTableId(namespace, t.table_name),
|
|
200
|
+
schema: namespace,
|
|
171
201
|
name: t.table_name,
|
|
172
202
|
comment: t.table_comment ?? undefined,
|
|
173
203
|
columns,
|
|
174
204
|
primaryKey: pkColumns.length > 0 ? { columns: pkColumns } : undefined,
|
|
175
|
-
foreignKeys: buildForeignKeys(fksByTable.get(
|
|
205
|
+
foreignKeys: buildForeignKeys(fksByTable.get(key) ?? [], input.namespaceOf),
|
|
176
206
|
uniqueConstraints: buildUniques(constraints),
|
|
177
|
-
indexes: buildIndexes(indexesByTable.get(
|
|
207
|
+
indexes: buildIndexes(indexesByTable.get(key) ?? []),
|
|
178
208
|
checkConstraints: [],
|
|
179
209
|
});
|
|
180
210
|
}
|
|
181
211
|
// Sort for deterministic output.
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
};
|
|
191
|
-
const isEmpty = tables.length === 0 && views.length === 0;
|
|
212
|
+
const sortedNamespaces = [...namespaces.values()].sort(byName);
|
|
213
|
+
for (const ns of sortedNamespaces) {
|
|
214
|
+
ns.tables.sort(byName);
|
|
215
|
+
ns.views.sort(byName);
|
|
216
|
+
}
|
|
217
|
+
const allTables = sortedNamespaces.flatMap((ns) => ns.tables);
|
|
218
|
+
const allViews = sortedNamespaces.flatMap((ns) => ns.views);
|
|
219
|
+
const isEmpty = allTables.length === 0 && allViews.length === 0;
|
|
192
220
|
for (const pattern of input.declaredFilters) {
|
|
193
|
-
const
|
|
194
|
-
|
|
221
|
+
const matches = compileTableFilters([pattern]);
|
|
222
|
+
const matched = allTables.some((t) => matches(`${t.schema}.${t.name}`)) || allViews.some((v) => matches(`${v.schema}.${v.name}`));
|
|
195
223
|
if (!matched)
|
|
196
224
|
warnings.push({ code: "ambiguous_filter", filter: pattern });
|
|
197
225
|
}
|
|
198
226
|
const schema = {
|
|
199
227
|
schemaId: input.schemaId,
|
|
200
|
-
schemas: isEmpty ? [] :
|
|
228
|
+
schemas: isEmpty ? [] : sortedNamespaces,
|
|
201
229
|
};
|
|
202
230
|
return { schema, warnings, isEmpty, viewDefinitions, provider: "mysql" };
|
|
203
231
|
}
|
|
204
|
-
function buildColumn(table, c, pkSet) {
|
|
232
|
+
function buildColumn(namespace, table, c, pkSet) {
|
|
205
233
|
// `column_type` carries width/unsigned/enum-values info (e.g. `enum('a','b')`,
|
|
206
234
|
// `int(10) unsigned`); `data_type` is the bare type. Prefer `column_type` for
|
|
207
235
|
// accuracy in the NL→SQL prompt, fall back to `data_type`.
|
|
208
236
|
const dataType = c.column_type ?? c.data_type;
|
|
209
237
|
return {
|
|
210
|
-
id: makeColumnId(
|
|
238
|
+
id: makeColumnId(namespace, table, c.column_name),
|
|
211
239
|
name: c.column_name,
|
|
212
240
|
ordinalPosition: c.ordinal_position,
|
|
213
241
|
dataType,
|
|
@@ -235,7 +263,7 @@ function buildUniques(constraints) {
|
|
|
235
263
|
.map((r) => r.column_name),
|
|
236
264
|
})).sort((a, b) => a.name.localeCompare(b.name));
|
|
237
265
|
}
|
|
238
|
-
function buildForeignKeys(rows) {
|
|
266
|
+
function buildForeignKeys(rows, namespaceOf) {
|
|
239
267
|
const byName = new Map();
|
|
240
268
|
for (const r of rows) {
|
|
241
269
|
const list = byName.get(r.constraint_name) ?? [];
|
|
@@ -250,7 +278,8 @@ function buildForeignKeys(rows) {
|
|
|
250
278
|
name,
|
|
251
279
|
columns: ordered.map((r) => r.column_name),
|
|
252
280
|
references: {
|
|
253
|
-
|
|
281
|
+
// A cross-database FK keeps its referenced database; the default mode maps it to `public`.
|
|
282
|
+
schema: namespaceOf(sample.referenced_table_schema ?? sample.table_schema),
|
|
254
283
|
table: sample.referenced_table_name,
|
|
255
284
|
columns: ordered.map((r) => r.referenced_column_name),
|
|
256
285
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/connector/describe.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../src/connector/describe.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@askdb/mysql",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.18",
|
|
4
4
|
"description": "AskDB MySQL integration: introspection connector via information_schema and a mysql2-backed catalog query runner. Pairs with @askdb/core's MYSQL_DIALECT.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"askdb",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"introspection",
|
|
13
13
|
"information-schema"
|
|
14
14
|
],
|
|
15
|
-
"homepage": "https://
|
|
15
|
+
"homepage": "https://askdb.tools/guides/switch-engines/",
|
|
16
16
|
"bugs": {
|
|
17
17
|
"url": "https://github.com/Ygilany/AskDB/issues"
|
|
18
18
|
},
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
"license": "Apache-2.0",
|
|
25
25
|
"author": "Yahya Gilany",
|
|
26
26
|
"type": "module",
|
|
27
|
+
"sideEffects": false,
|
|
27
28
|
"main": "./dist/index.js",
|
|
28
29
|
"types": "./dist/index.d.ts",
|
|
29
30
|
"exports": {
|
|
@@ -43,9 +44,9 @@
|
|
|
43
44
|
"node": ">=22.12"
|
|
44
45
|
},
|
|
45
46
|
"dependencies": {
|
|
46
|
-
"@askdb/
|
|
47
|
-
"@askdb/introspect": "0.3.0-beta.
|
|
48
|
-
"@askdb/
|
|
47
|
+
"@askdb/connectors": "0.1.0-beta.8",
|
|
48
|
+
"@askdb/introspect": "0.3.0-beta.17",
|
|
49
|
+
"@askdb/core": "1.0.0-beta.43"
|
|
49
50
|
},
|
|
50
51
|
"peerDependencies": {
|
|
51
52
|
"mysql2": ">=3"
|
|
@@ -56,9 +57,9 @@
|
|
|
56
57
|
}
|
|
57
58
|
},
|
|
58
59
|
"devDependencies": {
|
|
59
|
-
"mysql2": "^3.
|
|
60
|
+
"mysql2": "^3.24.4",
|
|
60
61
|
"typescript": "^6.0.3",
|
|
61
|
-
"vitest": "^
|
|
62
|
+
"vitest": "^5.0.1"
|
|
62
63
|
},
|
|
63
64
|
"scripts": {
|
|
64
65
|
"build": "tsc -p tsconfig.build.json",
|