@belopash/typeorm-store 1.4.0 → 1.4.2

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 (57) hide show
  1. package/lib/database.d.ts +1 -0
  2. package/lib/database.d.ts.map +1 -1
  3. package/lib/database.js +25 -2
  4. package/lib/database.js.map +1 -1
  5. package/lib/index.js +2 -1
  6. package/lib/index.js.map +1 -1
  7. package/lib/store.d.ts +39 -31
  8. package/lib/store.d.ts.map +1 -1
  9. package/lib/store.js +47 -61
  10. package/lib/store.js.map +1 -1
  11. package/lib/test/store.test.d.ts.map +1 -1
  12. package/lib/test/store.test.js +8 -3
  13. package/lib/test/store.test.js.map +1 -1
  14. package/lib/{cacheMap.d.ts → utils/cacheMap.d.ts} +4 -5
  15. package/lib/utils/cacheMap.d.ts.map +1 -0
  16. package/lib/{cacheMap.js → utils/cacheMap.js} +3 -8
  17. package/lib/utils/cacheMap.js.map +1 -0
  18. package/lib/utils/changeMap.d.ts +27 -0
  19. package/lib/utils/changeMap.d.ts.map +1 -0
  20. package/lib/utils/changeMap.js +80 -0
  21. package/lib/utils/changeMap.js.map +1 -0
  22. package/lib/utils/deferList.d.ts +19 -0
  23. package/lib/utils/deferList.d.ts.map +1 -0
  24. package/lib/{deferList.js → utils/deferList.js} +10 -6
  25. package/lib/utils/deferList.js.map +1 -0
  26. package/lib/utils/misc.d.ts +5 -0
  27. package/lib/utils/misc.d.ts.map +1 -0
  28. package/lib/{utils.js → utils/misc.js} +1 -1
  29. package/lib/utils/misc.js.map +1 -0
  30. package/lib/utils/relationGraph.d.ts.map +1 -0
  31. package/lib/utils/relationGraph.js.map +1 -0
  32. package/package.json +8 -8
  33. package/src/database.ts +23 -7
  34. package/src/store.ts +108 -88
  35. package/src/{cacheMap.ts → utils/cacheMap.ts} +7 -13
  36. package/src/utils/changeMap.ts +94 -0
  37. package/src/utils/deferList.ts +47 -0
  38. package/src/{utils.ts → utils/misc.ts} +2 -3
  39. package/lib/cacheMap.d.ts.map +0 -1
  40. package/lib/cacheMap.js.map +0 -1
  41. package/lib/deferList.d.ts +0 -18
  42. package/lib/deferList.d.ts.map +0 -1
  43. package/lib/deferList.js.map +0 -1
  44. package/lib/relationGraph.d.ts.map +0 -1
  45. package/lib/relationGraph.js.map +0 -1
  46. package/lib/updatesMap.d.ts +0 -22
  47. package/lib/updatesMap.d.ts.map +0 -1
  48. package/lib/updatesMap.js +0 -68
  49. package/lib/updatesMap.js.map +0 -1
  50. package/lib/utils.d.ts +0 -6
  51. package/lib/utils.d.ts.map +0 -1
  52. package/lib/utils.js.map +0 -1
  53. package/src/deferList.ts +0 -41
  54. package/src/updatesMap.ts +0 -78
  55. /package/lib/{relationGraph.d.ts → utils/relationGraph.d.ts} +0 -0
  56. /package/lib/{relationGraph.js → utils/relationGraph.js} +0 -0
  57. /package/src/{relationGraph.ts → utils/relationGraph.ts} +0 -0
package/lib/database.d.ts CHANGED
@@ -7,5 +7,6 @@ export declare class TypeormDatabaseWithCache extends TypeormDatabase {
7
7
  transactHot(info: HotTxInfo, cb: (store: StoreWithCache, block: HashAndHeight) => Promise<void>): Promise<void>;
8
8
  transactHot2(info: HotTxInfo, cb: (store: StoreWithCache, sliceBeg: number, sliceEnd: number) => Promise<void>): Promise<void>;
9
9
  private performUpdates;
10
+ private getCommitOrder;
10
11
  }
