@fett/sql-translator 0.0.2 → 0.0.4

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.
@@ -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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"}
@@ -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":"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"}
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.2",
3
+ "version": "0.0.4",
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>",
@@ -23,7 +23,7 @@
23
23
  "node": ">=22.5.0",
24
24
  "bun": ">=1.1.0"
25
25
  },
26
- "peerDependencies": {
26
+ "dependencies": {
27
27
  "@synatic/noql": ">=5",
28
28
  "knex": ">=3",
29
29
  "mongodb": ">=6",
@@ -31,26 +31,6 @@
31
31
  "node-sql-parser": ">=5",
32
32
  "pg": ">=8"
33
33
  },
34
- "peerDependenciesMeta": {
35
- "@synatic/noql": {
36
- "optional": true
37
- },
38
- "knex": {
39
- "optional": true
40
- },
41
- "mongodb": {
42
- "optional": true
43
- },
44
- "mysql2": {
45
- "optional": true
46
- },
47
- "node-sql-parser": {
48
- "optional": true
49
- },
50
- "pg": {
51
- "optional": true
52
- }
53
- },
54
34
  "devDependencies": {
55
35
  "@types/node": "^24.0.0",
56
36
  "bson": "7.3.2",