interaqt 0.8.7 → 0.8.8

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 (34) hide show
  1. package/dist/index.js +2026 -1490
  2. package/dist/index.js.map +1 -1
  3. package/dist/storage/erstorage/AttributeQuery.d.ts.map +1 -1
  4. package/dist/storage/erstorage/CreationExecutor.d.ts +67 -0
  5. package/dist/storage/erstorage/CreationExecutor.d.ts.map +1 -0
  6. package/dist/storage/erstorage/DeletionExecutor.d.ts +57 -0
  7. package/dist/storage/erstorage/DeletionExecutor.d.ts.map +1 -0
  8. package/dist/storage/erstorage/EntityQueryHandle.d.ts +1 -1
  9. package/dist/storage/erstorage/EntityToTableMap.d.ts +3 -1
  10. package/dist/storage/erstorage/EntityToTableMap.d.ts.map +1 -1
  11. package/dist/storage/erstorage/MatchExp.d.ts +1 -1
  12. package/dist/storage/erstorage/MatchExp.d.ts.map +1 -1
  13. package/dist/storage/erstorage/NewRecordData.d.ts.map +1 -1
  14. package/dist/storage/erstorage/QueryExecutor.d.ts +67 -0
  15. package/dist/storage/erstorage/QueryExecutor.d.ts.map +1 -0
  16. package/dist/storage/erstorage/RecordQuery.d.ts +1 -1
  17. package/dist/storage/erstorage/RecordQuery.d.ts.map +1 -1
  18. package/dist/storage/erstorage/RecordQueryAgent.d.ts +29 -64
  19. package/dist/storage/erstorage/RecordQueryAgent.d.ts.map +1 -1
  20. package/dist/storage/erstorage/SQLBuilder.d.ts +122 -0
  21. package/dist/storage/erstorage/SQLBuilder.d.ts.map +1 -0
  22. package/dist/storage/erstorage/Setup.d.ts +56 -0
  23. package/dist/storage/erstorage/Setup.d.ts.map +1 -1
  24. package/dist/storage/erstorage/UpdateExecutor.d.ts +53 -0
  25. package/dist/storage/erstorage/UpdateExecutor.d.ts.map +1 -0
  26. package/dist/storage/erstorage/util/AliasManager.d.ts +71 -0
  27. package/dist/storage/erstorage/util/AliasManager.d.ts.map +1 -0
  28. package/dist/storage/erstorage/util/FieldAliasMap.d.ts +22 -0
  29. package/dist/storage/erstorage/util/FieldAliasMap.d.ts.map +1 -0
  30. package/dist/storage/erstorage/util/RecursiveContext.d.ts +27 -0
  31. package/dist/storage/erstorage/util/RecursiveContext.d.ts.map +1 -0
  32. package/dist/storage/index.d.ts +5 -0
  33. package/dist/storage/index.d.ts.map +1 -1
  34. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AttributeQuery.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/AttributeQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAA+B,WAAW,EAAE,eAAe,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAG7G,MAAM,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAA;AAC9E,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,4BAA4B,CAAA;AAC1E,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAA;AAEzD,qBAAa,cAAc;IAgIJ,UAAU,EAAE,MAAM;IAAS,GAAG,EAAE,gBAAgB;IAAS,IAAI,EAAE,kBAAkB;IAAc,YAAY,CAAC,EAAE,MAAM;IAAS,aAAa,CAAC,EAAE,MAAM;IAAS,yBAAyB,CAAC,EAAE,OAAO;IA/H3M,cAAc,EAAE,WAAW,EAAE,CAAK;IAClC,cAAc,EAAE,WAAW,EAAE,CAAK;IAClC,aAAa,EAAE,WAAW,EAAE,CAAK;IACjC,eAAe,EAAE,MAAM,EAAE,CAAK;IAE9B,aAAa,EAAE,eAAe,CAAA;IAC9B,qBAAqB,CAAC,EAAE,WAAW,CAAA;IACnC,EAAE,SAAgB;WACX,uBAAuB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,kBAAkB,GAAG,kBAAkB;WA2BhI,8BAA8B,CACxC,UAAU,EAAC,MAAM,EACjB,GAAG,EAAE,gBAAgB,EACrB,wBAAwB,CAAC,EAAE,OAAO,EAClC,4BAA4B,CAAC,EAAE,OAAO,EACtC,8BAA8B,CAAC,EAAE,OAAO,EAAE,iCAAiC;IAC3E,0BAA0B,CAAC,EAAE,OAAO,GACrC,kBAAkB;gBAqFF,UAAU,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB,EAAS,IAAI,GAAE,kBAAuB,EAAS,YAAY,CAAC,EAAE,MAAM,YAAA,EAAS,aAAa,CAAC,EAAE,MAAM,YAAA,EAAS,yBAAyB,CAAC,EAAE,OAAO,YAAA;IA4DlN,6BAA6B,CAAC,SAAS,WAAoB,EAAE,WAAW,WAAoB,GAAG;QAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE;IAgDnL,IAAW,eAAe,IAAI,eAAe,CAE5C;IACD,oBAAoB;IA2BpB,kBAAkB;IAQlB,kBAAkB;CAKrB"}
