@fett/sql-translator 0.0.1 → 0.0.3

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 CHANGED
@@ -75,14 +75,20 @@ const schema = await db.getTableSchema('users');
75
75
  pnpm db:up # 启动 mysql5(33061) / mysql8(33062) / postgres(54321) / mongodb(27017)
76
76
  pnpm db:init # 初始化种子数据(MySQL 走 utf8mb4 脚本,Mongo 注入)
77
77
 
78
- # 跑全部集成测试(含 4 种数据库)
79
- SQLENGINE_TEST_MYSQL5_HOST=127.0.0.1 SQLENGINE_TEST_MYSQL5_PORT=33061 \
80
- SQLENGINE_TEST_MYSQL5_USER=root SQLENGINE_TEST_MYSQL5_PASSWORD=root \
81
- SQLENGINE_TEST_MYSQL8_HOST=127.0.0.1 SQLENGINE_TEST_MYSQL8_PORT=33062 \
82
- SQLENGINE_TEST_MYSQL8_USER=root SQLENGINE_TEST_MYSQL8_PASSWORD=root \
83
- SQLENGINE_TEST_PG_HOST=127.0.0.1 SQLENGINE_TEST_PG_PORT=54321 \
84
- SQLENGINE_TEST_MONGO_URI=mongodb://127.0.0.1:27017 \
78
+ # 跑全部集成测试(含 6 种数据库:mysql5/8、mariadb、pg、mongo、mongo 副本集)
79
+ SQLTRANSLATOR_TEST_MYSQL=1 SQLTRANSLATOR_TEST_MYSQL5_HOST=127.0.0.1 SQLTRANSLATOR_TEST_MYSQL5_PORT=33061 \
80
+ SQLTRANSLATOR_TEST_MYSQL5_USER=root SQLTRANSLATOR_TEST_MYSQL5_PASSWORD=root \
81
+ SQLTRANSLATOR_TEST_MYSQL8_HOST=127.0.0.1 SQLTRANSLATOR_TEST_MYSQL8_PORT=33062 \
82
+ SQLTRANSLATOR_TEST_MYSQL8_USER=root SQLTRANSLATOR_TEST_MYSQL8_PASSWORD=root \
83
+ SQLTRANSLATOR_TEST_PG_HOST=127.0.0.1 SQLTRANSLATOR_TEST_PG_PORT=54321 SQLTRANSLATOR_TEST_PG_USER=test \
84
+ SQLTRANSLATOR_TEST_PG_PASSWORD=test SQLTRANSLATOR_TEST_PG_DATABASE=testdb \
85
+ SQLTRANSLATOR_TEST_MARIADB_HOST=127.0.0.1 SQLTRANSLATOR_TEST_MARIADB_PORT=33063 \
86
+ SQLTRANSLATOR_TEST_MARIADB_USER=test SQLTRANSLATOR_TEST_MARIADB_PASSWORD=test SQLTRANSLATOR_TEST_MARIADB_DATABASE=testdb \
87
+ SQLTRANSLATOR_TEST_MONGO_URI=mongodb://127.0.0.1:27017 \
88
+ SQLTRANSLATOR_TEST_MONGO_RS_URI=mongodb://127.0.0.1:27018 \
85
89
  pnpm test