11
12
  //# sourceMappingURL=database.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,eAAe,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAA;AAE/F,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,wCAAwC,CAAA;AAG5F,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAEtC,OAAO,EAAC,cAAc,EAAE,sBAAsB,EAAC,CAAA;AAG/C,qBAAa,wBAAyB,SAAQ,eAAe;IAEzD,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxF,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/G,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAIhH,cAAc;CAmB/B"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,eAAe,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAA;AAE/F,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,wCAAwC,CAAA;AAG5F,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAItC,OAAO,EAAC,cAAc,EAAE,sBAAsB,EAAC,CAAA;AAG/C,qBAAa,wBAAyB,SAAQ,eAAe;IAEzD,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxF,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/G,YAAY,CACR,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACjF,OAAO,CAAC,IAAI,CAAC;YAIF,cAAc;IA2B5B,OAAO,CAAC,cAAc;CAGzB"}
package/lib/database.js CHANGED
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
2
11
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
13
  };
@@ -7,6 +16,8 @@ exports.TypeormDatabaseWithCache = void 0;
7
16
  const typeorm_store_1 = require("@subsquid/typeorm-store");
8
17
  const assert_1 = __importDefault(require("assert"));
9
18
  const store_1 = require("./store");
19
+ const util_internal_1 = require("@subsquid/util-internal");
20
+ const relationGraph_1 = require("./utils/relationGraph");
10
21
  // @ts-ignore
