@aiao/rxdb-adapter-pglite 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/PGliteClient.d.ts +11 -2
  2. package/dist/PGliteClient.d.ts.map +1 -1
  3. package/dist/RxDBAdapterPGlite.d.ts +15 -16
  4. package/dist/RxDBAdapterPGlite.d.ts.map +1 -1
  5. package/dist/execute_helper.d.ts +70 -0
  6. package/dist/execute_helper.d.ts.map +1 -0
  7. package/dist/handle_rxdb_change.d.ts +26 -0
  8. package/dist/handle_rxdb_change.d.ts.map +1 -0
  9. package/dist/index.d.ts +7 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2403 -1884
  12. package/dist/pglite.interface.d.ts +37 -0
  13. package/dist/pglite.interface.d.ts.map +1 -1
  14. package/dist/pglite.utils.d.ts +46 -12
  15. package/dist/pglite.utils.d.ts.map +1 -1
  16. package/dist/query/find_by_row_ids_sql.d.ts +15 -0
  17. package/dist/query/find_by_row_ids_sql.d.ts.map +1 -0
  18. package/dist/query/join_sql.d.ts +10 -5
  19. package/dist/query/join_sql.d.ts.map +1 -1
  20. package/dist/query/query_sql.d.ts +3 -3
  21. package/dist/query/query_sql.d.ts.map +1 -1
  22. package/dist/repository/PGliteRepository.d.ts +3 -1
  23. package/dist/repository/PGliteRepository.d.ts.map +1 -1
  24. package/dist/repository/PGliteRepositoryBase.d.ts +8 -0
  25. package/dist/repository/PGliteRepositoryBase.d.ts.map +1 -1
  26. package/dist/rxdb_adapter_mutations.d.ts +72 -0
  27. package/dist/rxdb_adapter_mutations.d.ts.map +1 -0
  28. package/dist/sql_dialect.d.ts +77 -0
  29. package/dist/sql_dialect.d.ts.map +1 -0
  30. package/dist/table/{create_sql.d.ts → create_table_sql.d.ts} +1 -1
  31. package/dist/table/create_table_sql.d.ts.map +1 -0
  32. package/dist/table/create_tables_sql.d.ts +31 -0
  33. package/dist/table/create_tables_sql.d.ts.map +1 -0
  34. package/dist/table/notify_function_sql.d.ts +46 -0
  35. package/dist/table/notify_function_sql.d.ts.map +1 -0
  36. package/dist/table/remove_trigger_sql.d.ts +41 -0
  37. package/dist/table/remove_trigger_sql.d.ts.map +1 -0
  38. package/dist/table/trigger_sql.d.ts +0 -2
  39. package/dist/table/trigger_sql.d.ts.map +1 -1
  40. package/dist/transaction_pglite_result.d.ts +102 -0
  41. package/dist/transaction_pglite_result.d.ts.map +1 -0
  42. package/dist/version/create_branch.d.ts +24 -0
  43. package/dist/version/create_branch.d.ts.map +1 -0
  44. package/dist/{rxdb_adapter_switch_transaction_id.d.ts → version/switch_transaction_id.d.ts} +3 -3
  45. package/dist/version/switch_transaction_id.d.ts.map +1 -0
  46. package/package.json +7 -7
  47. package/dist/rxdb_adapter_create_branch.d.ts +0 -7
  48. package/dist/rxdb_adapter_create_branch.d.ts.map +0 -1
  49. package/dist/rxdb_adapter_switch_transaction_id.d.ts.map +0 -1
  50. package/dist/table/create_sql.d.ts.map +0 -1
@@ -3,6 +3,43 @@ import { PGliteOptions } from '@electric-sql/pglite';
3
3
  * PGlite 适配器名称常量
4
4
  */
5
5
  export declare const ADAPTER_NAME: "pglite";
6
+ /**
7
+ * PGlite 变更事件类型枚举
8
+ * 对应 PostgreSQL 的 TG_OP (trigger operation)
9
+ */
10
+ export declare enum PGliteChangeType {
11
+ INSERT = "INSERT",
12
+ UPDATE = "UPDATE",
13
+ DELETE = "DELETE"
14
+ }
15
+ /**
16
+ * PGlite 通知 payload 结构
17
+ * 从 NOTIFY 消息中解析的数据
18
+ */
19
+ export interface PGliteNotifyPayload {
20
+ /** 操作类型 */
21
+ operation: PGliteChangeType;
22
+ /** 表名 */
23
+ table: string;
24
+ /** 受影响的行 ID 数组 */
25
+ ids: Array<string | number>;
26
+ }
27
+ /**
28
+ * PGlite 变更事件
29
+ * 触发器通过 NOTIFY 发送的数据库变更事件
30
+ */
31
+ export interface PGliteChangeEvent {
32
+ /** 事件类型 */
33
+ type: PGliteChangeType;
34
+ /** 数据库名称 */
35
+ dbName: string;
36
+ /** 表名称 */
37
+ tableName: string;
38
+ /** 受影响的行 ID 列表 */
39
+ rowIds: Array<string | number>;
40
+ /** 记录时间 */
41
+ recordAt: Date;
42
+ }
6
43
  /**
7
44
  * PGlite 客户端配置选项
8
45
  * 扩展自 PGlite 原生配置
@@ -1 +1 @@
1
- {"version":3,"file":"pglite.interface.d.ts","sourceRoot":"","sources":["../src/pglite.interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pglite.interface.d.ts","sourceRoot":"","sources":["../src/pglite.interface.ts"],"names":[],"mappings":"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"}
@@ -1,46 +1,80 @@
1
1
  import { EntityMetadata, EntityPropertyMetadata, EntityRelationMetadata } from '../packages/rxdb/src/index.ts';
2
+ /**
3
+ * PGlite 适配器错误类
4
+ *
5
+ * 扩展标准 Error,添加错误码和原始错误引用
6
+ */
2
7
  export declare class RxdbAdapterPGliteError extends Error {
3
- constructor(message: string);
8
+ /**
9
+ * 错误代码(例如:DUPLICATE_ENTITY, INVALID_SQL)
10
+ */
11
+ readonly code?: string;
12
+ /**
13
+ * 原始错误对象(如果是从其他错误转换而来)
14
+ */
15
+ readonly originalError?: Error;
16
+ constructor(message: string, code?: string, originalError?: Error);
4
17
  }