90
+
91
+ > 环境变量缺失时对应方言的集成用例自动跳过(describe.skipIf);mongo 副本集用例需先 `node scripts/init-mongo-rs.mjs` 初始化
86
92
  ```
87
93
 
88
94
  > 国内网络镜像慢时:`MYSQL5_IMAGE=docker.m.daocloud.io/library/mysql:5.7 MYSQL8_IMAGE=docker.m.daocloud.io/library/mysql:8.0 MONGO_IMAGE=docker.m.daocloud.io/library/mongo:7 pnpm db:up`
@@ -1,8 +1,10 @@
1
1
  import type { ConnectionConfig } from '../types/config.js';
2
2
  import type { ClientManagerOptions, PoolMetrics } from '../types/manager.js';
3
3
  import { DbClient } from './client.js';
4
+ import { PoolRegistry } from './registry.js';
4
5
  export declare class ClientManager {
5
- private registry;
6
+ /** 底层池注册表(只读暴露):供自定义 SqlEngine 绑定 / 监控使用 */
7
+ readonly registry: PoolRegistry;
6
8
  private byId;
7
9
  private maxClients;
8
10
  constructor(options?: ClientManagerOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/client/manager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQvC,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,IAAI,CAAuC;IACnD,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,GAAE,oBAAyB;IAK9C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,QAAQ;IAM7C,+CAA+C;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAczE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIjD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIzD,mCAAmC;IAC7B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,oCAAoC;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,aAAa;IACP,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,UAAU;IACV,OAAO,IAAI,WAAW;CAGvB"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/client/manager.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAO7C,qBAAa,aAAa;IACxB,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,OAAO,CAAC,IAAI,CAAuC;IACnD,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,GAAE,oBAAyB;IAK9C;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,QAAQ;IAM7C,+CAA+C;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAczE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIjD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAIzD,mCAAmC;IAC7B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1C,oCAAoC;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,aAAa;IACP,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAKjC,UAAU;IACV,OAAO,IAAI,WAAW;CAGvB"}
@@ -7,6 +7,7 @@ import { configKey } from '../core/config.js';
7
7
  import { DbClient } from './client.js';
8
8
  import { PoolRegistry } from './registry.js';
9
9
  export class ClientManager {
10
+ /** 底层池注册表(只读暴露):供自定义 SqlEngine 绑定 / 监控使用 */
10
11
  registry;
11
12
  byId = new Map();
12
13
  maxClients;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/client/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/client/manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/driver/mongodb/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,KAAK,EAEL,aAAa,EACb,UAAU,EAEX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAgB5C,qBAAa,WAAY,YAAW,SAAS;IAC3C,QAAQ,CAAC,OAAO,aAAa;IAEvB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAO5D,oDAAoD;IAC9C,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAwBzE,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB1D,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMjD,cAAc,CAClB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,GAAG,EAAE,CAAC;IAMX,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAO7D,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQpF,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAK3E,oCAAoC;IACpC,cAAc,CACZ,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,OAAO,SAAS,EAAE,aAAa,GACxC,OAAO,CAAC,UAAU,CAAC;IAiBtB,oDAAoD;IAC9C,eAAe,CAAC,CAAC,EACrB,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,CAAC,EAAE,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC;YA8BC,SAAS;YAsET,MAAM;IAyDpB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAa3F,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;CAuB1F;AAED,eAAO,MAAM,aAAa,aAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/driver/mongodb/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACb,KAAK,EAEL,aAAa,EACb,UAAU,EAEX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAgB5C,qBAAa,WAAY,YAAW,SAAS;IAC3C,QAAQ,CAAC,OAAO,aAAa;IAEvB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAO5D,oDAAoD;IAC9C,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAwBzE,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB1D,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMjD,cAAc,CAClB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,GAAG,EAAE,CAAC;IAMX,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAO7D,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQpF,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAK3E,oCAAoC;IACpC,cAAc,CACZ,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,OAAO,SAAS,EAAE,aAAa,GACxC,OAAO,CAAC,UAAU,CAAC;IAiBtB,oDAAoD;IAC9C,eAAe,CAAC,CAAC,EACrB,IAAI,EAAE,UAAU,EAChB,EAAE,EAAE,CAAC,EAAE,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,CAAC,CAAC;YA8BC,SAAS;YAqFT,MAAM;IAyDpB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;IAa3F,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;CAuB1F;AAED,eAAO,MAAM,aAAa,aAAoB,CAAC"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { SqlEngineError, wrapError } from '../../errors.js';
7
7
  import { normalizeSql } from '../../core/sql/normalize.js';
8
+ import { hasPaginationClause } from '../../core/sql/pagination.js';
8
9
  import { detectStatementType, isDmlStatement, hasDmlWhere, countInsertValueRows } from '../../core/sql/statement.js';
9
10
  import { createTask } from '../../types/task.js';
10
11
  import { MongoPoolHandle } from './pool.js';
@@ -154,11 +155,12 @@ export class MongoDriver {
154
155
  const db = await handle.getDb();
155
156
  const parsed = translateSelect(sql);
156
157
  const additionalMatch = translateWhereToMatch(request.whereClause ?? '');
157
- // SQL 自带分页 → 用 noql 解析出的 limit/offset;否则用请求级标准分页
158
- const sqlHasPagination = !!parsed.limit || !!parsed.offset;
158
+ // SQL 显式分页 → 用 noql 解析出的 limit/offset;否则用请求级标准分页
159
+ // 注意:不能依赖 parsed.limit(noql 对无 LIMIT 的 SQL 返回默认 100,会误判为自带分页)
160
+ const sqlHasPagination = hasPaginationClause(sql);
159
161
  const standardPagination = !sqlHasPagination;
160
162
  const offset = Math.max(Number(parsed.offset ?? request.offset ?? 0), 0);
161
- const limit = Math.max(Number(parsed.limit ?? request.limit ?? 100), 0);
163
+ const limit = Math.max(Number(standardPagination ? (request.limit ?? 100) : (parsed.limit ?? request.limit ?? 100)), 0);
162
164
  const projection = toMongoProjection(parsed.projection);
163
165
  if (parsed.type === 'query' && parsed.collection) {
164
166
  const query = mergeMatch(parsed.query, additionalMatch);
@@ -185,16 +187,27 @@ export class MongoDriver {
185
187
  if (Object.keys(additionalMatch).length) {
186
188
  pipeline.push({ $match: additionalMatch });
187
189
  }
188
- const total = standardPagination
189
- ? await db
190
+ if (standardPagination) {
191
+ // 标准分页:count + 请求级 skip/limit
192
+ const total = await db
190
193
  .collection(parsed.collections[0])
191
194
  .aggregate([...pipeline, { $count: 'total' }], session ? { session } : undefined)
192
195
  .toArray()
193
- .then((r) => Number(r[0]?.total ?? 0))
194
- : 0;
195
- if (standardPagination) {
196
+ .then((r) => Number(r[0]?.total ?? 0));
196
197
  pipeline.push({ $skip: offset }, { $limit: limit });
198
+ const docs = await db
199
+ .collection(parsed.collections[0])
200
+ .aggregate(pipeline, session ? { session } : undefined)
201
+ .toArray();
202
+ return {
203
+ rows: docs,
204
+ fields: inferFieldsFromRows(docs),
205
+ total,
206
+ offset,
207
+ limit,
208
+ };
197
209
  }
210
+ // SQL 自带分页(noql pipeline 已含 $limit/$skip)→ 直接执行,total 用近似值(rows.length)
198
211
  const docs = await db
199
212
  .collection(parsed.collections[0])
200
213
  .aggregate(pipeline, session ? { session } : undefined)
@@ -202,7 +215,7 @@ export class MongoDriver {
202
215
  return {
203
216
  rows: docs,
204
217
  fields: inferFieldsFromRows(docs),
205
- total,
218
+ total: docs.length,
206
219
  offset,
207
220
  limit,
208
221
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/driver/mongodb/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/driver/mongodb/index.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,16 @@ import type { TableSchema } from '../types/schema.js';
5
5
  import type { IntrospectTask } from '../types/task.js';
6
6
  export declare class SqlEngine {
7
7
  private registry;
8
+ /** 查询结果缓存:按 config 指纹隔离(DML/DDL 后整库失效) */
9
+ private queryCaches;
8
10
  constructor(registry?: PoolRegistry);
9
11
  testConnection(config: ConnectionConfig): Promise<TestResult>;
10
12
  /** 执行 SQL:SELECT → QueryResult,DML → WriteResult(池按 config 指纹共享)
11
- * 返回结果统一携带 duration(执行耗时 ms) */
13
+ * 返回结果统一携带 duration(执行耗时 ms)
14
+ * selectOnly 只读模式:拒绝一切非 SELECT 语句(与 DbClient 行为一致)
15
+ * 查询结果缓存:仅幂等 SELECT;写操作后整库失效 */
12
16
  runSql(config: ConnectionConfig, request: RunSqlRequest): Promise<ExecResult>;
17
+ private getQueryCache;
13
18
  getTableList(config: ConnectionConfig): Promise<string[]>;
14
19
  getTableDDL(config: ConnectionConfig, table: string): Promise<string>;
15
20
  getColumns(config: ConnectionConfig, table: string): Promise<Field[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/facade/engine.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAiB,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEzI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAe;gBAEnB,QAAQ,CAAC,EAAE,YAAY;IAI7B,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAInE;oCACgC;IAC1B,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IAwB7E,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzD,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASrE,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAIrE,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5F,cAAc,CAClB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,SAAI,EACV,KAAK,SAAM,EACX,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,GAAG,EAAE,CAAC;IAMjB,mBAAmB;IACb,cAAc,CAClB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,WAAW,CAAC;IAMvB,gCAAgC;IAChC,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;IAejG,mBAAmB;IACb,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBhG,0BAA0B;IACpB,eAAe,CAAC,CAAC,EACrB,MAAM,EAAE,gBAAgB,EACxB,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1E,OAAO,CAAC,CAAC,CAAC;IAaP,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAMzF,WAAW;IACL,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAInB,UAAU;CAYzB"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/facade/engine.ts"],"names":[],"mappings":"AAQA,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAiB,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIzI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAe;IAC/B,0CAA0C;IAC1C,OAAO,CAAC,WAAW,CAAmD;gBAE1D,QAAQ,CAAC,EAAE,YAAY;IAI7B,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAInE;;;oCAGgC;IAC1B,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC;IA8DnF,OAAO,CAAC,aAAa;IAWf,YAAY,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIzD,WAAW,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASrE,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAIrE,YAAY,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5F,cAAc,CAClB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,SAAI,EACV,KAAK,SAAM,EACX,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,GAAG,EAAE,CAAC;IAMjB,mBAAmB;IACb,cAAc,CAClB,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,aAAa,GACnB,OAAO,CAAC,WAAW,CAAC;IAMvB,gCAAgC;IAChC,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;IAejG,mBAAmB;IACb,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBhG,0BAA0B;IACpB,eAAe,CAAC,CAAC,EACrB,MAAM,EAAE,gBAAgB,EACxB,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,yBAAyB,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1E,OAAO,CAAC,CAAC,CAAC;IAaP,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAMzF,WAAW;IACL,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAKnB,UAAU;CAYzB"}
@@ -8,9 +8,13 @@ import { getDriver } from '../driver/registry.js';
8
8
  import { defaultRegistry } from '../client/registry.js';
9
9
  import { roundDuration } from '../types/result.js';
10
10
  import { maybeLogSlowQuery } from '../core/slow-query.js';
11
+ import { detectStatementType } from '../core/sql/statement.js';
12
+ import { TtlCache, queryCacheKey } from '../core/cache.js';
11
13
  import { wrapTask } from '../types/task.js';
12
14
  export class SqlEngine {
13
15
  registry;
16
+ /** 查询结果缓存:按 config 指纹隔离(DML/DDL 后整库失效) */
17
+ queryCaches = new Map();
14
18
  constructor(registry) {
15
19
  this.registry = registry ?? defaultRegistry;
16
20
  }
@@ -18,13 +22,13 @@ export class SqlEngine {
18
22
  return getDriver(config.type).testConnection(config);
19
23
  }
20
24
  /** 执行 SQL:SELECT → QueryResult,DML → WriteResult(池按 config 指纹共享)
21
- * 返回结果统一携带 duration(执行耗时 ms) */
25
+ * 返回结果统一携带 duration(执行耗时 ms)
26
+ * selectOnly 只读模式:拒绝一切非 SELECT 语句(与 DbClient 行为一致)
27
+ * 查询结果缓存:仅幂等 SELECT;写操作后整库失效 */
22
28
  async runSql(config, request) {
23
29
  const start = performance.now();
24
30
  const driver = getDriver(config.type);
25
- const handle = await this.registry.getPool(config);
26
- try {
27
- const result = await driver.runSql(handle, request);
31
+ const finish = (result) => {
28
32
  const durationMs = performance.now() - start;
29
33
  if (result && typeof result === 'object') {
30
34
  result.duration = roundDuration(durationMs);
@@ -38,11 +42,56 @@ export class SqlEngine {
38
42
  fingerprint: configKey(config),
39
43
  });
40
44
  return result;
45
+ };
46
+ // selectOnly 只读护栏(数据库层强制只读,替代关键词黑名单)
47
+ if (config.selectOnly) {
48
+ const type = detectStatementType(request.sql);
49
+ if (type !== 'SELECT') {
50
+ throw new SqlEngineError('READ_ONLY', `只读模式(selectOnly: true)禁止 ${type} 语句,仅允许 SELECT`);
51
+ }
52
+ }
53
+ const cacheOpts = config.cache;
54
+ const cache = cacheOpts?.enabled ? this.getQueryCache(config) : null;
55
+ const type = detectStatementType(request.sql);
56
+ // 幂等 SELECT:命中缓存直接返回(duration 含缓存查找耗时)
57
+ if (cache && type === 'SELECT') {
58
+ const key = queryCacheKey(configKey(config), request.sql, request);
59
+ const hit = cache.get(key);
60
+ if (hit !== undefined)
61
+ return finish(hit);
62
+ const handle = await this.registry.getPool(config);
63
+ try {
64
+ const result = await driver.runSql(handle, request);
65
+ cache.set(key, structuredClone(result));
66
+ return finish(result);
67
+ }
68
+ finally {
69
+ this.registry.release(configKey(config));
70
+ }
71
+ }
72
+ const handle = await this.registry.getPool(config);
73
+ try {
74
+ const result = await driver.runSql(handle, request);
75
+ // 写操作后粗粒度失效(本 config 指纹缓存全清)
76
+ if (cache && type !== 'SELECT') {
77
+ cache.clear();
78
+ }
79
+ return finish(result);
41
80
  }
42
81
  finally {
43
82
  this.registry.release(configKey(config));
44
83
  }
45
84
  }
85
+ getQueryCache(config) {
86
+ const fingerprint = configKey(config);
87
+ let cache = this.queryCaches.get(fingerprint);
88
+ if (!cache) {
89
+ const opts = config.cache;
90
+ cache = new TtlCache(opts?.ttlMs ?? 60000, opts?.maxEntries ?? 1000);
91
+ this.queryCaches.set(fingerprint, cache);
92
+ }
93
+ return cache;
94
+ }
46
95
  async getTableList(config) {
47
96
  return this.withHandle(config, (driver, handle) => driver.getTableList(handle));
48
97
  }
@@ -119,6 +168,7 @@ export class SqlEngine {
119
168
  /** 全局清理 */
120
169
  async destroyAll() {
121
170
  await this.registry.destroyAll();
171
+ this.queryCaches.clear();
122
172
  }
123
173
  async withHandle(config, fn) {
124
174
  const driver = getDriver(config.type);
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/facade/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/facade/engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAqB,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAwF,MAAM,oBAAoB,CAAC;AACzI,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,OAAO,SAAS;IACZ,QAAQ,CAAe;IAC/B,0CAA0C;IAClC,WAAW,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEtE,YAAY,QAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,eAAe,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAwB;QAC3C,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACvD,CAAC;IAED;;;oCAGgC;IAChC,KAAK,CAAC,MAAM,CAAC,MAAwB,EAAE,OAAsB;QAC3D,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,MAAkB,EAAc,EAAE;YAChD,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;YAC7C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxC,MAAgC,CAAC,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YACzE,CAAC;YACD,QAAQ;YACR,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE;gBAChC,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,UAAU;gBACV,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC;aAC/B,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,qCAAqC;QACrC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,IAAI,cAAc,CACtB,WAAW,EACX,4BAA4B,IAAI,gBAAgB,CACjD,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/B,MAAM,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE9C,uCAAuC;QACvC,IAAI,KAAK,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACnE,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACpD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpD,6BAA6B;YAC7B,IAAI,KAAK,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;YACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,MAAwB;QAC5C,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;YAC1B,KAAK,GAAG,IAAI,QAAQ,CAAqB,IAAI,EAAE,KAAK,IAAI,KAAK,EAAE,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC,CAAC;YACzF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAwB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAwB,EAAE,KAAa;QACvD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAwB,EAAE,KAAa;QACtD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAwB,EAAE,KAAa,EAAE,WAAoB;QAC9E,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAChD,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAChD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAwB,EACxB,KAAa,EACb,MAAM,GAAG,CAAC,EACV,KAAK,GAAG,GAAG,EACX,WAAoB;QAEpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAChD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CACjE,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,cAAc,CAClB,MAAwB,EACxB,KAAa,EACb,IAAoB;QAEpB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAChD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED,gCAAgC;IAChC,kBAAkB,CAAC,MAAwB,EAAE,IAAoB;QAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC/B,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC,OAAO,yBAAyB,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAgB,GAAG,EAAE,CAClC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,kBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACtD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,OAAO,CAAC,MAAwB,EAAE,GAAW,EAAE,MAAkB;QACrE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YAC3D,OAAO,MAAM,CAAC;QAChB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,KAAK,CAAC,eAAe,CACnB,MAAwB,EACxB,EAA2E;QAE3E,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,IAAI,cAAc,CAAC,cAAc,EAAE,MAAM,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC;QACzE,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAwB,EAAE,IAAoB;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW;IACX,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,MAAwB,EACxB,EAA8F;QAE9F,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
package/lib/index.d.ts CHANGED
@@ -20,6 +20,8 @@ export * from './core/worker/index.js';
20
20
  export * from './core/sql/normalize.js';
21
21
  export * from './core/sql/pagination.js';
22
22
  export * from './core/sql/statement.js';
23
+ export * from './core/field-mapper/mysql.js';
24
+ export * from './core/field-mapper/postgresql.js';
23
25
  export { replaceTableNamesInSql, validateTableNameReplacement, stripQuotes, extractTableNamesFromSql as extractMappedTableNames, } from './core/sql/table-mapper.js';
24
26
  export * from './optional/static-source.js';
25
27
  export * from './core/config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,mBAAmB,CAAC;AAE3B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,WAAW,EACX,wBAAwB,IAAI,uBAAuB,GACpD,MAAM,4BAA4B,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAOtD,eAAO,MAAM,cAAc,GAAI,QAAQ,gBAAgB,KAAG,OAAO,CAAC,UAAU,CACtC,CAAC;AAEvC,eAAO,MAAM,MAAM,GAAI,QAAQ,gBAAgB,EAAE,KAAK,aAAa,KAAG,OAAO,CAAC,UAAU,CACrD,CAAC;AAEpC,eAAO,MAAM,OAAO,GAAI,QAAQ,gBAAgB,EAAE,KAAK,MAAM,EAAE,SAAS,OAAO,EAAE,KAAG,OAAO,CAAC,aAAa,CAC7D,CAAC;AAE7C,eAAO,MAAM,YAAY,GAAI,QAAQ,gBAAgB,KAAG,OAAO,CAAC,MAAM,EAAE,CACpC,CAAC;AAErC,eAAO,MAAM,WAAW,GAAI,QAAQ,gBAAgB,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,MAAM,CAC1C,CAAC;AAE3C,eAAO,MAAM,UAAU,GAAI,QAAQ,gBAAgB,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,KAAK,EAAE,CAC3C,CAAC;AAE1C,eAAO,MAAM,YAAY,GACvB,QAAQ,gBAAgB,EACxB,OAAO,MAAM,EACb,cAAc,MAAM,KACnB,OAAO,CAAC,MAAM,CAA2D,CAAC;AAE7E,eAAO,MAAM,cAAc,GACzB,QAAQ,gBAAgB,EACxB,OAAO,MAAM,EACb,eAAU,EACV,cAAW,EACX,cAAc,MAAM,KACnB,OAAO,CAAC,GAAG,EAAE,CAA4E,CAAC;AAE7F,eAAO,MAAM,cAAc,GACzB,QAAQ,gBAAgB,EACxB,OAAO,MAAM,EACb,OAAO,aAAa,KACnB,OAAO,CAAC,WAAW,CAAsD,CAAC;AAE7E,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,gBAAgB,EACxB,OAAO,aAAa,KACnB,cAAc,CAAC,WAAW,EAAE,CAAmD,CAAC;AAEnF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,gBAAgB,EAAE,OAAO,aAAa,KAAG,OAAO,CAAC,MAAM,CAClD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,mBAAmB,CAAC;AAE3B,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,WAAW,EACX,wBAAwB,IAAI,uBAAuB,GACpD,MAAM,4BAA4B,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAOtD,eAAO,MAAM,cAAc,GAAI,QAAQ,gBAAgB,KAAG,OAAO,CAAC,UAAU,CACtC,CAAC;AAEvC,eAAO,MAAM,MAAM,GAAI,QAAQ,gBAAgB,EAAE,KAAK,aAAa,KAAG,OAAO,CAAC,UAAU,CACrD,CAAC;AAEpC,eAAO,MAAM,OAAO,GAAI,QAAQ,gBAAgB,EAAE,KAAK,MAAM,EAAE,SAAS,OAAO,EAAE,KAAG,OAAO,CAAC,aAAa,CAC7D,CAAC;AAE7C,eAAO,MAAM,YAAY,GAAI,QAAQ,gBAAgB,KAAG,OAAO,CAAC,MAAM,EAAE,CACpC,CAAC;AAErC,eAAO,MAAM,WAAW,GAAI,QAAQ,gBAAgB,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,MAAM,CAC1C,CAAC;AAE3C,eAAO,MAAM,UAAU,GAAI,QAAQ,gBAAgB,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,KAAK,EAAE,CAC3C,CAAC;AAE1C,eAAO,MAAM,YAAY,GACvB,QAAQ,gBAAgB,EACxB,OAAO,MAAM,EACb,cAAc,MAAM,KACnB,OAAO,CAAC,MAAM,CAA2D,CAAC;AAE7E,eAAO,MAAM,cAAc,GACzB,QAAQ,gBAAgB,EACxB,OAAO,MAAM,EACb,eAAU,EACV,cAAW,EACX,cAAc,MAAM,KACnB,OAAO,CAAC,GAAG,EAAE,CAA4E,CAAC;AAE7F,eAAO,MAAM,cAAc,GACzB,QAAQ,gBAAgB,EACxB,OAAO,MAAM,EACb,OAAO,aAAa,KACnB,OAAO,CAAC,WAAW,CAAsD,CAAC;AAE7E,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,gBAAgB,EACxB,OAAO,aAAa,KACnB,cAAc,CAAC,WAAW,EAAE,CAAmD,CAAC;AAEnF,eAAO,MAAM,kBAAkB,GAAI,QAAQ,gBAAgB,EAAE,OAAO,aAAa,KAAG,OAAO,CAAC,MAAM,CAClD,CAAC"}
package/lib/index.js CHANGED
@@ -19,6 +19,8 @@ export * from './core/worker/index.js';
19
19
  export * from './core/sql/normalize.js';
20
20
  export * from './core/sql/pagination.js';
21
21
  export * from './core/sql/statement.js';
22
+ export * from './core/field-mapper/mysql.js';
23
+ export * from './core/field-mapper/postgresql.js';
22
24
  export { replaceTableNamesInSql, validateTableNameReplacement, stripQuotes, extractTableNamesFromSql as extractMappedTableNames, } from './core/sql/table-mapper.js';
23
25
  export * from './optional/static-source.js';
24
26
  export * from './core/config.js';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,mBAAmB,CAAC,CAAC,iBAAiB;AAE7C,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,WAAW,EACX,wBAAwB,IAAI,uBAAuB,GACpD,MAAM,4BAA4B,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAM/C,qCAAqC;AACrC,MAAM,aAAa,GAAG,IAAI,SAAS,EAAE,CAAC;AAEtC,qDAAqD;AAErD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAwB,EAAuB,EAAE,CAC9E,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAwB,EAAE,GAAkB,EAAuB,EAAE,CAC1F,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAwB,EAAE,GAAW,EAAE,MAAkB,EAA0B,EAAE,CAC3G,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAwB,EAAqB,EAAE,CAC1E,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAwB,EAAE,KAAa,EAAmB,EAAE,CACtF,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE3C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAwB,EAAE,KAAa,EAAoB,EAAE,CACtF,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,MAAwB,EACxB,KAAa,EACb,WAAoB,EACH,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAwB,EACxB,KAAa,EACb,MAAM,GAAG,CAAC,EACV,KAAK,GAAG,GAAG,EACX,WAAoB,EACJ,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAwB,EACxB,KAAa,EACb,IAAoB,EACE,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAwB,EACxB,IAAoB,EACW,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAwB,EAAE,IAAoB,EAAmB,EAAE,CACpG,aAAa,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,12 @@ export interface BaseConfig {
96
96
  queue?: TaskQueueOptions;
97
97
  /** 结构检出选项(作为各方法默认值)——注意与 PG 的 schema(schema 名)不冲突 */
98
98
  introspect?: SchemaOptions;
99
+ /** 只读模式:拒绝一切非 SELECT 语句(数据库层强制只读,替代关键词黑名单) */
100
+ selectOnly?: boolean;
101
+ /** 查询结果缓存(仅幂等 SELECT;DML/DDL 后整库失效) */
102
+ cache?: QueryCacheOptions;
103
+ /** 日志选项(慢查询等) */
104
+ logging?: LoggingOptions;
99
105
  [key: string]: unknown;
100
106
  }
101
107
  export interface MysqlConfig extends BaseConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fett/sql-translator",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "SQL 兼容层:以 SQL 为统一查询语言的数据库兼容层(MySQL 5/8 / PostgreSQL / SQLite / MongoDB),支持 Node ≥ 22.5 与 Bun,内置连接池、任务队列(多线程)、结构检出",
5
5
  "license": "ISC",
6
6
  "author": "chrissong1994 <18557511748@163.com>",