11
22
  class TypeormDatabaseWithCache extends typeorm_store_1.TypeormDatabase {
12
23
  // @ts-ignore
@@ -21,12 +32,15 @@ class TypeormDatabaseWithCache extends typeorm_store_1.TypeormDatabase {
21
32
  transactHot2(info, cb) {
22
33
  return super.transactHot2(info, cb);
23
34
  }
24
- async performUpdates(cb, em, changeTracker) {
35
+ async performUpdates(cb, em, changes) {
25
36
  let running = true;
26
37
  let store = new store_1.StoreWithCache(() => {
27
38
  (0, assert_1.default)(running, `too late to perform db updates, make sure you haven't forgot to await on db query`);
28
39
  return em;
29
- }, changeTracker);
40
+ }, {
41
+ changeTracker: changes,
42
+ commitOrder: this.getCommitOrder(),
43
+ });
30
44
  try {
31
45
  await cb(store);
32
46
  await store.flush();
@@ -35,6 +49,15 @@ class TypeormDatabaseWithCache extends typeorm_store_1.TypeormDatabase {
35
49
  running = false;
36
50
  }
37
51
  }
52
+ getCommitOrder() {
53
+ return (0, relationGraph_1.getCommitOrder)(this['con'].entityMetadatas);
54
+ }
38
55
  }
39
56
  exports.TypeormDatabaseWithCache = TypeormDatabaseWithCache;
57
+ __decorate([
58
+ util_internal_1.def,
59
+ __metadata("design:type", Function),
60
+ __metadata("design:paramtypes", []),
61
+ __metadata("design:returntype", void 0)
62
+ ], TypeormDatabaseWithCache.prototype, "getCommitOrder", null);
40
63
  //# sourceMappingURL=database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA+F;AAG/F,oDAA2B;AAE3B,mCAAsC;AAItC,aAAa;AACb,MAAa,wBAAyB,SAAQ,+BAAe;IACzD,aAAa;IACb,QAAQ,CAAC,IAAiB,EAAE,EAA4C;QACpE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAS,CAAC,CAAA;IAC1C,CAAC;IAED,aAAa;IACb,WAAW,CAAC,IAAe,EAAE,EAAkE;QAC3F,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAS,CAAC,CAAA;IAC7C,CAAC;IAED,aAAa;IACb,YAAY,CAAC,IAAe,EAAE,EAAgF;QAC1G,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAS,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,cAAc,CACxB,EAA4C,EAC5C,EAAiB,EACjB,aAA6B;QAE7B,IAAI,OAAO,GAAG,IAAI,CAAA;QAElB,IAAI,KAAK,GAAG,IAAI,sBAAc,CAAC,GAAG,EAAE;YAChC,IAAA,gBAAM,EAAC,OAAO,EAAE,mFAAmF,CAAC,CAAA;YACpG,OAAO,EAAE,CAAA;QACb,CAAC,EAAE,aAAa,CAAC,CAAA;QAEjB,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;YACf,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;gBAAS,CAAC;YACP,OAAO,GAAG,KAAK,CAAA;QACnB,CAAC;IACL,CAAC;CACJ;AAnCD,4DAmCC"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2DAA+F;AAG/F,oDAA2B;AAE3B,mCAAsC;AACtC,2DAA2C;AAC3C,yDAAoD;AAIpD,aAAa;AACb,MAAa,wBAAyB,SAAQ,+BAAe;IACzD,aAAa;IACb,QAAQ,CAAC,IAAiB,EAAE,EAA4C;QACpE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAS,CAAC,CAAA;IAC1C,CAAC;IAED,aAAa;IACb,WAAW,CAAC,IAAe,EAAE,EAAkE;QAC3F,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,EAAS,CAAC,CAAA;IAC7C,CAAC;IAED,aAAa;IACb,YAAY,CACR,IAAe,EACf,EAAgF;QAEhF,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,EAAS,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,cAAc,CACxB,EAA4C,EAC5C,EAAiB,EACjB,OAAuB;QAEvB,IAAI,OAAO,GAAG,IAAI,CAAA;QAElB,IAAI,KAAK,GAAG,IAAI,sBAAc,CAC1B,GAAG,EAAE;YACD,IAAA,gBAAM,EAAC,OAAO,EAAE,mFAAmF,CAAC,CAAA;YACpG,OAAO,EAAE,CAAA;QACb,CAAC,EACD;YACI,aAAa,EAAE,OAAO;YACtB,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE;SACrC,CACJ,CAAA;QAED,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;YACf,MAAM,KAAK,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC;gBAAS,CAAC;YACP,OAAO,GAAG,KAAK,CAAA;QACnB,CAAC;IACL,CAAC;IAGO,cAAc;QAClB,OAAO,IAAA,8BAAc,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAA;IACtD,CAAC;CACJ;AAjDD,4DAiDC;AAHW;IADP,mBAAG;;;;8DAGH"}
package/lib/index.js CHANGED
@@ -14,8 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.StoreWithCache = void 0;
17
+ exports.StoreWithCache = exports.Entity = void 0;
18
18
  __exportStar(require("./database"), exports);
19
19
  var store_1 = require("./store");
20
+ Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return store_1.Entity; } });
20
21
  Object.defineProperty(exports, "StoreWithCache", { enumerable: true, get: function () { return store_1.StoreWithCache; } });
21
22
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iCAA4F;AAA9B,uGAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA0B;AAC1B,iCAA4F;AAAvE,+FAAA,MAAM,OAAA;AAAmC,uGAAA,cAAc,OAAA"}
package/lib/store.d.ts CHANGED
@@ -1,8 +1,11 @@
1
- import { Entity as _Entity, Entity, EntityClass, FindManyOptions, FindOneOptions, Store } from '@subsquid/typeorm-store';
1
+ import { Entity, EntityClass, FindManyOptions, FindOneOptions, Store } from '@subsquid/typeorm-store';
2
2
  import { ChangeTracker } from '@subsquid/typeorm-store/lib/hot';
3
3
  import { EntityManager, EntityMetadata, EntityTarget, FindOptionsRelations, FindOptionsWhere } from 'typeorm';
4
4
  export { Entity, EntityClass, FindManyOptions, FindOneOptions };