5
18
  export declare const getTableName: (entityName: string, namespace?: string) => string;
6
19
  export declare const getTableNameByMetadata: (metadata: EntityMetadata) => string;
7
20
  type PGliteDataType = 'uuid' | 'varchar' | 'jsonb' | 'numeric' | 'integer' | 'boolean' | 'timestamptz';
8
21
  /**
9
- * rxdb 的类型 PGlite 类型
22
+ * RxDB 属性类型转换为 PGlite 数据类型
10
23
  */
11
24
  export declare const rxDBColumnTypeToPGliteType: (property: EntityPropertyMetadata) => PGliteDataType;
12
25
  /**
13
- * 获取属性的 index 操作符
14
- *http://www.postgres.cn/docs/current/indexes-opclass.html
26
+ * 获取属性的索引操作符
27
+ * http://www.postgres.cn/docs/current/indexes-opclass.html
15
28
  */
16
29
  export declare const rxDBColumnTypeToPGliteTypeIndexName: (property: EntityPropertyMetadata) => string;
30
+ /**
31
+ * 获取表列索引名称
32
+ */
17
33
  export declare const getTableColumnIndexName: (metadata: EntityMetadata, property: EntityPropertyMetadata | EntityRelationMetadata) => string;
18
34
  /**
19
- * Transform JavaScript value to PostgreSQL-compatible value
35
+ * JavaScript 值转换为 PostgreSQL 兼容的值
20
36
  */
21
37
  export declare const transformValueJsToPGlite: (value: any, property: EntityPropertyMetadata) => any;
22
38
  /**
23
- * Transform entity values to SQL-compatible format
39
+ * 将实体值转换为 SQL 兼容格式
24
40
  */
25
41
  export declare const transformEntityValueToSql: (metadata: EntityMetadata, entity: any) => any;
26
42
  /**
27
- * Normalize entity data for creation (filter writable fields)
43
+ * 规范化创建实体的字段(过滤可写字段)
28
44
  */
29
45
  export declare const normalizeCreateEntity: (metadata: EntityMetadata, entity: any) => any;
30
46
  /**
31
- * Normalize entity data, filtering out readonly fields
47
+ * 规范化实体数据,过滤掉只读字段
32
48
  */
33
49
  export declare const normalizeEntity: (metadata: EntityMetadata, entity: any) => any;
34
50
  export declare const getSqlValue: (value: any) => string;
35
51
  /**
36
- * Replace PostgreSQL parameter placeholders ($1, $2, etc.) with actual values
37
- * Used for batch operations where parameterized queries cannot be used
52
+ * PostgreSQL 参数占位符($1、$2 等)替换为实际值
53
+ * 用于批量操作中无法使用参数化查询的情况
38
54
  */
39
55
  export declare const getSqlWithParams: (sql: string, params?: any[]) => string;
40
56
  /**
41
- * Get entity object data from PGlite result row
42
- * PGlite returns rows as objects, so this is mainly for type conversion
57
+ * PGlite 结果行获取实体对象数据
58
+ * PGlite 返回行作为对象,主要用于类型转换
43
59
  */
44
60
  export declare const getEntityObjectFromResult: (metadata: EntityMetadata, row: any) => any;
61
+ /**
62
+ * 将 PGlite 存储的值转换为 JS 类型
63
+ * PostgreSQL 的 JSONB 字段已经是对象,不需要 JSON.parse
64
+ *
65
+ * @param value - 数据库值
66
+ * @param property - 属性元数据
67
+ * @returns 转换后的 JS 值
68
+ */
69
+ export declare const transformValuePGliteToJs: (value: any, property: EntityPropertyMetadata) => any;
70
+ /**
71
+ * 将实体对象中的所有值从 PGlite 格式转换为 JS 类型
72
+ * 主要用于 RxDBChange 表的 patch/inversePatch 字段
73
+ *
74
+ * @param metadata - 实体元数据
75
+ * @param entity - 实体对象
76
+ * @returns 转换后的实体对象
77
+ */
78
+ export declare const transformEntityValuePGliteToJs: (metadata: EntityMetadata, entity: Record<string, any>) => Record<string, any>;
45
79
  export {};
