@belopash/typeorm-store 1.4.1 → 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.
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/store.d.ts CHANGED
@@ -18,13 +18,17 @@ export interface GetOptions<Entity = any> {
18
18
  }
19
19
  export declare class StoreWithCache extends Store {
20
20
  private em;
21
+ private commitOrder;
21
22
  private updates;
22
23
  private defers;
23
24
  private cache;
24
25
  private logger;
25
26
  private currentCommit;
26
27
  private currentLoad;
27
- constructor(em: () => EntityManager, changes?: ChangeTracker);
28
+ constructor(em: () => EntityManager, opts: {
29
+ changeTracker?: ChangeTracker;
30
+ commitOrder: EntityMetadata[];
31
+ });
28
32
  insert<E extends EntityType>(entity: E): Promise<void>;
29
33
  insert<E extends EntityType>(entities: E[]): Promise<void>;
30
34
  upsert<E extends EntityType>(entity: E): Promise<void>;
@@ -62,7 +66,6 @@ export declare class StoreWithCache extends Store {
62
66
  private load;
63
67
  private getCached;
64
68
  private extractExtraUpsert;
65
- private getCommitOrder;
66
69
  private commitOrderIndexes;
67
70
  private getCommitOrderIndex;
68
71
  private cloneEntity;
@@ -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,13 +1,4 @@
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
  };
@@ -16,26 +7,25 @@ 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
9
  Object.defineProperty(exports, "Entity", { enumerable: true, get: function () { return typeorm_store_1.Entity; } });
19
- const util_internal_1 = require("@subsquid/util-internal");
20
10
  const assert_1 = __importDefault(require("assert"));
21
11
  const async_mutex_1 = require("async-mutex");
22
12
  const typeorm_1 = require("typeorm");
23
13
  const cacheMap_1 = require("./utils/cacheMap");
24
14
  const deferList_1 = require("./utils/deferList");
25
- const relationGraph_1 = require("./utils/relationGraph");
26
- const updateMap_1 = require("./utils/updateMap");
15
+ const changeMap_1 = require("./utils/changeMap");
27
16
  const misc_1 = require("./utils/misc");
28
17
  // @ts-ignore
29
18
  class StoreWithCache extends typeorm_store_1.Store {
30
- constructor(em, changes) {
31
- super(em, changes);
19
+ constructor(em, opts) {
20
+ super(em, opts.changeTracker);
32
21
  this.em = em;
33
22
  this.currentCommit = new async_mutex_1.Mutex();
34
23
  this.currentLoad = new async_mutex_1.Mutex();
24
+ this.commitOrder = opts.commitOrder;
35
25
  this.logger = (0, logger_1.createLogger)('sqd:store');
36
26
  this.cache = new cacheMap_1.CacheMap({ logger: this.logger });
37
- this.updates = new updateMap_1.UpdateMap();
38
- 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 });
39
29
  }
40
30
  async insert(e) {
41
31
  await this.currentCommit.waitForUnlock();
@@ -55,7 +45,7 @@ class StoreWithCache extends typeorm_store_1.Store {
55
45
  return;
56
46
  for (const entity of entities) {
57
47
  const md = this.getEntityMetadata(entity.constructor);
58
- const isNew = this.updates.get(md, entity.id) === updateMap_1.UpdateType.Remove;
48
+ const isNew = this.updates.get(md, entity.id) === changeMap_1.ChangeType.Remove;
59
49
  this.updates.upsert(md, entity.id);
60
50
  this.cache.add(md, entity, isNew);
61
51
  }
@@ -239,9 +229,8 @@ class StoreWithCache extends typeorm_store_1.Store {
239
229
  this.clear();
240
230
  }
241
231
  computeChangeSets() {
242
- const entityOrder = this.getCommitOrder();
243
232
  const changeSets = [];
244
- for (const metadata of entityOrder) {
233
+ for (const metadata of this.commitOrder) {
245
234
  const changeSet = this.getChangeSet(metadata.target);
246
235
  changeSets.push(changeSet);
247
236
  }
@@ -258,7 +247,7 @@ class StoreWithCache extends typeorm_store_1.Store {
258
247
  for (const [id, type] of updates) {
259
248
  const cached = this.cache.get(metadata, id);
260
249
  switch (type) {
261
- case updateMap_1.UpdateType.Insert: {
250
+ case changeMap_1.ChangeType.Insert: {
262
251
  (0, assert_1.default)(cached?.value != null, `unable to insert entity ${metadata.name} ${id}`);
263
252
  inserts.push(cached.value);
264
253
  const extraUpsert = this.extractExtraUpsert(cached.value);
@@ -267,7 +256,7 @@ class StoreWithCache extends typeorm_store_1.Store {
267
256
  }
268
257
  break;
269
258
  }
270
- case updateMap_1.UpdateType.Upsert: {
259
+ case changeMap_1.ChangeType.Upsert: {
271
260
  (0, assert_1.default)(cached?.value != null, `unable to upsert entity ${metadata.name} ${id}`);
272
261
  upserts.push(cached.value);
273
262
  const extraUpsert = this.extractExtraUpsert(cached.value);
@@ -276,7 +265,7 @@ class StoreWithCache extends typeorm_store_1.Store {
276
265
  }
277
266
  break;
278
267
  }
279
- case updateMap_1.UpdateType.Remove: {
268
+ case changeMap_1.ChangeType.Remove: {
280
269
  removes.push(id);
281
270
  break;
282
271
  }
@@ -331,7 +320,7 @@ class StoreWithCache extends typeorm_store_1.Store {
331
320
  continue;
332
321
  (0, assert_1.default)(relation.isNullable);
333
322
  const invUpdateType = this.updates.get(inverseMetadata, inverseEntity.id);
334
- if (invUpdateType === updateMap_1.UpdateType.Insert) {
323
+ if (invUpdateType === changeMap_1.ChangeType.Insert) {
335
324
  if (extraUpsert == null) {
336
325
  extraUpsert = metadata.create();
337
326
  extraUpsert.id = entity.id;
@@ -342,14 +331,9 @@ class StoreWithCache extends typeorm_store_1.Store {
342
331
  }
343
332
  return extraUpsert;
344
333
  }
345
- getCommitOrder() {
346
- const em = this.em();
347
- return (0, relationGraph_1.getCommitOrder)(em.connection.entityMetadatas);
348
- }
349
334
  getCommitOrderIndex(metadata) {
350
335
  if (this.commitOrderIndexes == null) {
351
- const order = this.getCommitOrder();
352
- this.commitOrderIndexes = new Map(order.map((m, i) => [m, i]));
336
+ this.commitOrderIndexes = new Map(this.commitOrder.map((m, i) => [m, i]));
353
337
  }
354
338
  const index = this.commitOrderIndexes.get(metadata);
355
339
  (0, assert_1.default)(index != null);
@@ -468,12 +452,6 @@ class StoreWithCache extends typeorm_store_1.Store {
468
452
  }
469
453
  }
470
454
  exports.StoreWithCache = StoreWithCache;
471
- __decorate([
472
- util_internal_1.def,
473
- __metadata("design:type", Function),
474
- __metadata("design:paramtypes", []),
475
- __metadata("design:returntype", void 0)
476
- ], StoreWithCache.prototype, "getCommitOrder", null);
477
455
  class DeferredEntity {
478
456
  constructor(opts) {
479
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cacheMap.d.ts","sourceRoot":"","sources":["../../src/utils/cacheMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AAErD,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAEvC,qBAAa,YAAY,CAAC,CAAC,SAAS,aAAa;IAC7C,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;;CAKlB;AAED,qBAAa,QAAQ;IAIL,OAAO,CAAC,IAAI;IAHxB,OAAO,CAAC,GAAG,CAAiE;IAC5E,OAAO,CAAC,MAAM,CAAQ;gBAEF,IAAI,EAAE;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAI1C,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAM1C,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAKjE,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAS3C,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAM3C,KAAK;IAUL,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO;IAIjF,OAAO,CAAC,WAAW;IA8CnB,OAAO,CAAC,cAAc;CASzB"}
1
+ {"version":3,"file":"cacheMap.d.ts","sourceRoot":"","sources":["../../src/utils/cacheMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AAErD,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAEvC,qBAAa,YAAY,CAAC,CAAC,SAAS,aAAa;IAC7C,KAAK,EAAE,CAAC,GAAG,IAAI,CAAA;;CAKlB;AAED,qBAAa,QAAQ;IAIL,OAAO,CAAC,IAAI;IAHxB,OAAO,CAAC,GAAG,CAAiE;IAC5E,OAAO,CAAC,MAAM,CAAQ;gBAEF,IAAI,EAAE;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAI1C,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAM1C,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAKjE,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAS3C,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAM3C,KAAK;IAKL,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO;IAIjF,OAAO,CAAC,WAAW;IA8CnB,OAAO,CAAC,cAAc;CASzB"}
@@ -36,12 +36,7 @@ class CacheMap {
36
36
  this.logger.debug(`deleted entity ${metadata.name} ${id}`);
37
37
  }
38
38
  clear() {
39
- for (const [metadata, item] of this.map) {
40
- if (item.size > 0) {
41
- item.clear();
42
- this.logger.debug(`cleared cache for ${metadata.name} (${item.size})`);
43
- }
44
- }
39
+ this.logger.debug(`cleared`);
45
40
  this.map.clear();
46
41
  }
47
42
  add(metadata, entity, isNew) {
@@ -1 +1 @@
1
- {"version":3,"file":"cacheMap.js","sourceRoot":"","sources":["../../src/utils/cacheMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cacheMap.js","sourceRoot":"","sources":["../../src/utils/cacheMap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Logger } from '@subsquid/logger';
2
+ import { EntityMetadata } from 'typeorm';
3
+ export declare enum ChangeType {
4
+ Insert = "Insert",
5
+ Upsert = "Upsert",
6
+ Remove = "Remove"
7
+ }
8
+ export interface Change {
9
+ id: string;
10
+ type: ChangeType;
11
+ }
12
+ export declare class ChangeMap {
13
+ private opts;
14
+ private map;
15
+ private logger;
16
+ constructor(opts: {
17
+ logger: Logger;
18
+ });
19
+ get(metadata: EntityMetadata, id: string): ChangeType | undefined;
20
+ set(metadata: EntityMetadata, id: string, type: ChangeType): this;
21
+ insert(metadata: EntityMetadata, id: string): void;
22
+ upsert(metadata: EntityMetadata, id: string): void;
23
+ remove(metadata: EntityMetadata, id: string): void;
24
+ getUpdates(metadata: EntityMetadata): Map<string, ChangeType>;
25
+ clear(): void;
26
+ }
27
+ //# sourceMappingURL=changeMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changeMap.d.ts","sourceRoot":"","sources":["../../src/utils/changeMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAEtC,oBAAY,UAAU;IAClB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;CACpB;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;CACnB;AAED,qBAAa,SAAS;IAIN,OAAO,CAAC,IAAI;IAHxB,OAAO,CAAC,GAAG,CAA0D;IACrE,OAAO,CAAC,MAAM,CAAQ;gBAEF,IAAI,EAAE;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAI1C,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAIxC,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAM1D,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAkB3C,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAe3C,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAc3C,UAAU,CAAC,QAAQ,EAAE,cAAc;IAUnC,KAAK;CAIR"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChangeMap = exports.ChangeType = void 0;
4
+ var ChangeType;
5
+ (function (ChangeType) {
6
+ ChangeType["Insert"] = "Insert";
7
+ ChangeType["Upsert"] = "Upsert";
8
+ ChangeType["Remove"] = "Remove";
9
+ })(ChangeType || (exports.ChangeType = ChangeType = {}));
10
+ class ChangeMap {
11
+ constructor(opts) {
12
+ this.opts = opts;
13
+ this.map = new Map();
14
+ this.logger = this.opts.logger.child('changes');
15
+ }
16
+ get(metadata, id) {
17
+ return this.getUpdates(metadata).get(id);
18
+ }
19
+ set(metadata, id, type) {
20
+ this.getUpdates(metadata).set(id, type);
21
+ this.logger.debug(`entity ${metadata.name} ${id} marked as ${type}`);
22
+ return this;
23
+ }
24
+ insert(metadata, id) {
25
+ const prevType = this.get(metadata, id);
26
+ switch (prevType) {
27
+ case undefined:
28
+ this.set(metadata, id, ChangeType.Insert);
29
+ this.logger.debug(`entity ${metadata.name} ${id} already marked as ${ChangeType.Insert}`);
30
+ break;
31
+ case ChangeType.Remove:
32
+ this.set(metadata, id, ChangeType.Upsert);
33
+ break;
34
+ case ChangeType.Insert:
35
+ case ChangeType.Upsert:
36
+ throw new Error(`${metadata.name} ${id} is already marked as ${ChangeType.Insert} or ${ChangeType.Upsert}`);
37
+ }
38
+ }
39
+ upsert(metadata, id) {
40
+ const prevType = this.get(metadata, id);
41
+ switch (prevType) {
42
+ case ChangeType.Insert:
43
+ this.logger.debug(`entity ${metadata.name} ${id} already marked as ${ChangeType.Insert}`);
44
+ break;
45
+ case ChangeType.Upsert:
46
+ this.logger.debug(`entity ${metadata.name} ${id} already marked as ${ChangeType.Upsert}`);
47
+ break;
48
+ default:
49
+ this.set(metadata, id, ChangeType.Upsert);
50
+ break;
51
+ }
52
+ }
53
+ remove(metadata, id) {
54
+ const prevType = this.get(metadata, id);
55
+ switch (prevType) {
56
+ case ChangeType.Insert:
57
+ this.getUpdates(metadata).delete(id);
58
+ break;
59
+ case ChangeType.Remove:
60
+ this.logger.debug(`entity ${metadata.name} ${id} already marked as ${ChangeType.Remove}`);
61
+ break;
62
+ default:
63
+ this.set(metadata, id, ChangeType.Remove);
64
+ }
65
+ }
66
+ getUpdates(metadata) {
67
+ let map = this.map.get(metadata);
68
+ if (map == null) {
69
+ map = new Map();
70
+ this.map.set(metadata, map);
71
+ }
72
+ return map;
73
+ }
74
+ clear() {
75
+ this.logger.debug(`cleared`);
76
+ this.map.clear();
77
+ }
78
+ }
79
+ exports.ChangeMap = ChangeMap;
80
+ //# sourceMappingURL=changeMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changeMap.js","sourceRoot":"","sources":["../../src/utils/changeMap.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,16 @@
1
1
  import { EntityMetadata, FindOptionsRelations, ObjectLiteral } from 'typeorm';
2
+ import { Logger } from '@subsquid/logger';
2
3
  export type DeferData = {
3
4
  ids: Set<string>;
4
5
  relations: FindOptionsRelations<any>;
5
6
  };
6
7
  export declare class DeferList {
8
+ private opts;
7
9
  private deferMap;
8
- constructor();
10
+ private logger;
11
+ constructor(opts: {
12
+ logger: Logger;
13
+ });
9
14
  add<E extends ObjectLiteral>(metadata: EntityMetadata, id: string, relations?: FindOptionsRelations<E>): void;
10
15
  getData(metadata: EntityMetadata): DeferData;
11
16
  values(): [EntityMetadata, DeferData][];
@@ -1 +1 @@
1
- {"version":3,"file":"deferList.d.ts","sourceRoot":"","sources":["../../src/utils/deferList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AAG3E,MAAM,MAAM,SAAS,GAAG;IACpB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChB,SAAS,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAA;CACvC,CAAA;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,QAAQ,CAA4C;;IAI5D,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAStG,OAAO,CAAC,QAAQ,EAAE,cAAc;IAUhC,MAAM;IAIN,KAAK;CAGR"}
1
+ {"version":3,"file":"deferList.d.ts","sourceRoot":"","sources":["../../src/utils/deferList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAC,MAAM,SAAS,CAAA;AAE3E,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAEvC,MAAM,MAAM,SAAS,GAAG;IACpB,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAChB,SAAS,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAA;CACvC,CAAA;AAED,qBAAa,SAAS;IAIN,OAAO,CAAC,IAAI;IAHxB,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,MAAM,CAAQ;gBAEF,IAAI,EAAE;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC;IAI1C,GAAG,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAWtG,OAAO,CAAC,QAAQ,EAAE,cAAc;IAUhC,MAAM;IAIN,KAAK;CAIR"}
@@ -3,12 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeferList = void 0;
4
4
  const misc_1 = require("./misc");
5
5
  class DeferList {
6
- constructor() {
6
+ constructor(opts) {
7
+ this.opts = opts;
7
8
  this.deferMap = new Map();
9
+ this.logger = this.opts.logger.child('defer');
8
10
  }
9
11
  add(metadata, id, relations) {
10
12
  const data = this.getData(metadata);
11
13
  data.ids.add(id);
14
+ this.logger.debug(`entity ${metadata.name} ${id} deferred`);
12
15
  if (relations != null) {
13
16
  data.relations = (0, misc_1.mergeRelataions)(data.relations, relations);
14
17
  }
@@ -25,6 +28,7 @@ class DeferList {
25
28
  return [...this.deferMap.entries()];
26
29
  }
27
30
  clear() {
31
+ this.logger.debug(`cleared`);
28
32
  this.deferMap.clear();
29
33
  }
30
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deferList.js","sourceRoot":"","sources":["../../src/utils/deferList.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAOtC,MAAa,SAAS;IAGlB;QAFQ,aAAQ,GAAmC,IAAI,GAAG,EAAE,CAAA;IAE7C,CAAC;IAEhB,GAAG,CAA0B,QAAwB,EAAE,EAAU,EAAE,SAAmC;QAClG,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEhB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAA,sBAAe,EAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC/D,CAAC;IACL,CAAC;IAED,OAAO,CAAC,QAAwB;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACf,IAAI,GAAG,EAAC,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAC,CAAA;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;CACJ;AA/BD,8BA+BC"}
1
+ {"version":3,"file":"deferList.js","sourceRoot":"","sources":["../../src/utils/deferList.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAQtC,MAAa,SAAS;IAIlB,YAAoB,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;QAHlC,aAAQ,GAAmC,IAAI,GAAG,EAAE,CAAA;QAIxD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,GAAG,CAA0B,QAAwB,EAAE,EAAU,EAAE,SAAmC;QAClG,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACnC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEhB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,IAAI,IAAI,EAAE,WAAW,CAAC,CAAA;QAE3D,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,IAAA,sBAAe,EAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAC/D,CAAC;IACL,CAAC;IAED,OAAO,CAAC,QAAwB;QAC5B,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACf,IAAI,GAAG,EAAC,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAC,CAAA;YACtC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;IACvC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;CACJ;AArCD,8BAqCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@belopash/typeorm-store",
3
- "version": "1.4.1",
3
+ "version": "1.4.2",
4
4
  "description": "Optimized TypeORM based storage for squid mappings",
5
5
  "repository": {
6
6
  "url": "https://github.com/belopash/squid-typeorm-store"
package/src/database.ts CHANGED
@@ -2,8 +2,10 @@ import {IsolationLevel, TypeormDatabase, TypeormDatabaseOptions} from '@subsquid
2
2
  import {ChangeTracker} from '@subsquid/typeorm-store/lib/hot'
3
3
  import {FinalTxInfo, HotTxInfo, HashAndHeight} from '@subsquid/typeorm-store/lib/interfaces'
4
4
  import assert from 'assert'
5
- import {EntityManager} from 'typeorm'
5
+ import {EntityManager, EntityMetadata} from 'typeorm'
6
6
  import {StoreWithCache} from './store'
7
+ import {def} from '@subsquid/util-internal'
8
+ import {getCommitOrder} from './utils/relationGraph'
7
9
 
8
10
  export {IsolationLevel, TypeormDatabaseOptions}
9
11
 
@@ -20,21 +22,30 @@ export class TypeormDatabaseWithCache extends TypeormDatabase {
20
22
  }
21
23
 
22
24
  // @ts-ignore
23
- transactHot2(info: HotTxInfo, cb: (store: StoreWithCache, sliceBeg: number, sliceEnd: number) => Promise<void>): Promise<void> {
25
+ transactHot2(
26
+ info: HotTxInfo,
27
+ cb: (store: StoreWithCache, sliceBeg: number, sliceEnd: number) => Promise<void>
28
+ ): Promise<void> {
24
29
  return super.transactHot2(info, cb as any)
25
30
  }
26
31
 
27
32
  private async performUpdates(
28
33
  cb: (store: StoreWithCache) => Promise<void>,
29
34
  em: EntityManager,
30
- changeTracker?: ChangeTracker
35
+ changes?: ChangeTracker
31
36
  ): Promise<void> {
32
37
  let running = true
33
38
 
34
- let store = new StoreWithCache(() => {
35
- assert(running, `too late to perform db updates, make sure you haven't forgot to await on db query`)
36
- return em
37
- }, changeTracker)
39
+ let store = new StoreWithCache(
40
+ () => {
41
+ assert(running, `too late to perform db updates, make sure you haven't forgot to await on db query`)
42
+ return em
43
+ },
44
+ {
45
+ changeTracker: changes,
46
+ commitOrder: this.getCommitOrder(),
47
+ }
48
+ )
38
49
 
39
50
  try {
40
51
  await cb(store)
@@ -43,4 +54,9 @@ export class TypeormDatabaseWithCache extends TypeormDatabase {
43
54
  running = false
44
55
  }
45
56
  }
57
+
58
+ @def
59
+ private getCommitOrder() {
60
+ return getCommitOrder(this['con'].entityMetadatas)
61
+ }
46
62
  }
package/src/store.ts CHANGED
@@ -17,7 +17,7 @@ import {ColumnMetadata} from 'typeorm/metadata/ColumnMetadata'
17
17
  import {CachedEntity, CacheMap} from './utils/cacheMap'
18
18
  import {DeferList} from './utils/deferList'
19
19
  import {getCommitOrder} from './utils/relationGraph'
20
- import {UpdateMap, UpdateType} from './utils/updateMap'
20
+ import {ChangeMap, ChangeType} from './utils/changeMap'
21
21
  import {copy, splitIntoBatches} from './utils/misc'
22
22
 
23
23
  export {Entity, EntityClass, FindManyOptions, FindOneOptions}
@@ -41,7 +41,8 @@ export interface GetOptions<Entity = any> {
41
41
 
42
42
  // @ts-ignore
43
43
  export class StoreWithCache extends Store {
44
- private updates: UpdateMap
44
+ private commitOrder: EntityMetadata[]
45
+ private updates: ChangeMap
45
46
  private defers: DeferList
46
47
  private cache: CacheMap
47
48
  private logger: Logger
@@ -49,12 +50,13 @@ export class StoreWithCache extends Store {
49
50
  private currentCommit = new Mutex()
50
51
  private currentLoad = new Mutex()
51
52
 
52
- constructor(private em: () => EntityManager, changes?: ChangeTracker) {
53
- super(em, changes)
53
+ constructor(private em: () => EntityManager, opts: {changeTracker?: ChangeTracker; commitOrder: EntityMetadata[]}) {
54
+ super(em, opts.changeTracker)
55
+ this.commitOrder = opts.commitOrder
54
56
  this.logger = createLogger('sqd:store')
55
57
  this.cache = new CacheMap({logger: this.logger})
56
- this.updates = new UpdateMap()
57
- this.defers = new DeferList()
58
+ this.updates = new ChangeMap({logger: this.logger})
59
+ this.defers = new DeferList({logger: this.logger})
58
60
  }
59
61
 
60
62
  async insert<E extends EntityType>(entity: E): Promise<void>
@@ -84,7 +86,7 @@ export class StoreWithCache extends Store {
84
86
  for (const entity of entities) {
85
87
  const md = this.getEntityMetadata(entity.constructor)
86
88
 
87
- const isNew = this.updates.get(md, entity.id) === UpdateType.Remove
89
+ const isNew = this.updates.get(md, entity.id) === ChangeType.Remove
88
90
 
89
91
  this.updates.upsert(md, entity.id)
90
92
  this.cache.add(md, entity, isNew)
@@ -356,10 +358,8 @@ export class StoreWithCache extends Store {
356
358
  }
357
359
 
358
360
  private computeChangeSets() {
359
- const entityOrder = this.getCommitOrder()
360
-
361
361
  const changeSets: ChangeSet<any>[] = []
362
- for (const metadata of entityOrder) {
362
+ for (const metadata of this.commitOrder) {
363
363
  const changeSet = this.getChangeSet(metadata.target)
364
364
  changeSets.push(changeSet)
365
365
  }
@@ -382,7 +382,7 @@ export class StoreWithCache extends Store {
382
382
  const cached = this.cache.get(metadata, id) as CachedEntity<E>
383
383
 
384
384
  switch (type) {
385
- case UpdateType.Insert: {
385
+ case ChangeType.Insert: {
386
386
  assert(cached?.value != null, `unable to insert entity ${metadata.name} ${id}`)
387
387
 
388
388
  inserts.push(cached.value)
@@ -394,7 +394,7 @@ export class StoreWithCache extends Store {
394
394
 
395
395
  break
396
396
  }
397
- case UpdateType.Upsert: {
397
+ case ChangeType.Upsert: {
398
398
  assert(cached?.value != null, `unable to upsert entity ${metadata.name} ${id}`)
399
399
 
400
400
  upserts.push(cached.value)
@@ -406,7 +406,7 @@ export class StoreWithCache extends Store {
406
406
 
407
407
  break
408
408
  }
409
- case UpdateType.Remove: {
409
+ case ChangeType.Remove: {
410
410
  removes.push(id)
411
411
  break
412
412
  }
@@ -473,7 +473,7 @@ export class StoreWithCache extends Store {
473
473
  assert(relation.isNullable)
474
474
 
475
475
  const invUpdateType = this.updates.get(inverseMetadata, inverseEntity.id)
476
- if (invUpdateType === UpdateType.Insert) {
476
+ if (invUpdateType === ChangeType.Insert) {
477
477
  if (extraUpsert == null) {
478
478
  extraUpsert = metadata.create() as E
479
479
  extraUpsert.id = entity.id
@@ -487,17 +487,10 @@ export class StoreWithCache extends Store {
487
487
  return extraUpsert
488
488
  }
489
489
 
490
- @def
491
- private getCommitOrder() {
492
- const em = this.em()
493
- return getCommitOrder(em.connection.entityMetadatas)
494
- }
495
-
496
490
  private commitOrderIndexes: Map<EntityMetadata, number> | undefined
497
491
  private getCommitOrderIndex(metadata: EntityMetadata) {
498
492
  if (this.commitOrderIndexes == null) {
499
- const order = this.getCommitOrder()
500
- this.commitOrderIndexes = new Map(order.map((m, i) => [m, i]))
493
+ this.commitOrderIndexes = new Map(this.commitOrder.map((m, i) => [m, i]))
501
494
  }
502
495
 
503
496
  const index = this.commitOrderIndexes.get(metadata)
@@ -45,12 +45,7 @@ export class CacheMap {
45
45
  }
46
46
 
47
47
  clear() {
48
- for (const [metadata, item] of this.map) {
49
- if (item.size > 0) {
50
- item.clear()
51
- this.logger.debug(`cleared cache for ${metadata.name} (${item.size})`)
52
- }
53
- }
48
+ this.logger.debug(`cleared`)
54
49
  this.map.clear()
55
50
  }
56
51
 
@@ -0,0 +1,94 @@
1
+ import {Logger} from '@subsquid/logger'
2
+ import {EntityMetadata} from 'typeorm'
3
+
4
+ export enum ChangeType {
5
+ Insert = 'Insert',
6
+ Upsert = 'Upsert',
7
+ Remove = 'Remove',
8
+ }
9
+
10
+ export interface Change {
11
+ id: string
12
+ type: ChangeType
13
+ }
14
+
15
+ export class ChangeMap {
16
+ private map: Map<EntityMetadata, Map<string, ChangeType>> = new Map()
17
+ private logger: Logger
18
+
19
+ constructor(private opts: {logger: Logger}) {
20
+ this.logger = this.opts.logger.child('changes')
21
+ }
22
+
23
+ get(metadata: EntityMetadata, id: string) {
24
+ return this.getUpdates(metadata).get(id)
25
+ }
26
+
27
+ set(metadata: EntityMetadata, id: string, type: ChangeType) {
28
+ this.getUpdates(metadata).set(id, type)
29
+ this.logger.debug(`entity ${metadata.name} ${id} marked as ${type}`)
30
+ return this
31
+ }
32
+
33
+ insert(metadata: EntityMetadata, id: string) {
34
+ const prevType = this.get(metadata, id)
35
+ switch (prevType) {
36
+ case undefined:
37
+ this.set(metadata, id, ChangeType.Insert)
38
+ this.logger.debug(`entity ${metadata.name} ${id} already marked as ${ChangeType.Insert}`)
39
+ break
40
+ case ChangeType.Remove:
41
+ this.set(metadata, id, ChangeType.Upsert)
42
+ break
43
+ case ChangeType.Insert:
44
+ case ChangeType.Upsert:
45
+ throw new Error(
46
+ `${metadata.name} ${id} is already marked as ${ChangeType.Insert} or ${ChangeType.Upsert}`
47
+ )
48
+ }
49
+ }
50
+
51
+ upsert(metadata: EntityMetadata, id: string) {
52
+ const prevType = this.get(metadata, id)
53
+ switch (prevType) {
54
+ case ChangeType.Insert:
55
+ this.logger.debug(`entity ${metadata.name} ${id} already marked as ${ChangeType.Insert}`)
56
+ break
57
+ case ChangeType.Upsert:
58
+ this.logger.debug(`entity ${metadata.name} ${id} already marked as ${ChangeType.Upsert}`)
59
+ break
60
+ default:
61
+ this.set(metadata, id, ChangeType.Upsert)
62
+ break
63
+ }
64
+ }
65
+
66
+ remove(metadata: EntityMetadata, id: string) {
67
+ const prevType = this.get(metadata, id)
68
+ switch (prevType) {
69
+ case ChangeType.Insert:
70
+ this.getUpdates(metadata).delete(id)
71
+ break
72
+ case ChangeType.Remove:
73
+ this.logger.debug(`entity ${metadata.name} ${id} already marked as ${ChangeType.Remove}`)
74
+ break
75
+ default:
76
+ this.set(metadata, id, ChangeType.Remove)
77
+ }
78
+ }
79
+
80
+ getUpdates(metadata: EntityMetadata) {
81
+ let map = this.map.get(metadata)
82
+ if (map == null) {
83
+ map = new Map()
84
+ this.map.set(metadata, map)
85
+ }
86
+
87
+ return map
88
+ }
89
+
90
+ clear() {
91
+ this.logger.debug(`cleared`)
92
+ this.map.clear()
93
+ }
94
+ }
@@ -1,5 +1,6 @@
1
1
  import {EntityMetadata, FindOptionsRelations, ObjectLiteral} from 'typeorm'
2
2
  import {mergeRelataions} from './misc'
3
+ import {Logger} from '@subsquid/logger'
3
4
 
4
5
  export type DeferData = {
5
6
  ids: Set<string>
@@ -8,13 +9,18 @@ export type DeferData = {
8
9
 
9
10
  export class DeferList {
10
11
  private deferMap: Map<EntityMetadata, DeferData> = new Map()
12
+ private logger: Logger
11
13
 
12
- constructor() {}
14
+ constructor(private opts: {logger: Logger}) {
15
+ this.logger = this.opts.logger.child('defer')
16
+ }
13
17
 
14
18
  add<E extends ObjectLiteral>(metadata: EntityMetadata, id: string, relations?: FindOptionsRelations<E>) {
15
19
  const data = this.getData(metadata)
16
20
  data.ids.add(id)
17
21
 
22
+ this.logger.debug(`entity ${metadata.name} ${id} deferred`)
23
+
18
24
  if (relations != null) {
19
25
  data.relations = mergeRelataions(data.relations, relations)
20
26
  }
@@ -35,6 +41,7 @@ export class DeferList {
35
41
  }
36
42
 
37
43
  clear() {
44
+ this.logger.debug(`cleared`)
38
45
  this.deferMap.clear()
39
46
  }
40
47
  }
@@ -1,22 +0,0 @@
1
- import { EntityMetadata } from 'typeorm';
2
- export declare enum UpdateType {
3
- Insert = 0,
4
- Upsert = 1,
5
- Remove = 2
6
- }
7
- export interface Update {
8
- id: string;
9
- type: UpdateType;
10
- }
11
- export declare class UpdateMap {
12
- private map;
13
- constructor();
14
- get(metadata: EntityMetadata, id: string): UpdateType | undefined;
15
- set(metadata: EntityMetadata, id: string, type: UpdateType): this;
16
- insert(metadata: EntityMetadata, id: string): void;
17
- upsert(metadata: EntityMetadata, id: string): void;
18
- remove(metadata: EntityMetadata, id: string): void;
19
- getUpdates(metadata: EntityMetadata): Map<string, UpdateType>;
20
- clear(): void;
21
- }
22
- //# sourceMappingURL=updateMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"updateMap.d.ts","sourceRoot":"","sources":["../../src/utils/updateMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAEtC,oBAAY,UAAU;IAClB,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;CACT;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,UAAU,CAAA;CACnB;AAED,qBAAa,SAAS;IAClB,OAAO,CAAC,GAAG,CAA0D;;IAIrE,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAIxC,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU;IAK1D,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAe3C,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAW3C,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM;IAW3C,UAAU,CAAC,QAAQ,EAAE,cAAc;IAUnC,KAAK;CAGR"}
@@ -1,68 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateMap = exports.UpdateType = void 0;
4
- var UpdateType;
5
- (function (UpdateType) {
6
- UpdateType[UpdateType["Insert"] = 0] = "Insert";
7
- UpdateType[UpdateType["Upsert"] = 1] = "Upsert";
8
- UpdateType[UpdateType["Remove"] = 2] = "Remove";
9
- })(UpdateType || (exports.UpdateType = UpdateType = {}));
10
- class UpdateMap {
11
- constructor() {
12
- this.map = new Map();
13
- }
14
- get(metadata, id) {
15
- return this.getUpdates(metadata).get(id);
16
- }
17
- set(metadata, id, type) {
18
- this.getUpdates(metadata).set(id, type);
19
- return this;
20
- }
21
- insert(metadata, id) {
22
- const prevType = this.get(metadata, id);
23
- switch (prevType) {
24
- case undefined:
25
- this.set(metadata, id, UpdateType.Insert);
26
- break;
27
- case UpdateType.Remove:
28
- this.set(metadata, id, UpdateType.Upsert);
29
- break;
30
- case UpdateType.Insert:
31
- case UpdateType.Insert:
32
- throw new Error(`ID ${id} is already marked as insert or upsert`);
33
- }
34
- }
35
- upsert(metadata, id) {
36
- const prevType = this.get(metadata, id);
37
- switch (prevType) {
38
- case UpdateType.Insert:
39
- break;
40
- default:
41
- this.set(metadata, id, UpdateType.Upsert);
42
- break;
43
- }
44
- }
45
- remove(metadata, id) {
46
- const prevType = this.get(metadata, id);
47
- switch (prevType) {
48
- case UpdateType.Insert:
49
- this.getUpdates(metadata).delete(id);
50
- break;
51
- default:
52
- this.set(metadata, id, UpdateType.Remove);
53
- }
54
- }
55
- getUpdates(metadata) {
56
- let map = this.map.get(metadata);
57
- if (map == null) {
58
- map = new Map();
59
- this.map.set(metadata, map);
60
- }
61
- return map;
62
- }
63
- clear() {
64
- this.map.clear();
65
- }
66
- }
67
- exports.UpdateMap = UpdateMap;
68
- //# sourceMappingURL=updateMap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"updateMap.js","sourceRoot":"","sources":["../../src/utils/updateMap.ts"],"names":[],"mappings":";;;AAEA,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,+CAAM,CAAA;IACN,+CAAM,CAAA;IACN,+CAAM,CAAA;AACV,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAOD,MAAa,SAAS;IAGlB;QAFQ,QAAG,GAAiD,IAAI,GAAG,EAAE,CAAA;IAEtD,CAAC;IAEhB,GAAG,CAAC,QAAwB,EAAE,EAAU;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED,GAAG,CAAC,QAAwB,EAAE,EAAU,EAAE,IAAgB;QACtD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACvC,OAAO,IAAI,CAAA;IACf,CAAC;IAED,MAAM,CAAC,QAAwB,EAAE,EAAU;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACvC,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,SAAS;gBACV,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;gBACzC,MAAK;YACT,KAAK,UAAU,CAAC,MAAM;gBAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;gBACzC,MAAK;YACT,KAAK,UAAU,CAAC,MAAM,CAAC;YACvB,KAAK,UAAU,CAAC,MAAM;gBAClB,MAAM,IAAI,KAAK,CAAC,MAAM,EAAE,wCAAwC,CAAC,CAAA;QACzE,CAAC;IACL,CAAC;IAED,MAAM,CAAC,QAAwB,EAAE,EAAU;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACvC,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,UAAU,CAAC,MAAM;gBAClB,MAAK;YACT;gBACI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;gBACzC,MAAK;QACb,CAAC;IACL,CAAC;IAED,MAAM,CAAC,QAAwB,EAAE,EAAU;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QACvC,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,UAAU,CAAC,MAAM;gBAClB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBACpC,MAAK;YACT;gBACI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;QACjD,CAAC;IACL,CAAC;IAED,UAAU,CAAC,QAAwB;QAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAChC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACd,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;YACf,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QAC/B,CAAC;QAED,OAAO,GAAG,CAAA;IACd,CAAC;IAED,KAAK;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IACpB,CAAC;CACJ;AAhED,8BAgEC"}
@@ -1,78 +0,0 @@
1
- import {EntityMetadata} from 'typeorm'
2
-
3
- export enum UpdateType {
4
- Insert,
5
- Upsert,
6
- Remove,
7
- }
8
-
9
- export interface Update {
10
- id: string
11
- type: UpdateType
12
- }
13
-
14
- export class UpdateMap {
15
- private map: Map<EntityMetadata, Map<string, UpdateType>> = new Map()
16
-
17
- constructor() {}
18
-
19
- get(metadata: EntityMetadata, id: string) {
20
- return this.getUpdates(metadata).get(id)
21
- }
22
-
23
- set(metadata: EntityMetadata, id: string, type: UpdateType) {
24
- this.getUpdates(metadata).set(id, type)
25
- return this
26
- }
27
-
28
- insert(metadata: EntityMetadata, id: string) {
29
- const prevType = this.get(metadata, id)
30
- switch (prevType) {
31
- case undefined:
32
- this.set(metadata, id, UpdateType.Insert)
33
- break
34
- case UpdateType.Remove:
35
- this.set(metadata, id, UpdateType.Upsert)
36
- break
37
- case UpdateType.Insert:
38
- case UpdateType.Insert:
39
- throw new Error(`ID ${id} is already marked as insert or upsert`)
40
- }
41
- }
42
-
43
- upsert(metadata: EntityMetadata, id: string) {
44
- const prevType = this.get(metadata, id)
45
- switch (prevType) {
46
- case UpdateType.Insert:
47
- break
48
- default:
49
- this.set(metadata, id, UpdateType.Upsert)
50
- break
51
- }
52
- }
53
-
54
- remove(metadata: EntityMetadata, id: string) {
55
- const prevType = this.get(metadata, id)
56
- switch (prevType) {
57
- case UpdateType.Insert:
58
- this.getUpdates(metadata).delete(id)
59
- break
60
- default:
61
- this.set(metadata, id, UpdateType.Remove)
62
- }
63
- }
64
-
65
- getUpdates(metadata: EntityMetadata) {
66
- let map = this.map.get(metadata)
67
- if (map == null) {
68
- map = new Map()
69
- this.map.set(metadata, map)
70
- }
71
-
72
- return map
73
- }
74
-
75
- clear() {
76
- this.map.clear()
77
- }
78
- }