1
+ {"version":3,"file":"AttributeQuery.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/AttributeQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAA+B,WAAW,EAAE,eAAe,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAG7G,MAAM,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAA;AAC9E,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,4BAA4B,CAAA;AAC1E,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,EAAE,CAAA;AAEzD,qBAAa,cAAc;IAkIJ,UAAU,EAAE,MAAM;IAAS,GAAG,EAAE,gBAAgB;IAAS,IAAI,EAAE,kBAAkB;IAAc,YAAY,CAAC,EAAE,MAAM;IAAS,aAAa,CAAC,EAAE,MAAM;IAAS,yBAAyB,CAAC,EAAE,OAAO;IAjI3M,cAAc,EAAE,WAAW,EAAE,CAAK;IAClC,cAAc,EAAE,WAAW,EAAE,CAAK;IAClC,aAAa,EAAE,WAAW,EAAE,CAAK;IACjC,eAAe,EAAE,MAAM,EAAE,CAAK;IAE9B,aAAa,EAAE,eAAe,CAAA;IAC9B,qBAAqB,CAAC,EAAE,WAAW,CAAA;IACnC,EAAE,SAAgB;WACX,uBAAuB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,kBAAkB,GAAG,kBAAkB;WA2BhI,8BAA8B,CACxC,UAAU,EAAC,MAAM,EACjB,GAAG,EAAE,gBAAgB,EACrB,wBAAwB,CAAC,EAAE,OAAO,EAClC,4BAA4B,CAAC,EAAE,OAAO,EACtC,8BAA8B,CAAC,EAAE,OAAO,EAAE,iCAAiC;IAC3E,0BAA0B,CAAC,EAAE,OAAO,GACrC,kBAAkB;gBAuFF,UAAU,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB,EAAS,IAAI,GAAE,kBAAuB,EAAS,YAAY,CAAC,EAAE,MAAM,YAAA,EAAS,aAAa,CAAC,EAAE,MAAM,YAAA,EAAS,yBAAyB,CAAC,EAAE,OAAO,YAAA;IA4DlN,6BAA6B,CAAC,SAAS,WAAoB,EAAE,WAAW,WAAoB,GAAG;QAAE,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE;IAgDnL,IAAW,eAAe,IAAI,eAAe,CAE5C;IACD,oBAAoB;IA2BpB,kBAAkB;IAQlB,kBAAkB;CAKrB"}
@@ -0,0 +1,67 @@
1
+ import { EntityIdRef, Database, RecordMutationEvent } from '../../runtime';
2
+ import { EntityToTableMap } from './EntityToTableMap.js';
3
+ import { MatchExpressionData } from './MatchExp.js';
4
+ import { NewRecordData, RawEntityData } from './NewRecordData.js';
5
+ import { SQLBuilder } from './SQLBuilder.js';
6
+ import { FilteredEntityManager } from './FilteredEntityManager.js';
7
+ import { Record } from './RecordQueryAgent.js';
8
+ import { QueryExecutor } from './QueryExecutor.js';
9
+ /**
10
+ * CreationExecutor - 创建操作执行器
11
+ *
12
+ * 职责:
13
+ * 1. 记录创建(entity/relation)
14
+ * 2. 依赖处理(dependency resolution)
15
+ * 3. 关系建立(link creation)
16
+ * 4. 同行数据管理(same-row data handling)
17
+ * 5. 合并记录处理(combined records)
18
+ * 6. 创建事件生成(creation events)
19
+ */
20
+ export declare class CreationExecutor {
21
+ private map;
22
+ private database;
23
+ private queryExecutor;
24
+ private helper;
25
+ private sqlBuilder;
26
+ private filteredEntityManager;
27
+ constructor(map: EntityToTableMap, database: Database, queryExecutor: QueryExecutor, filteredEntityManager: FilteredEntityManager, sqlBuilder: SQLBuilder, helper: {
28
+ updateRecord: (entity: string, matchExpression: MatchExpressionData, newRecordData: NewRecordData, events?: RecordMutationEvent[]) => Promise<Record[]>;
29
+ unlink: (linkName: string, matchExpression: MatchExpressionData, moveSource: boolean, reason: string, events?: RecordMutationEvent[]) => Promise<Record[]>;
30
+ deleteRecordSameRowData: (recordName: string, records: EntityIdRef[], events?: RecordMutationEvent[], inSameRowDataOp?: boolean) => Promise<Record[]>;
31
+ flashOutCombinedRecordsAndMergedLinks: (newEntityData: NewRecordData, events?: RecordMutationEvent[], reason?: string) => Promise<{
32
+ [k: string]: RawEntityData;
33
+ }>;
34
+ relocateCombinedRecordDataForLink: (linkName: string, matchExpression: MatchExpressionData, moveSource: boolean, events?: RecordMutationEvent[]) => Promise<Record[]>;
35
+ });
36
+ /**
37
+ * 创建记录依赖
38
+ * 处理往自身合并的需要新建的关系和 record
39
+ */
40
+ createRecordDependency(newRecordData: NewRecordData, events?: RecordMutationEvent[]): Promise<NewRecordData>;
41
+ /**
42
+ * 创建记录(主入口)
43
+ */
44
+ createRecord(newEntityData: NewRecordData, queryName?: string, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
45
+ /**
46
+ * 预处理同行数据
47
+ * CAUTION 因为这里分配了 id,并且所有的判断逻辑都在,所以事件也放在这里处理,而不是真实插入或者更新数据的时候。
48
+ */
49
+ preprocessSameRowData(newEntityData: NewRecordData, isUpdate?: boolean, events?: RecordMutationEvent[], oldRecord?: Record): Promise<NewRecordData>;
50
+ /**
51
+ * 插入同行数据
52
+ */
53
+ insertSameRowData(newEntityData: NewRecordData, queryName?: string, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
54
+ /**
55
+ * 处理创建时的关联关系
56
+ */
57
+ handleCreationReliance(newEntityData: NewRecordData, events?: RecordMutationEvent[]): Promise<object>;
58
+ /**
59
+ * 从记录添加链接
60
+ */
61
+ addLinkFromRecord(entity: string, attribute: string, entityId: string, relatedEntityId: string, attributes?: RawEntityData, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
62
+ /**
63
+ * 添加链接
64
+ */
65
+ addLink(linkName: string, sourceId: string, targetId: string, attributes?: RawEntityData, moveSource?: boolean, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
66
+ }
67
+ //# sourceMappingURL=CreationExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreationExecutor.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/CreationExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAY,mBAAmB,EAAa,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAKrB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IAGrB,OAAO,CAAC,MAAM;IATlB,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,qBAAqB,CAAuB;gBAGxC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EACpC,qBAAqB,EAAE,qBAAqB,EAC5C,UAAU,EAAE,UAAU,EACd,MAAM,EAAE;QACZ,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACxJ,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3J,uBAAuB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,eAAe,CAAC,EAAE,OAAO,KAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACrJ,qCAAqC,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;YAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;SAAE,CAAC,CAAC;QAClK,iCAAiC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;KACxK;IAML;;;OAGG;IACG,sBAAsB,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAwClH;;OAEG;IACG,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAiB1H;;;OAGG;IACG,qBAAqB,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,UAAQ,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAqFvJ;;OAEG;IACG,iBAAiB,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAW/H;;OAEG;IACG,sBAAsB,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA0H3G;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,GAAE,aAAkB,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAU9J;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE,aAAkB,EAAE,UAAU,UAAQ,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;CAuCzJ"}
@@ -0,0 +1,57 @@
1
+ import { EntityIdRef, Database, RecordMutationEvent } from '../../runtime';
2
+ import { EntityToTableMap } from './EntityToTableMap.js';
3
+ import { MatchExpressionData } from './MatchExp.js';
4
+ import { RecordQuery } from './RecordQuery.js';
5
+ import { SQLBuilder } from './SQLBuilder.js';
6
+ import { FilteredEntityManager } from './FilteredEntityManager.js';
7
+ import { Record } from './RecordQueryAgent.js';
8
+ import { QueryExecutor } from './QueryExecutor.js';
9
+ /**
10
+ * DeletionExecutor - 删除操作执行器
11
+ *
12
+ * 职责:
13
+ * 1. 记录删除(entity/relation)
14
+ * 2. 关系解除(unlink)
15
+ * 3. 依赖删除(reliance deletion)
16
+ * 4. 同行数据删除(same-row data deletion)
17
+ * 5. 级联删除(cascading deletion)
18
+ * 6. 删除事件生成(deletion events)
19
+ */
20
+ export declare class DeletionExecutor {
21
+ private map;
22
+ private database;
23
+ private queryExecutor;
24
+ private helper;
25
+ private sqlBuilder;
26
+ private filteredEntityManager;
27
+ constructor(map: EntityToTableMap, database: Database, queryExecutor: QueryExecutor, filteredEntityManager: FilteredEntityManager, sqlBuilder: SQLBuilder, helper: {
28
+ findRecords: (entityQuery: RecordQuery, queryName: string) => Promise<Record[]>;
29
+ relocateCombinedRecordDataForLink: (linkName: string, matchExpression: MatchExpressionData, moveSource: boolean, events?: RecordMutationEvent[]) => Promise<Record[]>;
30
+ });
31
+ /**
32
+ * 删除记录(主入口)
33
+ */
34
+ deleteRecord(recordName: string, matchExp: MatchExpressionData, events?: RecordMutationEvent[], inSameRowDataOp?: boolean): Promise<Record[]>;
35
+ /**
36
+ * 删除记录的同行数据
37
+ * 这里会把同表的 reliance,以及 reliance 的 reliance 都删除掉
38
+ */
39
+ deleteRecordSameRowData(recordName: string, records: EntityIdRef[], events?: RecordMutationEvent[], inSameRowDataOp?: boolean): Promise<Record[]>;
40
+ /**
41
+ * 处理被删除记录的依赖关系
42
+ */
43
+ handleDeletedRecordReliance(recordName: string, record: EntityIdRef, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
44
+ /**
45
+ * 删除非依赖的独立链接记录
46
+ */
47
+ deleteNotReliantSeparateLinkRecords(recordName: string, records: EntityIdRef[], events?: RecordMutationEvent[]): Promise<void>;
48
+ /**
49
+ * 删除不同表中的依赖实体
50
+ */
51
+ deleteDifferentTableReliance(recordName: string, records: EntityIdRef[], events?: RecordMutationEvent[]): Promise<void>;
52
+ /**
53
+ * 解除链接
54
+ */
55
+ unlink(linkName: string, matchExpressionData: MatchExpressionData, moveSource?: boolean, reason?: string, events?: RecordMutationEvent[]): Promise<Record[]>;
56
+ }
57
+ //# sourceMappingURL=DeletionExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeletionExecutor.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/DeletionExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAY,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAe,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAKrB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IAGrB,OAAO,CAAC,MAAM;IATlB,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,qBAAqB,CAAuB;gBAGxC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EACpC,qBAAqB,EAAE,qBAAqB,EAC5C,UAAU,EAAE,UAAU,EACd,MAAM,EAAE;QACZ,WAAW,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAChF,iCAAiC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;KACxK;IAML;;OAEG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsCjJ;;;OAGG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAoIrJ;;OAEG;IACG,2BAA2B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAUzG;;OAEG;IACG,mCAAmC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAgBpH;;OAEG;IACG,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAyB7G;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,UAAQ,EAAE,MAAM,SAAK,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAU/J"}
@@ -19,7 +19,7 @@ export declare class EntityQueryHandle {
19
19
  addRelationByNameById(relationName: string, sourceEntityId: string, targetEntityId: string, rawData?: RawEntityData, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
20
20
  addRelationById(entity: string, attribute: string, entityId: string, attributeEntityId: string, relationData?: RawEntityData, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
21
21
  updateRelationByName(relationName: string, matchExpressionData: MatchExpressionData, rawData: RawEntityData, events?: RecordMutationEvent[]): Promise<Record[]>;
22
- removeRelationByName(relationName: string, matchExpressionData: MatchExpressionData, events?: RecordMutationEvent[]): Promise<void | Record[]>;
22
+ removeRelationByName(relationName: string, matchExpressionData: MatchExpressionData, events?: RecordMutationEvent[]): Promise<Record[]>;
23
23
  findRelationByName(relationName: string, matchExpressionData?: MatchExpressionData, modifierData?: ModifierData, attributeQueryData?: AttributeQueryData): Promise<Record[]>;
24
24
  findOneRelationByName(relationName: string, matchExpressionData: MatchExpressionData, modifierData?: ModifierData, attributeQueryData?: AttributeQueryData): Promise<Record>;
25
25
  findPath(entity: string, attribute: string, entityId: string, ancestorId: string): Promise<Record[] | undefined>;
@@ -2,6 +2,7 @@ import { AttributeInfo } from './AttributeInfo.js';
2
2
  import { RecordInfo } from './RecordInfo.js';
3
3
  import { LinkInfo } from './LinkInfo.js';
4
4
  import { MatchExpressionData } from './MatchExp.js';
5
+ import { AliasManager } from './util/AliasManager.js';
5
6
  export type ValueAttribute = {
6
7
  name: string;
7
8
  type: string;
@@ -85,7 +86,8 @@ type TableAndAliasStack = {
85
86
  }[];
86
87
  export declare class EntityToTableMap {
87
88
  data: MapData;
88
- constructor(data: MapData);
89
+ aliasManager?: AliasManager | undefined;
90
+ constructor(data: MapData, aliasManager?: AliasManager | undefined);
89
91
  getRecord(recordName: string): RecordMapItem;
90
92
  getAttributeAndSymmetricDirection(rawAttributeName: string): [string, 'source' | 'target' | undefined];
91
93
  getAttributeData(recordName: string, attributeName: string): ValueAttribute | RecordAttribute;
@@ -1 +1 @@
1
- {"version":3,"file":"EntityToTableMap.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/EntityToTableMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityToTableMap.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/EntityToTableMap.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { BoolExp } from '../../shared';
2
2
  import { EntityToTableMap } from './EntityToTableMap.js';
3
3
  import { RecordQueryTree } from './RecordQuery.js';
4
4
  import { Database } from '../../runtime';
5
- import { PlaceholderGen } from './RecordQueryAgent.js';
5
+ import { PlaceholderGen } from './SQLBuilder.js';
6
6
  export type MatchAtom = {
7
7
  key: string;
8
8
  value: [string, any];
@@ -1 +1 @@
1
- {"version":3,"file":"MatchExp.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/MatchExp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAwC,MAAM,SAAS,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AACzF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEpD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;IAEnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAA;AAED,qBAAa,QAAQ;IA+DsB,GAAG,EAAE,gBAAgB;IAAqC,iBAAiB,CAAC,EAAE,MAAM;IAAS,YAAY,CAAC,EAAE,OAAO;WA9D5I,IAAI,CAAC,SAAS,EAAE,SAAS;WAQzB,UAAU,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;WAYlD,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE;IAQ/C;;;OAGG;WACW,YAAY,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,EAAE,EAAE;IA2BhE,eAAe,EAAE,eAAe,CAAA;IAChC,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;gBACb,UAAU,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,EAAS,iBAAiB,CAAC,EAAE,MAAM,YAAA,EAAS,YAAY,CAAC,EAAE,OAAO,YAAA;IAe1J,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,GAAG,mBAAmB;IA+C5E,cAAc,CAAC,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe;IA2C/E,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKjE,sBAAsB,CAAC,QAAQ,EAAE,MAAM;IASvC,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAC,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAyClL,yBAAyB,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAsF3F,GAAG,CAAC,SAAS,EAAE,SAAS,GAAC,QAAQ,GAAG,QAAQ;IAa5C,MAAM,CAAC,aAAa,EAAE,MAAM;IA2D5B;;;OAGG;IACH,MAAM,IAAI,GAAG;IASb;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ;CAU9D"}
1
+ {"version":3,"file":"MatchExp.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/MatchExp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAwC,MAAM,SAAS,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAE/C,MAAM,MAAM,SAAS,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AACzF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAEpD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAA;IAEnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAA;AAED,qBAAa,QAAQ;IA+DsB,GAAG,EAAE,gBAAgB;IAAqC,iBAAiB,CAAC,EAAE,MAAM;IAAS,YAAY,CAAC,EAAE,OAAO;WA9D5I,IAAI,CAAC,SAAS,EAAE,SAAS;WAQzB,UAAU,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;WAYlD,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE;IAQ/C;;;OAGG;WACW,YAAY,CAAC,UAAU,EAAE,mBAAmB,GAAG,MAAM,EAAE,EAAE;IA2BhE,eAAe,EAAE,eAAe,CAAA;IAChC,IAAI,CAAC,EAAE,mBAAmB,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;gBACb,UAAU,EAAE,MAAM,EAAS,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,EAAS,iBAAiB,CAAC,EAAE,MAAM,YAAA,EAAS,YAAY,CAAC,EAAE,OAAO,YAAA;IAgB1J,uBAAuB,CAAC,SAAS,EAAE,mBAAmB,GAAG,mBAAmB;IA+C5E,cAAc,CAAC,SAAS,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe;IA2C/E,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKjE,sBAAsB,CAAC,QAAQ,EAAE,MAAM;IASvC,kBAAkB,CAAC,gBAAgB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,GAAC,SAAS,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAqDlL,yBAAyB,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAsF3F,GAAG,CAAC,SAAS,EAAE,SAAS,GAAC,QAAQ,GAAG,QAAQ;IAa5C,MAAM,CAAC,aAAa,EAAE,MAAM;IA2D5B;;;OAGG;IACH,MAAM,IAAI,GAAG;IASb;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ;CAU9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"NewRecordData.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/NewRecordData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAEhD,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,qBAAa,aAAa;IAiCH,GAAG,EAAE,gBAAgB;IAAS,kBAAkB,EAAE,MAAM;IAAS,OAAO,EAAE,aAAa;IAAS,IAAI,CAAC,EAAE,aAAa;IA/BhI,0BAA0B,EAAE,aAAa,EAAE,CAAK;IAEhD,4BAA4B,EAAE,aAAa,EAAE,CAAK;IAElD,2BAA2B,EAAE,aAAa,EAAE,CAAK;IAEjD,cAAc,CAAC,EAAE,aAAa,CAAA;IAE9B,kBAAkB,EAAG,aAAa,EAAE,CAAK;IAEzC,oBAAoB,EAAG,aAAa,EAAE,CAAK;IAE3C,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,kCAAkC,EAAE,aAAa,EAAE,CAAK;IACxD,oCAAoC,EAAE,aAAa,EAAE,CAAK;IAC1D,mCAAmC,EAAE,aAAa,EAAE,CAAK;IAEzD,kBAAkB,EAAE,aAAa,EAAE,CAAK;IACxC,oBAAoB,EAAE,aAAa,EAAE,CAAK;IAC1C,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,kBAAkB,EAAE,aAAa,EAAE,CAAK;IAExC,mBAAmB,EAAE,aAAa,EAAE,CAAK;IACzC,eAAe,EAAE,aAAa,EAAE,CAAK;IACrC,UAAU,EAAE,MAAM,CAAA;IAElB,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,aAAa,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAK;gBAC5B,GAAG,EAAE,gBAAgB,EAAS,kBAAkB,EAAE,MAAM,EAAS,OAAO,EAAE,aAAa,EAAS,IAAI,CAAC,EAAE,aAAa,YAAA;IAqFvI,KAAK,CAAC,iBAAiB,EAAE,aAAa;IAWtC,MAAM;;;IAKN,KAAK;IAIL,MAAM;IAGN,OAAO,IAAK,MAAM;IAIlB,uBAAuB,CAAC,SAAS,GAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAM,GAAI,aAAa,EAAE;CA4GhF"}
1
+ {"version":3,"file":"NewRecordData.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/NewRecordData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAA;AAEhD,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,qBAAa,aAAa;IAiCH,GAAG,EAAE,gBAAgB;IAAS,kBAAkB,EAAE,MAAM;IAAS,OAAO,EAAE,aAAa;IAAS,IAAI,CAAC,EAAE,aAAa;IA/BhI,0BAA0B,EAAE,aAAa,EAAE,CAAK;IAEhD,4BAA4B,EAAE,aAAa,EAAE,CAAK;IAElD,2BAA2B,EAAE,aAAa,EAAE,CAAK;IAEjD,cAAc,CAAC,EAAE,aAAa,CAAA;IAE9B,kBAAkB,EAAG,aAAa,EAAE,CAAK;IAEzC,oBAAoB,EAAG,aAAa,EAAE,CAAK;IAE3C,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,kCAAkC,EAAE,aAAa,EAAE,CAAK;IACxD,oCAAoC,EAAE,aAAa,EAAE,CAAK;IAC1D,mCAAmC,EAAE,aAAa,EAAE,CAAK;IAEzD,kBAAkB,EAAE,aAAa,EAAE,CAAK;IACxC,oBAAoB,EAAE,aAAa,EAAE,CAAK;IAC1C,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,kBAAkB,EAAE,aAAa,EAAE,CAAK;IAExC,mBAAmB,EAAE,aAAa,EAAE,CAAK;IACzC,eAAe,EAAE,aAAa,EAAE,CAAK;IACrC,UAAU,EAAE,MAAM,CAAA;IAElB,mBAAmB,EAAE,aAAa,EAAE,CAAK;IAEzC,aAAa,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAK;gBAC5B,GAAG,EAAE,gBAAgB,EAAS,kBAAkB,EAAE,MAAM,EAAS,OAAO,EAAE,aAAa,EAAS,IAAI,CAAC,EAAE,aAAa,YAAA;IAsFvI,KAAK,CAAC,iBAAiB,EAAE,aAAa;IAWtC,MAAM;;;IAKN,KAAK;IAIL,MAAM;IAGN,OAAO,IAAK,MAAM;IAIlB,uBAAuB,CAAC,SAAS,GAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAM,GAAI,aAAa,EAAE;CA4GhF"}
@@ -0,0 +1,67 @@
1
+ import { Database } from '../../runtime';
2
+ import { EntityToTableMap } from './EntityToTableMap.js';
3
+ import { SQLBuilder } from './SQLBuilder.js';
4
+ import { RecordQuery } from './RecordQuery.js';
5
+ import { RecursiveContext } from './util/RecursiveContext.js';
6
+ import { Record } from './RecordQueryAgent.js';
7
+ /**
8
+ * RecordQueryRef - 用于管理带标签的 RecordQuery 引用
9
+ *
10
+ * 在递归查询中,某些 RecordQuery 可能有 label 标记,
11
+ * 这个类负责收集所有带标签的查询,方便后续通过标签访问
12
+ */
13
+ export declare class RecordQueryRef {
14
+ recordQuery: RecordQuery;
15
+ recordQueryByName: Map<string, RecordQuery>;
16
+ constructor(recordQuery: RecordQuery);
17
+ recursiveSaveLabelledRecordQuery(recordQuery: RecordQuery): void;
18
+ set(key: string, value: any): void;
19
+ get(key: string): RecordQuery | undefined;
20
+ }
21
+ /**
22
+ * QueryExecutor - 查询执行器
23
+ *
24
+ * 职责:
25
+ * 1. 执行所有查询操作
26
+ * 2. 处理查询结果的结构化
27
+ * 3. 处理关联查询(x:1, x:n)
28
+ * 4. 处理递归查询
29
+ *
30
+ * 不负责:
31
+ * 1. SQL 构建(由 SQLBuilder 负责)
32
+ * 2. 数据变更操作(create/update/delete)
33
+ * 3. 事件处理
34
+ */
35
+ export declare class QueryExecutor {
36
+ private map;
37
+ private database;
38
+ private sqlBuilder;
39
+ constructor(map: EntityToTableMap, database: Database, sqlBuilder: SQLBuilder);
40
+ /**
41
+ * 结构化原始返回结果
42
+ * @param rawReturns 数据库返回的原始结果
43
+ * @param JSONFields JSON 字段列表
44
+ * @param fieldAliasMap 字段别名映射
45
+ * @returns 结构化的 Record 数组
46
+ */
47
+ private structureRawReturns;
48
+ /**
49
+ * 查找记录(主查询方法)
50
+ * CAUTION findRelatedRecords 中的递归调用会使得 includeRelationData 变为 true
51
+ */
52
+ findRecords(entityQuery: RecordQuery, queryName?: string, recordQueryRef?: RecordQueryRef, context?: RecursiveContext): Promise<Record[]>;
53
+ /**
54
+ * 补全 x:1 遗留记录(x:1 主干上的 x:n 枝干)
55
+ */
56
+ completeXToOneLeftoverRecords(entityQuery: RecordQuery, records: Record[], recordQueryRef: RecordQueryRef, context: RecursiveContext): Promise<void>;
57
+ /**
58
+ * 查找 x:many 关联记录
59
+ * CAUTION 任何两个具体的实体之间只能有一条关系,但是可以在关系上有多条数据。1:n 的数据
60
+ */
61
+ findXToManyRelatedRecords(recordName: string, attributeName: string, recordId: string, relatedRecordQuery: RecordQuery, recordQueryRef: RecordQueryRef, context: RecursiveContext): Promise<Record[]>;
62
+ /**
63
+ * 查找树形结构的两个数据间的 path
64
+ */
65
+ findPath(recordName: string, attributePathStr: string, startRecordId: string, endRecordId: string, limitLength?: number): Promise<Record[] | undefined>;
66
+ }
67
+ //# sourceMappingURL=QueryExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryExecutor.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/QueryExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAe,MAAM,kBAAkB,CAAA;AAE3D,OAAO,EAAE,gBAAgB,EAAc,MAAM,4BAA4B,CAAA;AAMzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD;;;;;GAKG;AACH,qBAAa,cAAc;IAGJ,WAAW,EAAE,WAAW;IAFpC,iBAAiB,2BAAiC;gBAEtC,WAAW,EAAE,WAAW;IAK3C,gCAAgC,CAAC,WAAW,EAAE,WAAW;IASzD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAI3B,GAAG,CAAC,GAAG,EAAE,MAAM;CAGlB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAa;IAElB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;gBAFV,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU;IAGlC;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;;OAGG;IACG,WAAW,CACb,WAAW,EAAE,WAAW,EACxB,SAAS,SAAK,EACd,cAAc,CAAC,EAAE,cAAc,EAC/B,OAAO,GAAE,gBAAmD,GAC7D,OAAO,CAAC,MAAM,EAAE,CAAC;IA6HpB;;OAEG;IACG,6BAA6B,CAC/B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,EAAE,EACjB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,gBAAgB;IAuD7B;;;OAGG;IACG,yBAAyB,CAC3B,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,WAAW,EAC/B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,gBAAgB;IAmF7B;;OAEG;IACG,QAAQ,CACV,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;CA0CnC"}
@@ -3,7 +3,7 @@ import { AttributeQuery, AttributeQueryData } from './AttributeQuery.js';
3
3
  import { Modifier, ModifierData } from './Modifier.js';
4
4
  import { EntityToTableMap } from './EntityToTableMap.js';
5
5
  import { AttributeInfo } from './AttributeInfo.js';
6
- import { RecursiveContext } from './RecordQueryAgent.js';
6
+ import { RecursiveContext } from './util/RecursiveContext.js';
7
7
  export type RecordQueryData = {
8
8
  matchExpression?: MatchExpressionData;
9
9
  attributeQuery?: AttributeQueryData;
@@ -1 +1 @@
1
- {"version":3,"file":"RecordQuery.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/RecordQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordQuery.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/RecordQuery.ts"],"names":[],"mappings":"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"}
@@ -1,97 +1,62 @@
1
1
  import { EntityIdRef, Database, RecordMutationEvent } from '../../runtime';
2
- import { BoolExp } from '../../shared';
3
2
  import { EntityToTableMap } from './EntityToTableMap.js';
4
- import { FieldMatchAtom, MatchExpressionData } from './MatchExp.js';
5
- import { AttributeQuery } from './AttributeQuery.js';
6
- import { RecordQuery, RecordQueryTree } from './RecordQuery.js';
3
+ import { MatchExpressionData } from './MatchExp.js';
4
+ import { RecordQuery } from './RecordQuery.js';
7
5
  import { NewRecordData, RawEntityData } from './NewRecordData.js';
8
- import { Modifier } from './Modifier.js';
9
- export type JoinTables = {
10
- for: any;
11
- joinSource: [string, string];
12
- joinIdField: [string, string];
13
- joinTarget: [string, string];
14
- }[];
15
- declare class FieldAliasMap {
16
- aliasToPath: Map<string, string[]>;
17
- pathStrToAlias: Map<string, string>;
18
- aliasPlaceholder: number;
19
- getAlias(path: string[], forceCreate?: boolean): string | undefined;
20
- getPath(alias: string): string[] | undefined;
21
- }
6
+ import { PlaceholderGen } from './SQLBuilder.js';
7
+ import { RecursiveContext } from './util/RecursiveContext.js';
8
+ import { RecordQueryRef } from './QueryExecutor.js';
22
9
  export type Record = EntityIdRef & {
23
10
  [k: string]: any;
24
11
  };
25
- export declare const ROOT_LABEL = ":root";
26
- export declare class RecursiveContext {
27
- label: string;
28
- parent?: RecursiveContext | undefined;
29
- stack: any[];
30
- constructor(label: string, parent?: RecursiveContext | undefined, stack?: any[]);
31
- concat(value: any): RecursiveContext;
32
- getStack(key: string): any[];
33
- spawn(label: string): RecursiveContext;
34
- }
35
- declare class RecordQueryRef {
36
- recordQuery: RecordQuery;
37
- recordQueryByName: Map<string, RecordQuery>;
38
- constructor(recordQuery: RecordQuery);
39
- recursiveSaveLabelledRecordQuery(recordQuery: RecordQuery): void;
40
- set(key: string, value: any): void;
41
- get(key: string): RecordQuery | undefined;
42
- }
43
- export type PlaceholderGen = (name?: string) => string;
44
12
  export declare class RecordQueryAgent {
45
13
  map: EntityToTableMap;
46
14
  database: Database;
47
15
  getPlaceholder: () => PlaceholderGen;
48
16
  private filteredEntityManager;
17
+ private sqlBuilder;
18
+ private queryExecutor;
19
+ private creationExecutor;
20
+ private deletionExecutor;
21
+ private updateExecutor;
49
22
  constructor(map: EntityToTableMap, database: Database);
50
23
  /**
51
24
  * 初始化所有 filtered entity 的依赖关系
52
25
  */
53
26
  private initializeFilteredEntityDependencies;
54
- buildXToOneFindQuery(recordQuery: RecordQuery, prefix?: string, parentP?: PlaceholderGen): [string, any[], FieldAliasMap];
55
- buildModifierClause(modifier: Modifier, prefix: string | undefined, fieldAliasMap: FieldAliasMap): string;
56
- structureRawReturns(rawReturns: {
57
- [k: string]: any;
58
- }[], JSONFields: string[], fieldAliasMap: FieldAliasMap): {}[];
27
+ /**
28
+ * 查找记录(主查询方法)- 委托给 QueryExecutor
29
+ * CAUTION findRelatedRecords 中的递归调用会使得 includeRelationData 变为 true
30
+ */
59
31
  findRecords(entityQuery: RecordQuery, queryName?: string, recordQueryRef?: RecordQueryRef, context?: RecursiveContext): Promise<Record[]>;
60
- completeXToOneLeftoverRecords(entityQuery: RecordQuery, records: Record[], recordQueryRef: RecordQueryRef, context: RecursiveContext): Promise<void>;
61
- findXToManyRelatedRecords(recordName: string, attributeName: string, recordId: string, relatedRecordQuery: RecordQuery, recordQueryRef: RecordQueryRef, context: RecursiveContext): Promise<Record[]>;
62
- getJoinTables(queryTree: RecordQueryTree, context?: string[], parentInfos?: [string, string, string]): JoinTables;
63
- withPrefix(prefix?: string): string;
64
- buildSelectClause(queryFields: ReturnType<AttributeQuery["getValueAndXToOneRecordFields"]>, prefix?: string): [string, FieldAliasMap];
65
- buildFromClause(entityName: string, prefix?: string): string;
66
- buildJoinClause(joinTables: JoinTables, prefix?: string): string;
67
- buildWhereClause(fieldMatchExp: BoolExp<FieldMatchAtom> | null, prefix: string | undefined, p: PlaceholderGen): [string, any[]];
68
- parseMatchExpressionValue(entityName: string, fieldMatchExp: BoolExp<FieldMatchAtom> | null, contextRootEntity: string | undefined, p: PlaceholderGen): BoolExp<FieldMatchAtom> | null;
69
32
  createRecordDependency(newRecordData: NewRecordData, events?: RecordMutationEvent[]): Promise<NewRecordData>;
70
33
  createRecord(newEntityData: NewRecordData, queryName?: string, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
71
34
  preprocessSameRowData(newEntityData: NewRecordData, isUpdate?: boolean, events?: RecordMutationEvent[], oldRecord?: Record): Promise<NewRecordData>;
35
+ /**
36
+ * 处理合并记录和关系的闪出
37
+ * 用于创建和更新场景中处理合并记录的数据迁移
38
+ */
72
39
  flashOutCombinedRecordsAndMergedLinks(newEntityData: NewRecordData, events?: RecordMutationEvent[], reason?: string): Promise<{
73
40
  [k: string]: RawEntityData;
74
41
  }>;
75
- relocateCombinedRecordDataForLink(linkName: string, matchExpressionData: MatchExpressionData, moveSource?: boolean, events?: RecordMutationEvent[]): Promise<void>;
76
- insertSameRowData(newEntityData: NewRecordData, queryName?: string, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
77
- prepareFieldValue(value: any, fieldType?: string): any;
78
- handleCreationReliance(newEntityData: NewRecordData, events?: RecordMutationEvent[]): Promise<object>;
42
+ /**
43
+ * 重定位合并记录数据用于链接
44
+ * 用于 unlink 场景中处理合并记录的数据迁移
45
+ */
46
+ relocateCombinedRecordDataForLink(linkName: string, matchExpressionData: MatchExpressionData, moveSource?: boolean, events?: RecordMutationEvent[]): Promise<Record[]>;
47
+ updateRecord(entityName: string, matchExpressionData: MatchExpressionData, newEntityData: NewRecordData, events?: RecordMutationEvent[]): Promise<Record[]>;
79
48
  updateRecordDataById(entityName: string, idRef: EntityIdRef, columnAndValue: {
80
49
  field: string;
81
50
  value: string;
82
51
  }[]): Promise<EntityIdRef>;
83
- updateSameRowData(entityName: string, matchedEntity: Record, newEntityDataWithDep: NewRecordData, events?: RecordMutationEvent[]): Promise<NewRecordData>;
84
- handleUpdateReliance(entityName: string, matchedEntity: EntityIdRef, newEntityData: NewRecordData, events?: RecordMutationEvent[]): Promise<Record>;
85
- updateRecord(entityName: string, matchExpressionData: MatchExpressionData, newEntityData: NewRecordData, events?: RecordMutationEvent[]): Promise<Record[]>;
86
52
  deleteRecord(recordName: string, matchExp: MatchExpressionData, events?: RecordMutationEvent[], inSameRowDataOp?: boolean): Promise<Record[]>;
87
- deleteRecordSameRowData(recordName: string, records: EntityIdRef[], events?: RecordMutationEvent[], inSameRowDataOp?: boolean): Promise<void>;
88
- handleDeletedRecordReliance(recordName: string, record: EntityIdRef, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
89
- deleteNotReliantSeparateLinkRecords(recordName: string, records: EntityIdRef[], events?: RecordMutationEvent[]): Promise<void>;
90
- deleteDifferentTableReliance(recordName: string, records: EntityIdRef[], events?: RecordMutationEvent[]): Promise<void>;
53
+ deleteRecordSameRowData(recordName: string, records: EntityIdRef[], events?: RecordMutationEvent[], inSameRowDataOp?: boolean): Promise<Record[]>;
91
54
  addLinkFromRecord(entity: string, attribute: string, entityId: string, relatedEntityId: string, attributes?: RawEntityData, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
92
55
  addLink(linkName: string, sourceId: string, targetId: string, attributes?: RawEntityData, moveSource?: boolean, events?: RecordMutationEvent[]): Promise<EntityIdRef>;
93
- unlink(linkName: string, matchExpressionData: MatchExpressionData, moveSource?: boolean, reason?: string, events?: RecordMutationEvent[]): Promise<void | Record[]>;
56
+ unlink(linkName: string, matchExpressionData: MatchExpressionData, moveSource?: boolean, reason?: string, events?: RecordMutationEvent[]): Promise<Record[]>;
57
+ /**
58
+ * 查找树形结构的两个数据间的 path - 委托给 QueryExecutor
59
+ */
94
60
  findPath(recordName: string, attributePathStr: string, startRecordId: string, endRecordId: string, limitLength?: number): Promise<Record[] | undefined>;
95
61
  }
96
- export {};
97
62
  //# sourceMappingURL=RecordQueryAgent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecordQueryAgent.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/RecordQueryAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordQueryAgent.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/RecordQueryAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAuB,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,EAAe,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGlE,OAAO,EAAc,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAc,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAiB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAMnE,MAAM,MAAM,MAAM,GAAG,WAAW,GAAG;IAC/B,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB,CAAA;AAED,qBAAa,gBAAgB;IASN,GAAG,EAAE,gBAAgB;IAAS,QAAQ,EAAE,QAAQ;IARnE,cAAc,EAAE,MAAM,cAAc,CAAA;IACpC,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAgB;gBAEnB,GAAG,EAAE,gBAAgB,EAAS,QAAQ,EAAE,QAAQ;IAWnE;;OAEG;IACH,OAAO,CAAC,oCAAoC;IAmB5C;;;OAGG;IACG,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,SAAK,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,OAAO,GAAE,gBAAmD,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAOvK,sBAAsB,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAK5G,YAAY,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAMpH,qBAAqB,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,UAAQ,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAsEvJ;;;OAGG;IACG,qCAAqC,CAAC,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,MAAM,SAAK,GAAG,OAAO,CAAC;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IAqE/J;;;OAGG;IACG,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,UAAQ,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA+BpK,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK3J,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE;QAC/E,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAA;KAChB,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAKpB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK3I,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAMrJ,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,GAAE,aAAkB,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAKxJ,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,GAAE,aAAkB,EAAE,UAAU,UAAQ,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE;IAMhJ,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,UAAQ,EAAE,MAAM,SAAK,EAAE,MAAM,CAAC,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAI5J;;OAEG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC;CAIhK"}
@@ -0,0 +1,122 @@
1
+ import { Database } from '../../runtime';
2
+ import { BoolExp } from '../../shared';
3
+ import { EntityToTableMap } from './EntityToTableMap.js';
4
+ import { FieldMatchAtom } from './MatchExp.js';
5
+ import { AttributeQuery } from './AttributeQuery.js';
6
+ import { RecordQuery, RecordQueryTree } from './RecordQuery.js';
7
+ import { Modifier } from './Modifier.js';
8
+ import { FieldAliasMap } from './util/FieldAliasMap.js';
9
+ /**
10
+ * JOIN 表信息
11
+ */
12
+ export type JoinTables = {
13
+ for: any;
14
+ joinSource: [string, string];
15
+ joinIdField: [string, string];
16
+ joinTarget: [string, string];
17
+ }[];
18
+ /**
19
+ * 占位符生成器
20
+ */
21
+ export type PlaceholderGen = (name?: string) => string;
22
+ /**
23
+ * SQLBuilder - 负责生成所有 SQL 语句
24
+ *
25
+ * 职责:
26
+ * 1. 构建 SELECT 查询(包括 JOIN、WHERE、MODIFIER 等)
27
+ * 2. 构建 INSERT 语句
28
+ * 3. 构建 UPDATE 语句
29
+ * 4. 构建 DELETE 语句
30
+ * 5. 处理字段别名和表别名
31
+ *
32
+ * 不负责:
33
+ * 1. 执行 SQL
34
+ * 2. 处理查询结果
35
+ * 3. 管理事务
36
+ */
37
+ export declare class SQLBuilder {
38
+ map: EntityToTableMap;
39
+ database: Database;
40
+ private getPlaceholder;
41
+ constructor(map: EntityToTableMap, database: Database);
42
+ /**
43
+ * 构建完整的 xToOne 查询 SQL
44
+ *
45
+ * @param recordQuery 查询对象
46
+ * @param prefix 前缀(用于子查询)
47
+ * @param parentP 父查询的占位符生成器
48
+ * @returns [SQL字符串, 参数数组, 字段别名映射]
49
+ */
50
+ buildXToOneFindQuery(recordQuery: RecordQuery, prefix?: string, parentP?: PlaceholderGen): [string, any[], FieldAliasMap];
51
+ /**
52
+ * 构建 SELECT 子句
53
+ */
54
+ buildSelectClause(queryFields: ReturnType<AttributeQuery["getValueAndXToOneRecordFields"]>, prefix?: string): [string, FieldAliasMap];
55
+ /**
56
+ * 构建 FROM 子句
57
+ */
58
+ buildFromClause(entityName: string, prefix?: string): string;
59
+ /**
60
+ * 构建 JOIN 子句
61
+ */
62
+ buildJoinClause(joinTables: JoinTables, prefix?: string): string;
63
+ /**
64
+ * 构建 WHERE 子句
65
+ */
66
+ buildWhereClause(fieldMatchExp: BoolExp<FieldMatchAtom> | null, prefix: string | undefined, p: PlaceholderGen): [string, any[]];
67
+ /**
68
+ * 构建 MODIFIER 子句(ORDER BY, LIMIT, OFFSET)
69
+ */
70
+ buildModifierClause(modifier: Modifier, prefix: string | undefined, fieldAliasMap: FieldAliasMap): string;
71
+ /**
72
+ * 获取需要 JOIN 的表信息
73
+ *
74
+ * 根据查询树递归计算所有需要 JOIN 的表
75
+ */
76
+ getJoinTables(queryTree: RecordQueryTree, context?: string[], parentInfos?: [string, string, string]): JoinTables;
77
+ /**
78
+ * 解析匹配表达式中的 EXIST 子查询
79
+ */
80
+ parseMatchExpressionValue(entityName: string, fieldMatchExp: BoolExp<FieldMatchAtom> | null, contextRootEntity: string | undefined, p: PlaceholderGen): BoolExp<FieldMatchAtom> | null;
81
+ /**
82
+ * 构建 INSERT 语句
83
+ */
84
+ buildInsertSQL(recordName: string, fieldAndValues: Array<{
85
+ field: string;
86
+ value: any;
87
+ fieldType?: string;
88
+ }>): [string, any[]];
89
+ /**
90
+ * 构建 UPDATE 语句
91
+ */
92
+ buildUpdateSQL(entityName: string, idRef: {
93
+ id: string | number;
94
+ }, columnAndValue: Array<{
95
+ field: string;
96
+ value: any;
97
+ }>): [string, any[]];
98
+ /**
99
+ * 构建 DELETE 语句
100
+ */
101
+ buildDeleteSQL(recordName: string, idField: string, id: string | number): [string, any[]];
102
+ /**
103
+ * 构建批量字段置 NULL 的 UPDATE 语句
104
+ * 用于删除合表记录时的部分删除场景(当同一行还有其他记录的数据时)
105
+ */
106
+ buildUpdateFieldsToNullSQL(recordName: string, fields: string[], idRef: {
107
+ id: string | number;
108
+ }): [string, any[]];
109
+ /**
110
+ * 构建批量 DELETE 语句(通过 WHERE 条件)
111
+ */
112
+ buildDeleteByWhereSQL(recordName: string, matchExp: BoolExp<FieldMatchAtom>): [string, any[]];
113
+ /**
114
+ * 添加前缀
115
+ */
116
+ withPrefix(prefix?: string): string;
117
+ /**
118
+ * 准备字段值(处理 JSON 等特殊类型)
119
+ */
120
+ prepareFieldValue(value: any, fieldType?: string): any;
121
+ }
122
+ //# sourceMappingURL=SQLBuilder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SQLBuilder.d.ts","sourceRoot":"","sources":["../../../src/storage/erstorage/SQLBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAY,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAe,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,GAAG,EAAE,GAAG,CAAA;IACR,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B,EAAE,CAAA;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;AAEtD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,UAAU;IAIR,GAAG,EAAE,gBAAgB;IACrB,QAAQ,EAAE,QAAQ;IAJ7B,OAAO,CAAC,cAAc,CAAsB;gBAGjC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,QAAQ;IAO7B;;;;;;;OAOG;IACH,oBAAoB,CAChB,WAAW,EAAE,WAAW,EACxB,MAAM,SAAK,EACX,OAAO,CAAC,EAAE,cAAc,GACzB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,aAAa,CAAC;IAwCjC;;OAEG;IACH,iBAAiB,CACb,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC,EACxE,MAAM,SAAK,GACZ,CAAC,MAAM,EAAE,aAAa,CAAC;IAqB1B;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,MAAM;IAKxD;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,SAAK,GAAG,MAAM;IAS5D;;OAEG;IACH,gBAAgB,CACZ,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,EAC7C,MAAM,oBAAK,EACX,CAAC,EAAE,cAAc,GAClB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAiClB;;OAEG;IACH,mBAAmB,CACf,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,YAAK,EACnB,aAAa,EAAE,aAAa,GAC7B,MAAM;IAyBT;;;;OAIG;IACH,aAAa,CACT,SAAS,EAAE,eAAe,EAC1B,OAAO,GAAE,MAAM,EAAO,EACtB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACvC,UAAU;IAyGb;;OAEG;IACH,yBAAyB,CACrB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,EAC7C,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,CAAC,EAAE,cAAc,GAClB,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAoDjC;;OAEG;IACH,cAAc,CACV,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GACzE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAelB;;OAEG;IACH,cAAc,CACV,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAC9B,cAAc,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,GACrD,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAkBlB;;OAEG;IACH,cAAc,CACV,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,GAAG,MAAM,GACpB,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAWlB;;;OAGG;IACH,0BAA0B,CACtB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAC/B,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAclB;;OAEG;IACH,qBAAqB,CACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,GAClC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IAclB;;OAEG;IACH,UAAU,CAAC,MAAM,SAAK,GAAG,MAAM;IAI/B;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,GAAG;CAMzD"}