46
80
  //# sourceMappingURL=pglite.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pglite.utils.d.ts","sourceRoot":"","sources":["../src/pglite.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,sBAAsB,EAAgB,MAAM,YAAY,CAAC;AAG1G,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAK5B;AAED,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,EAAE,YAAW,MAAiB,WAAqC,CAAC;AAEnH,eAAO,MAAM,sBAAsB,GAAI,UAAU,cAAc,WAAoD,CAAC;AAGpH,KAAK,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAEvG;;GAEG;AACH,eAAO,MAAM,0BAA0B,GAAI,UAAU,sBAAsB,KAAG,cAkB7E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mCAAmC,GAAI,UAAU,sBAAsB,KAAG,MAgBtF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,UAAU,cAAc,EACxB,UAAU,sBAAsB,GAAG,sBAAsB,WACO,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,GAAG,EAAE,UAAU,sBAAsB,KAAG,GAyBvF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,UAAU,cAAc,EAAE,QAAQ,GAAG,QAmB9E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,cAAc,EAAE,QAAQ,GAAG,QAC0B,CAAC;AAEtG;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,cAAc,EAAE,QAAQ,GAAG,QACS,CAAC;AAW/E,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,KAAG,MA0BxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,SAAQ,GAAG,EAAO,KAAG,MAWlE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,UAAU,cAAc,EAAE,KAAK,GAAG,KAAG,GAwB9E,CAAC"}