5
- export type ChangeSet<E extends Entity> = {
5
+ export type EntityType = {
6
+ id: string;
7
+ };
8
+ export type ChangeSet<E extends EntityType> = {
6
9
  metadata: EntityMetadata;
7
10
  inserts: E[];
8
11
  upserts: E[];
@@ -15,49 +18,54 @@ export interface GetOptions<Entity = any> {
15
18
  }
16
19
  export declare class StoreWithCache extends Store {
17
20
  private em;
21
+ private commitOrder;
18
22
  private updates;
19
23
  private defers;
20
24
  private cache;
21
25
  private logger;
22
26
  private currentCommit;
23
- constructor(em: () => EntityManager, changes?: ChangeTracker);
24
- insert<E extends _Entity>(entity: E): Promise<void>;
25
- insert<E extends _Entity>(entities: E[]): Promise<void>;
26
- upsert<E extends _Entity>(entity: E): Promise<void>;
27
- upsert<E extends _Entity>(entities: E[]): Promise<void>;
28
- save<E extends _Entity>(entity: E): Promise<void>;
29
- save<E extends _Entity>(entities: E[]): Promise<void>;
30
- remove<E extends Entity>(entity: E): Promise<void>;
31
- remove<E extends Entity>(entities: E[]): Promise<void>;
32
- remove<E extends Entity>(entityClass: EntityTarget<E>, id: string | string[]): Promise<void>;
33
- count<E extends Entity>(entityClass: EntityTarget<E>, options?: FindManyOptions<E>): Promise<number>;
34
- countBy<E extends Entity>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<number>;
35
- find<E extends Entity>(entityClass: EntityTarget<E>, options: FindManyOptions<E>): Promise<E[]>;
36
- findBy<E extends Entity>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E[]>;
37
- findOne<E extends Entity>(entityClass: EntityTarget<E>, options: FindOneOptions<E>): Promise<E | undefined>;
38
- findOneOrFail<E extends Entity>(entityClass: EntityTarget<E>, options: FindOneOptions<E>): Promise<E>;
39
- findOneBy<E extends Entity>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E | undefined>;
40
- findOneByOrFail<E extends Entity>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E>;
41
- get<E extends Entity>(entityClass: EntityTarget<E>, id: string): Promise<E | undefined>;
42
- get<E extends Entity>(entityClass: EntityTarget<E>, options: GetOptions<E>): Promise<E | undefined>;
43
- getOrFail<E extends Entity>(entityClass: EntityTarget<E>, id: string): Promise<E>;
44
- getOrFail<E extends Entity>(entityClass: EntityTarget<E>, options: GetOptions<E>): Promise<E>;
45
- getOrInsert<E extends Entity>(entityClass: EntityTarget<E>, id: string, create: (id: string) => E | Promise<E>): Promise<E>;
46
- getOrInsert<E extends Entity>(entityClass: EntityTarget<E>, options: GetOptions<E>, create: (id: string) => E | Promise<E>): Promise<E>;
27
+ private currentLoad;
28
+ constructor(em: () => EntityManager, opts: {
29
+ changeTracker?: ChangeTracker;
30
+ commitOrder: EntityMetadata[];
31
+ });
32
+ insert<E extends EntityType>(entity: E): Promise<void>;
33
+ insert<E extends EntityType>(entities: E[]): Promise<void>;
34
+ upsert<E extends EntityType>(entity: E): Promise<void>;
35
+ upsert<E extends EntityType>(entities: E[]): Promise<void>;
36
+ save<E extends EntityType>(entity: E): Promise<void>;
37
+ save<E extends EntityType>(entities: E[]): Promise<void>;
38
+ remove<E extends EntityType>(entity: E): Promise<void>;
39
+ remove<E extends EntityType>(entities: E[]): Promise<void>;
40
+ remove<E extends EntityType>(entityClass: EntityTarget<E>, id: string | string[]): Promise<void>;
41
+ count<E extends EntityType>(entityClass: EntityTarget<E>, options?: FindManyOptions<E>): Promise<number>;
42
+ countBy<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<number>;
43
+ find<E extends EntityType>(entityClass: EntityTarget<E>, options: FindManyOptions<E>): Promise<E[]>;
44
+ findBy<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E[]>;
45
+ findOne<E extends EntityType>(entityClass: EntityTarget<E>, options: FindOneOptions<E>): Promise<E | undefined>;
46
+ findOneOrFail<E extends EntityType>(entityClass: EntityTarget<E>, options: FindOneOptions<E>): Promise<E>;
47
+ findOneBy<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E | undefined>;
48
+ findOneByOrFail<E extends EntityType>(entityClass: EntityTarget<E>, where: FindOptionsWhere<E> | FindOptionsWhere<E>[]): Promise<E>;
49
+ get<E extends EntityType>(entityClass: EntityTarget<E>, id: string): Promise<E | undefined>;
50
+ get<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>): Promise<E | undefined>;
51
+ getOrFail<E extends EntityType>(entityClass: EntityTarget<E>, id: string): Promise<E>;
52
+ getOrFail<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>): Promise<E>;
53
+ getOrInsert<E extends EntityType>(entityClass: EntityTarget<E>, id: string, create: (id: string) => E | Promise<E>): Promise<E>;
54
+ getOrInsert<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>, create: (id: string) => E | Promise<E>): Promise<E>;
47
55
  /**
48
56
  * @deprecated use {@link getOrInsert} instead
49
57
  */
50
- getOrCreate<E extends Entity>(entityClass: EntityTarget<E>, idOrOptions: string | GetOptions<E>, create: (id: string) => E | Promise<E>): Promise<E>;
51
- defer<E extends Entity>(entityClass: EntityTarget<E>, id: string): DeferredEntity<E>;
52
- defer<E extends Entity>(entityClass: EntityTarget<E>, options: GetOptions<E>): DeferredEntity<E>;
58
+ getOrCreate<E extends EntityType>(entityClass: EntityTarget<E>, idOrOptions: string | GetOptions<E>, create: (id: string) => E | Promise<E>): Promise<E>;
59
+ defer<E extends EntityType>(entityClass: EntityTarget<E>, id: string): DeferredEntity<E>;
60
+ defer<E extends EntityType>(entityClass: EntityTarget<E>, options: GetOptions<E>): DeferredEntity<E>;
53
61
  commit(): Promise<void>;
54
62
  clear(): void;
55
63
  flush(): Promise<void>;
64
+ private computeChangeSets;
56
65
  private getChangeSet;
57
66
  private load;
58
67
  private getCached;
59
68
  private extractExtraUpsert;
60
- private getCommitOrder;
61
69
  private commitOrderIndexes;
62
70
  private getCommitOrderIndex;
63
71
  private cloneEntity;
@@ -68,7 +76,7 @@ export declare class StoreWithCache extends Store {
68
76
  private getFkSignature;
69
77
  private upsertMany;
70
78
  }