1
+ {"version":3,"file":"pglite.utils.d.ts","sourceRoot":"","sources":["../src/pglite.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,sBAAsB,EAAgB,MAAM,YAAY,CAAC;AAG1G;;;;GAIG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C;;OAEG;IACH,SAAgB,IAAI,CAAC,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,SAAgB,aAAa,CAAC,EAAE,KAAK,CAAC;gBAE1B,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,KAAK;CAOlE;AAED,eAAO,MAAM,YAAY,GAAI,YAAY,MAAM,EAAE,YAAW,MAAiB,WAAqC,CAAC;AAEnH,eAAO,MAAM,sBAAsB,GAAI,UAAU,cAAc,WAAoD,CAAC;AAGpH,KAAK,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAEvG;;GAEG;AACH,eAAO,MAAM,0BAA0B,GAAI,UAAU,sBAAsB,KAAG,cAkB7E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mCAAmC,GAAI,UAAU,sBAAsB,KAAG,MAgBtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,UAAU,cAAc,EACxB,UAAU,sBAAsB,GAAG,sBAAsB,WACO,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,GAAG,EAAE,UAAU,sBAAsB,KAAG,GAyBvF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GAAI,UAAU,cAAc,EAAE,QAAQ,GAAG,QAmB9E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,UAAU,cAAc,EAAE,QAAQ,GAAG,QAC0B,CAAC;AAEtG;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU,cAAc,EAAE,QAAQ,GAAG,QACS,CAAC;AAW/E,eAAO,MAAM,WAAW,GAAI,OAAO,GAAG,KAAG,MA0BxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,EAAE,SAAQ,GAAG,EAAO,KAAG,MAWlE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,UAAU,cAAc,EAAE,KAAK,GAAG,KAAG,GAwB9E,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,GAAI,OAAO,GAAG,EAAE,UAAU,sBAAsB,KAAG,GAmBvF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,GAAI,UAAU,cAAc,EAAE,QAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,wBASnG,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { EntityMetadata } from '../../packages/rxdb/src/index.ts';
2
+ export interface GenerateSqlResult {
3
+ sql: string;
4
+ params?: any[];
5
+ }
6
+ /**
7
+ * 生成 findByRowIds 查询 SQL
8
+ *
9
+ * @param metadata - 实体元数据
10
+ * @param rowIds - 行 ID 数组
11
+ * @returns SQL 查询和参数
12
+ */
13
+ declare const _default: (metadata: EntityMetadata, rowIds: Array<string | number>) => GenerateSqlResult;
14
+ export default _default;
15
+ //# sourceMappingURL=find_by_row_ids_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find_by_row_ids_sql.d.ts","sourceRoot":"","sources":["../../src/query/find_by_row_ids_sql.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAChB;AAED;;;;;;GAMG;yBACa,UAAU,cAAc,EAAE,QAAQ,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,KAAG,iBAAiB;AAA5F,wBAYE"}
@@ -16,28 +16,33 @@ export interface JoinContext {
16
16
  relationAliasMap: Map<string, string>;
17
17
  }
18
18
  /**
19
- * Get or create a stable relation alias
19
+ * 获取或创建稳定的关系别名
20
20
  */
21
21
  export declare const get_or_create_relation_alias: (context: JoinContext, relationKey: string) => string;
22
22
  /**
23
- * Try resolve relation path to a sequence of relation pairs
23
+ * 尝试将关系路径解析为一系列关系配对(RelationPair)
24
24
  */
25
25
  export declare const try_resolve_relation_path: (adapter: RxDBAdapterPGlite, entityMetadata: EntityMetadata, parts: string[], cut: number) => {
26
26
  metaWalker?: EntityMetadata;
27
27
  relPairs: RelationPair[];
28
28
  };
29
29
  /**
30
- * Try process JSON keyValue on a relation chain (orders.meta.xxx)
30
+ * 尝试在关系链上处理 JSON keyValue 字段(例如 orders.meta.xxx
31
+ *
32
+ * @remarks
33
+ * **已知限制**:当前实现假定点号仅用于表示嵌套路径。
34
+ * 如果 keyValue 对象内部的键本身包含点(如 "version.major"),此方法将无法正确处理。
35
+ * 详见 SQLite 适配器中 `_try_process_top_level_flatmap` 的文档说明。
31
36
  */
32
37
  export declare const try_process_relation_flatmap: (adapter: RxDBAdapterPGlite, context: JoinContext, entityMetadata: EntityMetadata, strValue: string, parts: string[]) => boolean;
33
38
  /**
34
- * Process relation joins for a chain
39
+ * 处理一条关系链上的所有 JOIN
35
40
  */
36
41
  export declare const process_relation_joins: (adapter: RxDBAdapterPGlite, context: JoinContext, relations: RelationPair[], joinTableName: string) => void;
37
42
  export declare const get_relation_key: (relations: RelationPair[], joinTableName: string, relation: EntityRelationMetadata) => string;
38
43
  export declare const format_table_alias: (alias: string) => string;
39
44
  /**
40
- * Build JOIN SQL and field alias map from a rule group
45
+ * 根据规则组构建 JOIN SQL 以及字段别名映射表
41
46
  */
42
47
  export declare const build_rule_group_join_pg: (adapter: RxDBAdapterPGlite, entityMetadata: EntityMetadata, ruleGroup: any) => {
43
48
  joinSQL: string;
@@ -1 +1 @@
1
- {"version":3,"file":"join_sql.d.ts","sourceRoot":"","sources":["../../src/query/join_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,sBAAsB,EAIvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,eAAO,MAAM,gBAAgB,EAAG,GAAY,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5C,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAOD;;GAEG;AACH,eAAO,MAAM,4BAA4B,GAAI,SAAS,WAAW,EAAE,aAAa,MAAM,KAAG,MAMxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,iBAAiB,EAC1B,gBAAgB,cAAc,EAC9B,OAAO,MAAM,EAAE,EACf,KAAK,MAAM,KACV;IAAE,UAAU,CAAC,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAazD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,GACvC,SAAS,iBAAiB,EAC1B,SAAS,WAAW,EACpB,gBAAgB,cAAc,EAC9B,UAAU,MAAM,EAChB,OAAO,MAAM,EAAE,KACd,OA0BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,iBAAiB,EAC1B,SAAS,WAAW,EACpB,WAAW,YAAY,EAAE,EACzB,eAAe,MAAM,KACpB,IA4BF,CAAC;AAoEF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,YAAY,EAAE,EACzB,eAAe,MAAM,EACrB,UAAU,sBAAsB,KAC/B,MAAwF,CAAC;AAE5F,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MAA6D,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,iBAAiB,EAC1B,gBAAgB,cAAc,EAC9B,WAAW,GAAG;;;CAyBf,CAAC"}
1
+ {"version":3,"file":"join_sql.d.ts","sourceRoot":"","sources":["../../src/query/join_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,sBAAsB,EAIvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,eAAO,MAAM,gBAAgB,EAAG,GAAY,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,GAAG,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5C,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAOD;;GAEG;AACH,eAAO,MAAM,4BAA4B,GAAI,SAAS,WAAW,EAAE,aAAa,MAAM,KAAG,MAMxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,iBAAiB,EAC1B,gBAAgB,cAAc,EAC9B,OAAO,MAAM,EAAE,EACf,KAAK,MAAM,KACV;IAAE,UAAU,CAAC,EAAE,cAAc,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAazD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,4BAA4B,GACvC,SAAS,iBAAiB,EAC1B,SAAS,WAAW,EACpB,gBAAgB,cAAc,EAC9B,UAAU,MAAM,EAChB,OAAO,MAAM,EAAE,KACd,OA0BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,iBAAiB,EAC1B,SAAS,WAAW,EACpB,WAAW,YAAY,EAAE,EACzB,eAAe,MAAM,KACpB,IA4BF,CAAC;AAwEF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,YAAY,EAAE,EACzB,eAAe,MAAM,EACrB,UAAU,sBAAsB,KAC/B,MAAwF,CAAC;AAE5F,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MAA6D,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,wBAAwB,GACnC,SAAS,iBAAiB,EAC1B,gBAAgB,cAAc,EAC9B,WAAW,GAAG;;;CAyBf,CAAC"}
@@ -5,15 +5,15 @@ export interface GenerateSqlResult {
5
5
  params: any[];
6
6
  }
7
7
  /**
8
- * Build WHERE clause from RuleGroup with PostgreSQL parameters
8
+ * 基于 RuleGroup 递归构建 WHERE 语句
9
9
  */
10
10
  export declare const buildRuleGroupPG: <RG extends RuleGroup<any, any, any>>(ruleGroup: RG, params: any[], fieldAliasMap?: Map<string, string>, entityMetadata?: EntityMetadata) => string;
11
11
  /**
12
- * Generate find SQL
12
+ * 生成查找(SELECT)SQL(支持 where / join / order / limit / offset)
13
13
  */
14
14
  export declare const generate_find_sql: (adapter: RxDBAdapterPGlite, metadata: EntityMetadata, options: FindOptions | FindAllOptions) => GenerateSqlResult;
15
15
  /**
16
- * Generate count SQL
16
+ * 生成计数(COUNT)SQL
17
17
  */
18
18
  export declare const generate_count_sql: (adapter: RxDBAdapterPGlite, metadata: EntityMetadata, options: CountOptions) => GenerateSqlResult;
19
19
  //# sourceMappingURL=query_sql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query_sql.d.ts","sourceRoot":"","sources":["../../src/query/query_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,WAAW,EAGX,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAY5D,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AA+KD;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,EAAE,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAClE,WAAW,EAAE,EACb,QAAQ,GAAG,EAAE,EACb,gBAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAC9C,iBAAiB,cAAc,KAC9B,MAcF,CAAC;AAkDF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,iBAAiB,EAC1B,UAAU,cAAc,EACxB,SAAS,WAAW,GAAG,cAAc,KACpC,iBAyBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,iBAAiB,EAC1B,UAAU,cAAc,EACxB,SAAS,YAAY,KACpB,iBAoBF,CAAC"}
1
+ {"version":3,"file":"query_sql.d.ts","sourceRoot":"","sources":["../../src/query/query_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,EACd,cAAc,EACd,WAAW,EAGX,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAY5D,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,GAAG,EAAE,CAAC;CACf;AA2LD;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,EAAE,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAClE,WAAW,EAAE,EACb,QAAQ,GAAG,EAAE,EACb,gBAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,EAC9C,iBAAiB,cAAc,KAC9B,MAcF,CAAC;AAkDF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,iBAAiB,EAC1B,UAAU,cAAc,EACxB,SAAS,WAAW,GAAG,cAAc,KACpC,iBAyBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,SAAS,iBAAiB,EAC1B,UAAU,cAAc,EACxB,SAAS,YAAY,KACpB,iBAoBF,CAAC"}
@@ -1,6 +1,8 @@
1
- import { CountOptions, EntityType, FindAllOptions, FindOptions, IRepository } from '../../packages/rxdb/src/index.ts';
1
+ import { CountOptions, EntityStaticType, EntityType, FindAllOptions, FindOptions, IRepository } from '../../packages/rxdb/src/index.ts';
2
2
  import { PGliteRepositoryBase } from './PGliteRepositoryBase.js';
3
3
  export declare class PGliteRepository<T extends EntityType> extends PGliteRepositoryBase<T> implements IRepository<T> {
4
+ get(id: EntityStaticType<T, 'idType'>): Promise<InstanceType<T>>;
5
+ findOne(options: EntityStaticType<T, 'findOneOptions'>): Promise<InstanceType<T> | undefined>;
4
6
  find(options: FindOptions): Promise<InstanceType<T>[]>;
5
7
  findAll(options: FindAllOptions): Promise<InstanceType<T>[]>;
6
8
  count(options: CountOptions): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"PGliteRepository.d.ts","sourceRoot":"","sources":["../../src/repository/PGliteRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,qBAAa,gBAAgB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IACrG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAMtD,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAM5D,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7C,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAOzD,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAO1F,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAKhE"}
1
+ {"version":3,"file":"PGliteRepository.d.ts","sourceRoot":"","sources":["../../src/repository/PGliteRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAMlH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,qBAAa,gBAAgB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,oBAAoB,CAAC,CAAC,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IACrG,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAYhE,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAK7F,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAMtD,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAM5D,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7C,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAOzD,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAO1F,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAKhE"}
@@ -5,6 +5,14 @@ export declare class PGliteRepositoryBase<T extends EntityType> extends Reposito
5
5
  protected adapter: RxDBAdapterPGlite;
6
6
  readonly metadata: EntityMetadata;
7
7
  constructor(adapter: RxDBAdapterPGlite, EntityType: T);
8
+ /**
9
+ * 通过行 ID 列表查询实体
10
+ * 用于 handle_rxdb_change 中根据 NOTIFY 事件的 rowIds 查询实体
11
+ *
12
+ * @param rowIds - 行 ID 数组(string | number)
13
+ * @returns 实体数组
14
+ */
15
+ findByRowIds(rowIds: Array<string | number>): Promise<InstanceType<T>[]>;
8
16
  protected addQueryCache(result: Results<any>, forcedUpdate?: boolean): InstanceType<T>[];
9
17
  }
10
18
  //# sourceMappingURL=PGliteRepositoryBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PGliteRepositoryBase.d.ts","sourceRoot":"","sources":["../../src/repository/PGliteRepositoryBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAsC,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBAAa,oBAAoB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAI7E,SAAS,CAAC,OAAO,EAAE,iBAAiB;IAHtC,SAAgB,QAAQ,EAAG,cAAc,CAAC;gBAG9B,OAAO,EAAE,iBAAiB,EACpC,UAAU,EAAE,CAAC;IAMf,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,UAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE;CAiBvF"}
1
+ {"version":3,"file":"PGliteRepositoryBase.d.ts","sourceRoot":"","sources":["../../src/repository/PGliteRepositoryBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAsC,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,qBAAa,oBAAoB,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IAI7E,SAAS,CAAC,OAAO,EAAE,iBAAiB;IAHtC,SAAgB,QAAQ,EAAG,cAAc,CAAC;gBAG9B,OAAO,EAAE,iBAAiB,EACpC,UAAU,EAAE,CAAC;IAMf;;;;;;OAMG;IACG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAO9E,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,UAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE;CAiBvF"}
@@ -0,0 +1,72 @@
1
+ import { EntityType, IMutationContext, RxDBMutationsMap } from '../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterPGlite } from './RxDBAdapterPGlite.js';
3
+ /**
4
+ * 批量修改实体(创建/更新/删除)
5
+ *
6
+ * 这个函数从 `RxDBAdapterPGlite.mutations()` 提取出来,提供独立的批量操作实现。
7
+ *
8
+ * ## 优化策略
9
+ *
10
+ * ### 1. 按 Patch 键分组(T034)
11
+ * 对于更新操作,按实体的 `patch` 字段键进行哈希分组。相同字段修改的实体会被分到同一组,
12
+ * 可以用一条 SQL 语句批量更新,减少数据库往返次数。
13
+ *
14
+ * **示例:**
15
+ * ```typescript
16
+ * // 3 个用户,2 个只修改 name,1 个只修改 email
17
+ * user1.name = 'Updated 1'; // patch: { name }
18
+ * user2.name = 'Updated 2'; // patch: { name } - 与 user1 同组
19
+ * user3.email = 'new@example.com'; // patch: { email } - 独立一组
20
+ *
21
+ * // 结果:生成 2 条 UPDATE 语句而不是 3 条
22
+ * // UPDATE users SET name = ... WHERE id IN ('user1-id', 'user2-id')
23
+ * // UPDATE users SET email = ... WHERE id = 'user3-id'
24
+ * ```
25
+ *
26
+ * ### 2. 参数化查询
27
+ * 使用 PostgreSQL 的参数化查询(`$1`, `$2`等),避免 SQL 注入风险,提升安全性。
28
+ *
29
+ * ### 3. 批量查询结果
30
+ * INSERT/UPDATE 后,使用 `WHERE id IN (...)` 批量查询更新后的数据,减少数据库往返。
31
+ *
32
+ * ## 事务保证
33
+ *
34
+ * **重要**:调用者必须在事务中执行此函数。通常通过以下方式调用:
35
+ * ```typescript
36
+ * await adapter.transaction(() => rxdb_adapter_mutations(adapter, mutations));
37
+ * ```
38
+ *
39
+ * ## 性能目标
40
+ *
41
+ * - 100 个实体批量插入:< 100ms (p95)
42
+ * - 100 个实体批量更新:< 100ms (p95)
43
+ * - 1000 个实体批量插入:< 200ms (p95)
44
+ * - 1000 个实体批量更新:< 200ms (p95)
45
+ *
46
+ * @param adapter - PGlite 适配器实例
47
+ * @param mutations - 批量修改映射,包含 create/update/remove 三种操作
48
+ * @param context - 可选的修改上下文(例如 `userId`,用于设置 `createdBy`/`updatedBy`)
49
+ * @returns 所有操作涉及的实体数组
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * // 创建 + 更新 + 删除混合操作
54
+ * const newUser = new User({ name: 'New User' });
55
+ * existingUser.name = 'Updated Name';
56
+ *
57
+ * const result = await adapter.transaction(() =>
58
+ * rxdb_adapter_mutations(adapter, {
59
+ * create: new Map([[User, new Set([newUser])]]),
60
+ * update: new Map([[User, new Set([existingUser])]]),
61
+ * remove: new Map([[User, new Set([deletedUser])]])
62
+ * }, { userId: 'admin-id' })
63
+ * );
64
+ *
65
+ * console.log(result.length); // 3 (newUser, existingUser, deletedUser)
66
+ * ```
67
+ *
68
+ * @see {@link RxDBAdapterPGlite.mutations}
69
+ */
70
+ declare const _default: <T extends EntityType = any>(adapter: RxDBAdapterPGlite, mutations: RxDBMutationsMap<T>, context?: IMutationContext) => Promise<InstanceType<T>[]>;
71
+ export default _default;
72
+ //# sourceMappingURL=rxdb_adapter_mutations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rxdb_adapter_mutations.d.ts","sourceRoot":"","sources":["../src/rxdb_adapter_mutations.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,UAAU,EAAsC,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQhH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkEG;yBACmB,CAAC,SAAS,UAAU,GAAG,GAAG,EAC9C,SAAS,iBAAiB,EAC1B,WAAW,gBAAgB,CAAC,CAAC,CAAC,EAC9B,UAAU,gBAAgB,KACzB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AAJ7B,wBAmHE"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * SQL 方言抽象
3
+ * 处理不同数据库之间的 SQL 语法差异
4
+ *
5
+ * T006-T007: PostgreSQL 方言实现
6
+ */
7
+ /**
8
+ * SQL 方言接口
9
+ * 定义数据库特定的 SQL 语法转换方法
10
+ */
11
+ export interface ISqlDialect {
12
+ /**
13
+ * 获取自增主键的 RETURNING 子句
14
+ * @returns RETURNING 子句字符串
15
+ */
16
+ getReturningClause(): string;
17
+ /**
18
+ * 获取参数占位符
19
+ * @param index - 参数索引(从 1 开始)
20
+ * @returns 占位符字符串
21
+ */
22
+ getParameterPlaceholder(index: number): string;
23
+ /**
24
+ * 转义标识符(表名、列名等)
25
+ * @param identifier - 标识符
26
+ * @returns 转义后的标识符
27
+ */
28
+ escapeIdentifier(identifier: string): string;
29
+ /**
30
+ * 获取 JSON 提取操作符
31
+ * @returns JSON 提取操作符
32
+ */
33
+ getJsonExtractOperator(): string;
34
+ /**
35
+ * 获取字符串连接操作符
36
+ * @returns 字符串连接操作符
37
+ */
38
+ getConcatOperator(): string;
39
+ }
40
+ /**
41
+ * PostgreSQL 方言实现
42
+ *
43
+ * 关键差异:
44
+ * - 参数占位符:$1, $2, $3(而不是 SQLite 的 ?)
45
+ * - RETURNING 子句:支持返回插入/更新的行
46
+ * - 标识符转义:双引号
47
+ * - JSON 操作符:->> 和 ->
48
+ * - 字符串连接:||
49
+ */
50
+ export declare class PostgreSQLDialect implements ISqlDialect {
51
+ getReturningClause(): string;
52
+ getParameterPlaceholder(index: number): string;
53
+ escapeIdentifier(identifier: string): string;
54
+ getJsonExtractOperator(): string;
55
+ getConcatOperator(): string;
56
+ /**
57
+ * 生成批量插入 SQL(带 RETURNING)
58
+ * @param tableName - 表名
59
+ * @param columns - 列名数组
60
+ * @param rowCount - 行数
61
+ * @returns SQL 语句
62
+ */
63
+ generateBatchInsert(tableName: string, columns: string[], rowCount: number): string;
64
+ /**
65
+ * 生成批量更新 SQL(使用 UPDATE ... FROM 模式)
66
+ * @param tableName - 表名
67
+ * @param pkColumn - 主键列名
68
+ * @param updateColumns - 更新列名数组
69
+ * @returns SQL 模板
70
+ */
71
+ generateBatchUpdate(tableName: string, pkColumn: string, updateColumns: string[]): string;
72
+ }
73
+ /**
74
+ * 默认导出 PostgreSQL 方言实例
75
+ */
76
+ export declare const pgDialect: PostgreSQLDialect;
77
+ //# sourceMappingURL=sql_dialect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql_dialect.d.ts","sourceRoot":"","sources":["../src/sql_dialect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,kBAAkB,IAAI,MAAM,CAAC;IAE7B;;;;OAIG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/C;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAE7C;;;OAGG;IACH,sBAAsB,IAAI,MAAM,CAAC;IAEjC;;;OAGG;IACH,iBAAiB,IAAI,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,kBAAkB,IAAI,MAAM;IAI5B,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI9C,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAM5C,sBAAsB,IAAI,MAAM;IAKhC,iBAAiB,IAAI,MAAM;IAI3B;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAenF;;;;;;OAMG;IACH,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM;CAY1F;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,mBAA0B,CAAC"}
@@ -2,4 +2,4 @@ import { EntityMetadata } from '../../packages/rxdb/src/index.ts';
2
2
  import { RxDBAdapterPGlite } from '../RxDBAdapterPGlite.js';
3
3
  declare const _default: (adapter: RxDBAdapterPGlite, metadata: EntityMetadata) => string;
4
4
  export default _default;
5
- //# sourceMappingURL=create_sql.d.ts.map
5
+ //# sourceMappingURL=create_table_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_table_sql.d.ts","sourceRoot":"","sources":["../../src/table/create_table_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA6E,MAAM,YAAY,CAAC;AAEvH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;yBAgM5C,SAAS,iBAAiB,EAAE,UAAU,cAAc;AAApE,wBAME"}
@@ -0,0 +1,31 @@
1
+ import { EntityType } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterPGlite } from '../RxDBAdapterPGlite.js';
3
+ /**
4
+ * 生成多张表的创建 SQL
5
+ *
6
+ * 为指定的实体类型生成完整的表结构创建 SQL,包括:
7
+ * 1. CREATE TABLE 语句
8
+ * 2. 外键约束
9
+ * 3. 触发器(仅对 log !== false 的实体)
10
+ * 4. 初始数据 INSERT 语句(可选)
11
+ *
12
+ * @param adapter - PGlite 适配器实例
13
+ * @param EntityTypes - 实体类型数组
14
+ * @param entities - 可选的初始数据实体数组
15
+ * @returns 完整的 SQL 语句字符串
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * // 创建表结构
20
+ * const sql = create_tables_sql(adapter, [User, Todo]);
21
+ * await adapter.query(sql);
22
+ *
23
+ * // 创建表并插入初始数据
24
+ * const user = new User();
25
+ * user.name = 'Admin';
26
+ * const sqlWithData = create_tables_sql(adapter, [User], [user]);
27
+ * ```
28
+ */
29
+ export declare function create_tables_sql<T extends EntityType>(adapter: RxDBAdapterPGlite, EntityTypes: T[], entities?: InstanceType<T>[]): string;
30
+ export default create_tables_sql;
31
+ //# sourceMappingURL=create_tables_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_tables_sql.d.ts","sourceRoot":"","sources":["../../src/table/create_tables_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAqB,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAKjE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EACpD,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,CAAC,EAAE,EAChB,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,GAC3B,MAAM,CAwCR;AAED,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * T009-T010: PostgreSQL NOTIFY 触发器函数生成
3
+ *
4
+ * 为表创建触发器,在 INSERT/UPDATE/DELETE 时通过 NOTIFY 发送变更事件
5
+ */
6
+ /**
7
+ * 生成 NOTIFY 触发器函数 SQL
8
+ *
9
+ * 创建一个通用的 trigger function,可以在多个表上复用
10
+ * 触发器会:
11
+ * 1. 收集当前事务中的所有变更
12
+ * 2. 批量发送 NOTIFY 消息(包含 operation 和 id 数组)
13
+ * 3. 使用 JSON 格式传递 payload
14
+ *
15
+ * @returns SQL 语句,创建 notify_change() 函数
16
+ */
17
+ export declare function generateNotifyFunctionSQL(): string;
18
+ /**
19
+ * 为指定表创建 NOTIFY 触发器
20
+ *
21
+ * 触发器会在 INSERT, UPDATE, DELETE 后触发
22
+ * AFTER 触发器确保变更已提交
23
+ *
24
+ * @param tableName - 表名(例如 "public$RxDBChange")
25
+ * @returns SQL 语句,创建触发器(包含表存在性检查)
26
+ */
27
+ export declare function generateNotifyTriggerSQL(tableName: string): string;
28
+ /**
29
+ * 移除表的 NOTIFY 触发器
30
+ *
31
+ * @param tableName - 表名
32
+ * @returns SQL 语句,删除触发器
33
+ */
34
+ export declare function removeNotifyTriggerSQL(tableName: string): string;
35
+ /**
36
+ * 生成完整的 NOTIFY 基础设施 SQL
37
+ *
38
+ * 包括:
39
+ * 1. 创建 notify_change() 函数
40
+ * 2. 为监控表创建触发器
41
+ *
42
+ * @param watchTables - 需要监控的表名数组
43
+ * @returns 完整的 SQL 语句
44
+ */
45
+ export declare function generateNotifyInfrastructureSQL(watchTables?: string[]): string;
46
+ //# sourceMappingURL=notify_function_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notify_function_sql.d.ts","sourceRoot":"","sources":["../../src/table/notify_function_sql.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAuClD;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAwBlE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC7C,WAAW,GAAE,MAAM,EAAuE,GACzF,MAAM,CAYR"}
@@ -0,0 +1,41 @@
1
+ import { EntityMetadata } from '../../packages/rxdb/src/index.ts';
2
+ import { RxDBAdapterPGlite } from '../RxDBAdapterPGlite.js';
3
+ /**
4
+ * 生成删除单个实体触发器的 SQL
5
+ *
6
+ * 为指定实体生成删除触发器和触发器函数的 SQL 语句
7
+ *
8
+ * @param entityMetadata - 实体元数据
9
+ * @returns 删除触发器的 SQL 语句(包含 DROP TRIGGER 和 DROP FUNCTION)
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * const metadata = getEntityMetadata(Todo);
14
+ * const sql = remove_trigger_sql(metadata);
15
+ * // 返回:
16
+ * // DROP TRIGGER IF EXISTS "Todo_change_trigger" ON "public"."Todo"
17
+ * // ---STATEMENT_SEPARATOR---
18
+ * // DROP FUNCTION IF EXISTS "public"."Todo_change_trigger_fn"() CASCADE
19
+ * ```
20
+ */
21
+ export declare function remove_trigger_sql(entityMetadata: EntityMetadata): string;
22
+ /**
23
+ * 生成删除所有实体触发器的 SQL
24
+ *
25
+ * 遍历所有启用日志的实体(log !== false),生成删除触发器的 SQL
26
+ *
27
+ * @param adapter - PGlite 适配器实例
28
+ * @returns 删除所有触发器的 SQL 语句(每个实体的语句用 ---STATEMENT_SEPARATOR--- 分隔)
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const sql = remove_all_triggers_sql(adapter);
33
+ * const statements = sql.split('---STATEMENT_SEPARATOR---');
34
+ * for (const statement of statements) {
35
+ * await adapter.query(statement);
36
+ * }
37
+ * ```
38
+ */
39
+ export declare function remove_all_triggers_sql(adapter: RxDBAdapterPGlite): string;
40
+ export default remove_all_triggers_sql;
41
+ //# sourceMappingURL=remove_trigger_sql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove_trigger_sql.d.ts","sourceRoot":"","sources":["../../src/table/remove_trigger_sql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM,CAkBzE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAe1E;AAED,eAAe,uBAAuB,CAAC"}
@@ -7,8 +7,6 @@ interface TriggerOptions {
7
7
  branchId?: string;
8
8
  /** 事务 ID (可选,用于事务内的变更追踪) */
9
9
  transactionId?: string;
10
- /** 父变更 ID (用于分支管理) */
11
- parentId?: number;
12
10
  }
13
11
  /**
14
12
  * 生成 PostgreSQL 触发器 SQL
@@ -1 +1 @@
1
- {"version":3,"file":"trigger_sql.d.ts","sourceRoot":"","sources":["../../src/table/trigger_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiC,MAAM,YAAY,CAAC;AAG3E;;GAEG;AACH,UAAU,cAAc;IACtB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,CAoHzG;AAED,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"trigger_sql.d.ts","sourceRoot":"","sources":["../../src/table/trigger_sql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiC,MAAM,YAAY,CAAC;AAG3E;;GAEG;AACH,UAAU,cAAc;IACtB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,GAAE,cAAmB,GAAG,MAAM,CAiHzG;AAED,eAAe,oBAAoB,CAAC"}