71
- export declare class DeferredEntity<E extends Entity> {
79
+ export declare class DeferredEntity<E extends EntityType> {
72
80
  private opts;
73
81
  constructor(opts: {
74
82
  get: () => Promise<E | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
package/lib/store.js CHANGED
@@ -1,39 +1,31 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
14
5
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.DeferredEntity = exports.StoreWithCache = void 0;
6
+ exports.DeferredEntity = exports.StoreWithCache = exports.Entity = void 0;
16
7
  const logger_1 = require("@subsquid/logger");
17
8
  const typeorm_store_1 = require("@subsquid/typeorm-store");
18
- const util_internal_1 = require("@subsquid/util-internal");
9
+ Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return typeorm_store_1.Entity; } });
19
10
  const assert_1 = __importDefault(require("assert"));
20
11
  const async_mutex_1 = require("async-mutex");
21
12
  const typeorm_1 = require("typeorm");
22
- const cacheMap_1 = require("./cacheMap");
23
- const deferList_1 = require("./deferList");
24
- const relationGraph_1 = require("./relationGraph");
25
- const updatesMap_1 = require("./updatesMap");
26
- const utils_1 = require("./utils");
13
+ const cacheMap_1 = require("./utils/cacheMap");
14
+ const deferList_1 = require("./utils/deferList");
15
+ const changeMap_1 = require("./utils/changeMap");
16
+ const misc_1 = require("./utils/misc");
27
17
  // @ts-ignore
28
18
  class StoreWithCache extends typeorm_store_1.Store {
29
- constructor(em, changes) {
30
- super(em, changes);
19
+ constructor(em, opts) {
20
+ super(em, opts.changeTracker);
31
21
  this.em = em;
32
22
  this.currentCommit = new async_mutex_1.Mutex();
23
+ this.currentLoad = new async_mutex_1.Mutex();
24
+ this.commitOrder = opts.commitOrder;
33
25
  this.logger = (0, logger_1.createLogger)('sqd:store');
34
26
  this.cache = new cacheMap_1.CacheMap({ logger: this.logger });
35
- this.updates = new updatesMap_1.UpdatesMap();
36
- this.defers = new deferList_1.DeferList();
27
+ this.updates = new changeMap_1.ChangeMap({ logger: this.logger });
28
+ this.defers = new deferList_1.DeferList({ logger: this.logger });
37
29
  }
38
30
  async insert(e) {
39
31
  await this.currentCommit.waitForUnlock();
@@ -53,7 +45,7 @@ class StoreWithCache extends typeorm_store_1.Store {
53
45
  return;
54
46
  for (const entity of entities) {
55
47
  const md = this.getEntityMetadata(entity.constructor);
56
- const isNew = this.updates.get(md, entity.id) === updatesMap_1.UpdateType.Remove;
48
+ const isNew = this.updates.get(md, entity.id) === changeMap_1.ChangeType.Remove;
57
49
  this.updates.upsert(md, entity.id);
58
50
  this.cache.add(md, entity, isNew);
59
51
  }
@@ -202,18 +194,13 @@ class StoreWithCache extends typeorm_store_1.Store {
202
194
  async commit() {
203
195
  await this.currentCommit.runExclusive(async () => {
204
196
  const log = this.logger.child('commit');
205
- const entityOrder = this.getCommitOrder();
206
- const changeSets = [];
207
- for (const metadata of entityOrder) {
208
- const changeSet = this.getChangeSet(metadata.target);
209
- changeSets.push(changeSet);
210
- }
197
+ const changeSets = this.computeChangeSets();
211
198
  for (const { metadata, inserts, upserts } of changeSets) {
212
199
  if (upserts.length > 0) {
213
200
  log.debug(`commit upserts for ${metadata.name} (${upserts.length})`);
214
201
  await super.upsert(upserts);
215
202
  }
216
- if (inserts.length) {
203
+ if (inserts.length > 0) {
217
204
  log.debug(`commit inserts for ${metadata.name} (${inserts.length})`);
218
205
  await super.insert(inserts);
219
206
  }
@@ -226,21 +213,30 @@ class StoreWithCache extends typeorm_store_1.Store {
226
213
  }
227
214
  }
228
215
  for (const { metadata, extraUpserts } of changeSets) {
229
- if (extraUpserts.length) {
216
+ if (extraUpserts.length > 0) {
230
217
  log.debug(`commit extra upserts for ${metadata.name} (${extraUpserts.length})`);
231
218
  await super.upsert(extraUpserts);
232
219
  }
233
220
  }
234
- this.updates.clear();
235
221
  });
236
222
  }
237
223
  clear() {
238
224
  this.cache.clear();
225
+ this.updates.clear();
239
226
  }
240
227
  async flush() {
241
228
  await this.commit();
242
229
  this.clear();
243
230
  }
231
+ computeChangeSets() {
232
+ const changeSets = [];
233
+ for (const metadata of this.commitOrder) {
234
+ const changeSet = this.getChangeSet(metadata.target);
235
+ changeSets.push(changeSet);
236
+ }
237
+ this.updates.clear();
238
+ return changeSets;
239
+ }
244
240
  getChangeSet(target) {
245
241
  const metadata = this.getEntityMetadata(target);
246
242
  const inserts = [];
@@ -251,8 +247,8 @@ class StoreWithCache extends typeorm_store_1.Store {
251
247
  for (const [id, type] of updates) {
252
248
  const cached = this.cache.get(metadata, id);
253
249
  switch (type) {
254
- case updatesMap_1.UpdateType.Insert: {
255
- (0, assert_1.default)(cached?.value != null);
250
+ case changeMap_1.ChangeType.Insert: {
251
+ (0, assert_1.default)(cached?.value != null, `unable to insert entity ${metadata.name} ${id}`);
256
252
  inserts.push(cached.value);
257
253
  const extraUpsert = this.extractExtraUpsert(cached.value);
258
254
  if (extraUpsert != null) {
@@ -260,8 +256,8 @@ class StoreWithCache extends typeorm_store_1.Store {
260
256
  }
261
257
  break;
262
258
  }
263
- case updatesMap_1.UpdateType.Upsert: {
264
- (0, assert_1.default)(cached?.value != null);
259
+ case changeMap_1.ChangeType.Upsert: {
260
+ (0, assert_1.default)(cached?.value != null, `unable to upsert entity ${metadata.name} ${id}`);
265
261
  upserts.push(cached.value);
266
262
  const extraUpsert = this.extractExtraUpsert(cached.value);
267
263
  if (extraUpsert != null) {
@@ -269,7 +265,7 @@ class StoreWithCache extends typeorm_store_1.Store {
269
265
  }
270
266
  break;
271
267
  }
272
- case updatesMap_1.UpdateType.Remove: {
268
+ case changeMap_1.ChangeType.Remove: {
273
269
  removes.push(id);
274
270
  break;
275
271
  }
@@ -278,19 +274,20 @@ class StoreWithCache extends typeorm_store_1.Store {
278
274
  return { metadata, inserts, upserts, extraUpserts, removes };
279
275
  }
280
276
  async load() {
281
- for (const { target, data } of this.defers.values()) {
282
- const metadata = this.getEntityMetadata(target);
283
- const ids = Array.from(data.ids);
284
- for (const id of ids) {
285
- this.cache.ensure(metadata, id);
286
- }
287
- for (let batch of (0, utils_1.splitIntoBatches)(ids, 30000)) {
288
- if (batch.length == 0)
289
- continue;
290
- await this.find(metadata.target, { where: { id: (0, typeorm_1.In)(batch) }, relations: data.relations });
277
+ await this.currentLoad.runExclusive(async () => {
278
+ for (const [metadata, data] of this.defers.values()) {
279
+ const ids = Array.from(data.ids);
280
+ for (let batch of (0, misc_1.splitIntoBatches)(ids, 30000)) {
281
+ if (batch.length == 0)
282
+ continue;
283
+ await this.find(metadata.target, { where: { id: (0, typeorm_1.In)(batch) }, relations: data.relations });
284
+ }
285
+ for (const id of ids) {
286
+ this.cache.ensure(metadata, id);
287
+ }
291
288
  }
292
- }
293
- this.defers.clear();
289
+ this.defers.clear();
290
+ });
294
291
  }
295
292
  getCached(entityClass, id, mask) {
296
293
  const md = this.getEntityMetadata(entityClass);
@@ -323,7 +320,7 @@ class StoreWithCache extends typeorm_store_1.Store {
323
320
  continue;
324
321
  (0, assert_1.default)(relation.isNullable);
325
322
  const invUpdateType = this.updates.get(inverseMetadata, inverseEntity.id);
326
- if (invUpdateType === updatesMap_1.UpdateType.Insert) {
323
+ if (invUpdateType === changeMap_1.ChangeType.Insert) {
327
324
  if (extraUpsert == null) {
328
325
  extraUpsert = metadata.create();
329
326
  extraUpsert.id = entity.id;
@@ -334,14 +331,9 @@ class StoreWithCache extends typeorm_store_1.Store {
334
331
  }
335
332
  return extraUpsert;
336
333
  }
337
- getCommitOrder() {
338
- const em = this.em();
339
- return (0, relationGraph_1.getCommitOrder)(em.connection.entityMetadatas);
340
- }
341
334
  getCommitOrderIndex(metadata) {
342
335
  if (this.commitOrderIndexes == null) {
343
- const order = this.getCommitOrder();
344
- this.commitOrderIndexes = new Map(order.map((m, i) => [m, i]));
336
+ this.commitOrderIndexes = new Map(this.commitOrder.map((m, i) => [m, i]));
345
337
  }
346
338
  const index = this.commitOrderIndexes.get(metadata);
347
339
  (0, assert_1.default)(index != null);
@@ -353,7 +345,7 @@ class StoreWithCache extends typeorm_store_1.Store {
353
345
  for (const column of metadata.nonVirtualColumns) {
354
346
  const objectColumnValue = column.getEntityValue(entity);
355
347
  if (objectColumnValue !== undefined) {
356
- column.setEntityValue(clonedEntity, (0, utils_1.copy)(objectColumnValue));
348
+ column.setEntityValue(clonedEntity, (0, misc_1.copy)(objectColumnValue));
357
349
  }
358
350
  }
359
351
  if (mask != null) {
@@ -460,12 +452,6 @@ class StoreWithCache extends typeorm_store_1.Store {
460
452
  }
461
453
  }
462
454
  exports.StoreWithCache = StoreWithCache;
463
- __decorate([
464
- util_internal_1.def,
465
- __metadata("design:type", Function),
466
- __metadata("design:paramtypes", []),
467
- __metadata("design:returntype", void 0)
468
- ], StoreWithCache.prototype, "getCommitOrder", null);
469
455
  class DeferredEntity {
470
456
  constructor(opts) {
471
457
  this.opts = opts;
package/lib/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"store.test.d.ts","sourceRoot":"","sources":["../../src/test/store.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,cAAc,EAAC,MAAM,UAAU,CAAA;AACvC,OAAO,EAAC,IAAI,EAAQ,MAAM,aAAa,CAAA;AA8JvC,wBAAgB,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,CAErD;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAErE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEnE"}
1
+ {"version":3,"file":"store.test.d.ts","sourceRoot":"","sources":["../../src/test/store.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,cAAc,EAAC,MAAM,UAAU,CAAA;AACvC,OAAO,EAAC,IAAI,EAAQ,MAAM,aAAa,CAAA;AAkKvC,wBAAsB,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,CAG3D;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAErE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAEnE"}
@@ -10,9 +10,13 @@ const typeorm_1 = require("typeorm");
10
10
  const store_1 = require("../store");
11
11
  const model_1 = require("./lib/model");
12
12
  const util_1 = require("./util");
13
+ const relationGraph_1 = require("../utils/relationGraph");
13
14
  describe('Store', function () {
14
15
  describe('.save()', function () {
15
- (0, util_1.useDatabase)([`CREATE TABLE item (id text primary key , name text)`, `CREATE TABLE "order" (id text primary key, item_id text REFERENCES item, qty int4)`]);
16
+ (0, util_1.useDatabase)([
17
+ `CREATE TABLE item (id text primary key , name text)`,
18
+ `CREATE TABLE "order" (id text primary key, item_id text REFERENCES item, qty int4)`,
19
+ ]);
16
20
  it('get single entity', async function () {
17
21
  let store = await createStore();
18
22
  await store.save(new model_1.Item('1', 'a'));
@@ -147,8 +151,9 @@ describe('Store', function () {
147
151
  });
148
152
  });
149
153
  });
150
- function createStore() {
151
- return (0, util_1.getEntityManager)().then((em) => new store_1.StoreWithCache(() => em));
154
+ async function createStore() {
155
+ const em = await (0, util_1.getEntityManager)();
156
+ return new store_1.StoreWithCache(() => em, { commitOrder: (0, relationGraph_1.getCommitOrder)(em.connection.entityMetadatas) });
152
157
  }
153
158
  exports.createStore = createStore;
154
159
  async function getItems(store) {
@@ -1 +1 @@
1
- {"version":3,"file":"store.test.js","sourceRoot":"","sources":["../../src/test/store.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.test.js","sourceRoot":"","sources":["../../src/test/store.test.ts"],"names":[],"mappings":"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"}