@subsquid/openreader 5.4.0 → 5.5.1

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 (46) hide show
  1. package/lib/db.d.ts +3 -1
  2. package/lib/db.d.ts.map +1 -1
  3. package/lib/db.js +3 -2
  4. package/lib/db.js.map +1 -1
  5. package/lib/main.js +3 -1
  6. package/lib/main.js.map +1 -1
  7. package/lib/server.d.ts +2 -1
  8. package/lib/server.d.ts.map +1 -1
  9. package/lib/server.js +2 -1
  10. package/lib/server.js.map +1 -1
  11. package/lib/test/disableForeignKeyConstraint.test.js +9 -13
  12. package/lib/test/disableForeignKeyConstraint.test.js.map +1 -1
  13. package/lib/test/fts.test.js +7 -1
  14. package/lib/test/fts.test.js.map +1 -1
  15. package/lib/test/limits.test.js +10 -14
  16. package/lib/test/limits.test.js.map +1 -1
  17. package/lib/test/queryable.test.js +1 -5
  18. package/lib/test/queryable.test.js.map +1 -1
  19. package/lib/test/setup.d.ts.map +1 -1
  20. package/lib/test/setup.js +4 -4
  21. package/lib/test/setup.js.map +1 -1
  22. package/lib/test/subscription.test.js +5 -9
  23. package/lib/test/subscription.test.js.map +1 -1
  24. package/lib/test/tools.test.js +2 -6
  25. package/lib/test/tools.test.js.map +1 -1
  26. package/lib/test/util.test.d.ts +2 -0
  27. package/lib/test/util.test.d.ts.map +1 -0
  28. package/lib/test/util.test.js +31 -0
  29. package/lib/test/util.test.js.map +1 -0
  30. package/lib/util/util.d.ts +19 -0
  31. package/lib/util/util.d.ts.map +1 -1
  32. package/lib/util/util.js +26 -1
  33. package/lib/util/util.js.map +1 -1
  34. package/package.json +7 -9
  35. package/src/db.ts +4 -1
  36. package/src/main.ts +4 -1
  37. package/src/server.ts +5 -1
  38. package/src/test/disableForeignKeyConstraint.test.ts +0 -1
  39. package/src/test/fts.test.ts +7 -1
  40. package/src/test/limits.test.ts +0 -1
  41. package/src/test/queryable.test.ts +0 -1
  42. package/src/test/setup.ts +5 -4
  43. package/src/test/subscription.test.ts +0 -1
  44. package/src/test/tools.test.ts +0 -1
  45. package/src/test/util.test.ts +34 -0
  46. package/src/util/util.ts +29 -1
package/lib/db.d.ts CHANGED
@@ -3,15 +3,17 @@ import type { Pool } from 'pg';
3
3
  import { OpenreaderContext } from './context';
4
4
  import { Query } from './sql/query';
5
5
  export type DbType = 'postgres' | 'cockroach';
6
+ export type TransactionIsolationLevel = 'SERIALIZABLE' | 'REPEATABLE READ' | 'READ COMMITTED';
6
7
  export declare class PoolOpenreaderContext implements OpenreaderContext {
7
8
  readonly dbType: DbType;
8
9
  private subscriptionPollInterval;
10
+ private isolationLevel;
9
11
  id: number;
10
12
  log?: Logger;
11
13
  private tx;
12
14
  private subscriptionPool;
13
15
  private queryCounter;
14
- constructor(dbType: DbType, pool: Pool, subscriptionPool?: Pool, subscriptionPollInterval?: number, log?: Logger);
16
+ constructor(dbType: DbType, pool: Pool, subscriptionPool?: Pool, subscriptionPollInterval?: number, isolationLevel?: TransactionIsolationLevel, log?: Logger);
15
17
  close(): Promise<void>;
16
18
  executeQuery<T>(query: Query<T>): Promise<T>;
17
19
  subscription<T>(query: Query<T>): AsyncIterable<T>;
package/lib/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAE5C,OAAO,KAAK,EAAa,IAAI,EAAC,MAAM,IAAI,CAAA;AAExC,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAQjC,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA;AAG7C,qBAAa,qBAAsB,YAAW,iBAAiB;aAQvC,MAAM,EAAE,MAAM;IAG9B,OAAO,CAAC,wBAAwB;IAV7B,EAAE,SAA8D;IAChE,GAAG,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,YAAY,CAAI;gBAGJ,MAAM,EAAE,MAAM,EAC9B,IAAI,EAAE,IAAI,EACV,gBAAgB,CAAC,EAAE,IAAI,EACf,wBAAwB,GAAE,MAAa,EAC/C,GAAG,CAAC,EAAE,MAAM;IAOhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAMlD,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;YAOpC,QAAQ;YAiBR,KAAK;CA8BtB"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AAE5C,OAAO,KAAK,EAAa,IAAI,EAAC,MAAM,IAAI,CAAA;AAExC,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AAQjC,MAAM,MAAM,MAAM,GAAG,UAAU,GAAG,WAAW,CAAA;AAG7C,MAAM,MAAM,yBAAyB,GAAG,cAAc,GAAG,iBAAiB,GAAG,gBAAgB,CAAA;AAE7F,qBAAa,qBAAsB,YAAW,iBAAiB;aAQvC,MAAM,EAAE,MAAM;IAG9B,OAAO,CAAC,wBAAwB;IAChC,OAAO,CAAC,cAAc;IAXnB,EAAE,SAA8D;IAChE,GAAG,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,CAA2B;IACrC,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,YAAY,CAAI;gBAGJ,MAAM,EAAE,MAAM,EAC9B,IAAI,EAAE,IAAI,EACV,gBAAgB,CAAC,EAAE,IAAI,EACf,wBAAwB,GAAE,MAAa,EACvC,cAAc,GAAE,yBAA0C,EAClE,GAAG,CAAC,EAAE,MAAM;IAOhB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhB,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAMlD,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;YAOpC,QAAQ;YAiBR,KAAK;CA8BtB"}
package/lib/db.js CHANGED
@@ -6,9 +6,10 @@ const subscription_1 = require("./subscription");
6
6
  const lazy_transaction_1 = require("./util/lazy-transaction");
7
7
  let CTX_COUNTER = 0;
8
8
  class PoolOpenreaderContext {
9
- constructor(dbType, pool, subscriptionPool, subscriptionPollInterval = 1000, log) {
9
+ constructor(dbType, pool, subscriptionPool, subscriptionPollInterval = 1000, isolationLevel = 'SERIALIZABLE', log) {
10
10
  this.dbType = dbType;
11
11
  this.subscriptionPollInterval = subscriptionPollInterval;
12
+ this.isolationLevel = isolationLevel;
12
13
  this.id = (CTX_COUNTER = (CTX_COUNTER + 1) % Number.MAX_SAFE_INTEGER);
13
14
  this.queryCounter = 0;
14
15
  this.log = log?.child({ graphqlCtx: this.id });
@@ -32,7 +33,7 @@ class PoolOpenreaderContext {
32
33
  async transact(pool, cb) {
33
34
  let client = await pool.connect();
34
35
  try {
35
- await this.query(client, 'START TRANSACTION ISOLATION LEVEL SERIALIZABLE READ ONLY');
36
+ await this.query(client, `START TRANSACTION ISOLATION LEVEL ${this.isolationLevel} READ ONLY`);
36
37
  try {
37
38
  return await cb(async (sql, parameters) => {
38
39
  let result = await this.query(client, sql, parameters);
package/lib/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAKvD,iDAA2C;AAC3C,8DAAuD;AAGvD,IAAI,WAAW,GAAG,CAAC,CAAA;AAMnB,MAAa,qBAAqB;IAO9B,YACoB,MAAc,EAC9B,IAAU,EACV,gBAAuB,EACf,2BAAmC,IAAI,EAC/C,GAAY;QAJI,WAAM,GAAN,MAAM,CAAQ;QAGtB,6BAAwB,GAAxB,wBAAwB,CAAe;QAV5C,OAAE,GAAG,CAAC,WAAW,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAI/D,iBAAY,GAAG,CAAC,CAAA;QASpB,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC,CAAA;QAC5C,IAAI,CAAC,EAAE,GAAG,IAAI,kCAAe,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QAC5D,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,IAAI,CAAA;IACpD,CAAC;IAED,KAAK;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY,CAAI,KAAe;QACjC,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAA;QAC5B,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,YAAY,CAAI,KAAe;QAC3B,OAAO,IAAI,2BAAY,CAAC,IAAI,CAAC,wBAAwB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAC,EAAE,EAAC,EAAE;YACzG,IAAI,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAC,CAAA;IACP,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAI,IAAU,EAAE,EAAgC;QAClE,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACjC,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,0DAA0D,CAAC,CAAA;YACpF,IAAI,CAAC;gBACD,OAAO,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE;oBACtC,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAA;oBACtD,OAAO,MAAM,CAAC,IAAI,CAAA;gBACtB,CAAC,CAAC,CAAA;YACN,CAAC;oBAAS,CAAC;gBACP,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;YACtD,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,MAAM,CAAC,OAAO,EAAE,CAAA;QACpB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,MAAkB,EAAE,GAAW,EAAE,UAAkB;QACnE,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAA;QAEnF,IAAI,GAAG,GAAG;YACN,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,eAAe,EAAE,OAAO;SAC3B,CAAA;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAErC,GAAG,EAAE,KAAK,CAAC;YACP,GAAG;YACH,UAAU;SACb,EAAE,WAAW,CAAC,CAAA;QAEf,IAAI,CAAC;YACD,IAAI,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAC,EAAE,UAAU,CAAC,CAAA;YAC1E,GAAG,EAAE,KAAK,CAAC;gBACP,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;gBAC9B,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aAChD,EAAE,YAAY,CAAC,CAAA;YAChB,OAAO,MAAM,CAAA;QACjB,CAAC;QAAC,OAAM,GAAQ,EAAE,CAAC;YACf,MAAM,IAAA,+BAAe,EAAC,GAAG,EAAE;gBACvB,GAAG,GAAG;gBACN,GAAG;gBACH,UAAU;aACb,CAAC,CAAA;QACN,CAAC;IACL,CAAC;CACJ;AAnFD,sDAmFC"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/lib/main.js CHANGED
@@ -26,6 +26,7 @@ GraphQL server for postgres-compatible databases
26
26
  program.option('--subscriptions', 'enable gql subscriptions');
27
27
  program.option('--subscription-poll-interval <ms>', 'subscription poll interval in ms', util_internal_commander_1.nat, 1000);
28
28
  program.option('--subscription-max-response-size <nodes>', 'max response size measured in nodes', util_internal_commander_1.nat);
29
+ program.addOption(new commander_1.Option('--isolation-level <level>', 'transaction isolation level').choices(['SERIALIZABLE', 'REPEATABLE READ', 'READ COMMITTED']));
29
30
  let opts = program.parse().opts();
30
31
  let model = (0, tools_1.loadModel)(opts.schema);
31
32
  let connection = new pg_1.Pool({
@@ -44,7 +45,8 @@ GraphQL server for postgres-compatible databases
44
45
  subscriptions: opts.subscriptions,
45
46
  subscriptionPollInterval: opts.subscriptionPollInterval,
46
47
  subscriptionMaxResponseNodes: opts.subscriptionMaxResponseSize,
47
- validationMaxErrors: opts.validationMaxErrors
48
+ validationMaxErrors: opts.validationMaxErrors,
49
+ isolationLevel: opts.isolationLevel
48
50
  });
49
51
  LOG.info(`listening on port ${server.port}`);
50
52
  return (0, util_internal_http_server_1.waitForInterruption)(server);
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/lib/server.d.ts CHANGED
@@ -5,7 +5,7 @@ import express from 'express';
5
5
  import { GraphQLSchema } from 'graphql';
6
6
  import type { Pool } from 'pg';
7
7
  import { Context } from './context';
8
- import type { DbType } from './db';
8
+ import type { DbType, TransactionIsolationLevel } from './db';
9
9
  import type { Model } from './model';
10
10
  import { Dialect } from './dialect';
11
11
  export interface ServerOptions {
@@ -25,6 +25,7 @@ export interface ServerOptions {
25
25
  subscriptionMaxResponseNodes?: number;
26
26
  validationMaxErrors?: number;
27
27
  cache?: KeyValueCache;
28
+ isolationLevel?: TransactionIsolationLevel;
28
29
  }
29
30
  export declare function serve(options: ServerOptions): Promise<ListeningServer>;
30
31
  export type Dispose = () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAS,eAAe,EAAC,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,8BAA8B,CAAA;AAE5E,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAgB,aAAa,EAAC,MAAM,SAAS,CAAA;AAIpD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAA;AAE5B,OAAO,EAAC,OAAO,EAAoB,MAAM,WAAW,CAAA;AAEpD,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,MAAM,CAAA;AAChC,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAGlC,OAAO,EAAC,OAAO,EAAmB,MAAM,WAAW,CAAA;AAGnD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,IAAI,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,sBAAsB,CAAC,EAAE,IAAI,CAAA;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAsD5E;AAGD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AAGzC,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,OAAO,CAAA;IACtB,MAAM,EAAE,aAAa,CAAA;IACrB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,aAAa,CAAA;CACxB;AAGD,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAmFhF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmB/H;AAGD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAsBnE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAS,eAAe,EAAC,MAAM,qCAAqC,CAAA;AAC3E,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAC,MAAM,8BAA8B,CAAA;AAE5E,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAgB,aAAa,EAAC,MAAM,SAAS,CAAA;AAIpD,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,IAAI,CAAA;AAE5B,OAAO,EAAC,OAAO,EAAoB,MAAM,WAAW,CAAA;AAEpD,OAAO,KAAK,EAAC,MAAM,EAAE,yBAAyB,EAAC,MAAM,MAAM,CAAA;AAC3D,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,SAAS,CAAA;AAGlC,OAAO,EAAC,OAAO,EAAmB,MAAM,WAAW,CAAA;AAGnD,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,KAAK,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,IAAI,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,sBAAsB,CAAC,EAAE,IAAI,CAAA;IAC7B,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,cAAc,CAAC,EAAE,yBAAyB,CAAA;CAC7C;AAED,wBAAsB,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAyD5E;AAGD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AAGzC,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,OAAO,CAAA;IACtB,MAAM,EAAE,aAAa,CAAA;IACrB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,aAAa,CAAA;CACxB;AAGD,wBAAsB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAmFhF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmB/H;AAGD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAsBnE"}
package/lib/server.js CHANGED
@@ -24,8 +24,9 @@ async function serve(options) {
24
24
  let dbType = options.dbType ?? 'postgres';
25
25
  let schemaBuilder = await (0, dialect_1.getSchemaBuilder)(options);
26
26
  let schema = schemaBuilder.build();
27
+ let isolationLevel = options.isolationLevel ?? 'SERIALIZABLE';
27
28
  let context = () => {
28
- let openreader = new db_1.PoolOpenreaderContext(dbType, connection, subscriptionConnection, subscriptionPollInterval, log);
29
+ let openreader = new db_1.PoolOpenreaderContext(dbType, connection, subscriptionConnection, subscriptionPollInterval, isolationLevel, log);
29
30
  if (maxResponseNodes) {
30
31
  openreader.responseSizeLimit = new limit_1.ResponseSizeLimit(maxResponseNodes);
31
32
  openreader.subscriptionResponseSizeLimit = new limit_1.ResponseSizeLimit(maxResponseNodes);
package/lib/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,5 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const expect_1 = __importDefault(require("expect"));
7
3
  const graphql_1 = require("graphql");
8
4
  const model_schema_1 = require("../model.schema");
9
5
  const setup_1 = require("./setup");
@@ -22,11 +18,11 @@ describe('@disableForeignKeyConstraint', function () {
22
18
  from: Account @disableForeignKeyConstraint
23
19
  }
24
20
  `);
25
- (0, expect_1.default)(m.Transfer).toBeDefined();
26
- (0, expect_1.default)(m.Transfer.kind).toBe('entity');
21
+ expect(m.Transfer).toBeDefined();
22
+ expect(m.Transfer.kind).toBe('entity');
27
23
  if (m.Transfer.kind === 'entity') {
28
24
  let fromProp = m.Transfer.properties.from;
29
- (0, expect_1.default)(fromProp.type).toEqual({
25
+ expect(fromProp.type).toEqual({
30
26
  kind: 'fk',
31
27
  entity: 'Account',
32
28
  disableConstraint: true,
@@ -34,7 +30,7 @@ describe('@disableForeignKeyConstraint', function () {
34
30
  }
35
31
  });
36
32
  it('rejects non-nullable FK field', function () {
37
- (0, expect_1.default)(() => model(`
33
+ expect(() => model(`
38
34
  type Account @entity {
39
35
  id: ID!
40
36
  }
@@ -45,7 +41,7 @@ describe('@disableForeignKeyConstraint', function () {
45
41
  `)).toThrow(model_schema_1.SchemaError);
46
42
  });
47
43
  it('rejects directive on scalar field', function () {
48
- (0, expect_1.default)(() => model(`
44
+ expect(() => model(`
49
45
  type Account @entity {
50
46
  id: ID!
51
47
  name: String @disableForeignKeyConstraint
@@ -53,7 +49,7 @@ describe('@disableForeignKeyConstraint', function () {
53
49
  `)).toThrow(model_schema_1.SchemaError);
54
50
  });
55
51
  it('rejects directive on enum field', function () {
56
- (0, expect_1.default)(() => model(`
52
+ expect(() => model(`
57
53
  enum Status { ACTIVE INACTIVE }
58
54
  type Account @entity {
59
55
  id: ID!
@@ -62,7 +58,7 @@ describe('@disableForeignKeyConstraint', function () {
62
58
  `)).toThrow(model_schema_1.SchemaError);
63
59
  });
64
60
  it('rejects directive on list (derivedFrom) field', function () {
65
- (0, expect_1.default)(() => model(`
61
+ expect(() => model(`
66
62
  type Account @entity {
67
63
  id: ID!
68
64
  transfers: [Transfer!] @derivedFrom(field: "from") @disableForeignKeyConstraint
@@ -74,7 +70,7 @@ describe('@disableForeignKeyConstraint', function () {
74
70
  `)).toThrow(model_schema_1.SchemaError);
75
71
  });
76
72
  it('rejects directive on @derivedFrom lookup field', function () {
77
- (0, expect_1.default)(() => model(`
73
+ expect(() => model(`
78
74
  type Account @entity {
79
75
  id: ID!
80
76
  profile: Profile @derivedFrom(field: "account") @disableForeignKeyConstraint
@@ -86,7 +82,7 @@ describe('@disableForeignKeyConstraint', function () {
86
82
  `)).toThrow(model_schema_1.SchemaError);
87
83
  });
88
84
  it('rejects directive on non-entity type', function () {
89
- (0, expect_1.default)(() => model(`
85
+ expect(() => model(`
90
86
  type Account @entity {
91
87
  id: ID!
92
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"disableForeignKeyConstraint.test.js","sourceRoot":"","sources":["../../src/test/disableForeignKeyConstraint.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"disableForeignKeyConstraint.test.js","sourceRoot":"","sources":["../../src/test/disableForeignKeyConstraint.test.ts"],"names":[],"mappings":";;AAAA,qCAA6B;AAC7B,kDAAoE;AACpE,mCAA8C;AAG9C,SAAS,KAAK,CAAC,MAAc;IACzB,OAAO,IAAA,yBAAU,EAAC,IAAA,0BAAW,EAAC,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AACjD,CAAC;AAGD,QAAQ,CAAC,8BAA8B,EAAE;IACrC,QAAQ,CAAC,mBAAmB,EAAE;QAC1B,EAAE,CAAC,oDAAoD,EAAE;YACrD,IAAI,CAAC,GAAG,KAAK,CAAC;;;;;;;;aAQb,CAAC,CAAA;YACF,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;YAChC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACtC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAA;gBACzC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;oBAC1B,IAAI,EAAE,IAAI;oBACV,MAAM,EAAE,SAAS;oBACjB,iBAAiB,EAAE,IAAI;iBAC1B,CAAC,CAAA;YACN,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+BAA+B,EAAE;YAChC,MAAM,CAAC,GAAG,EAAE,CACR,KAAK,CAAC;;;;;;;;iBAQL,CAAC,CACL,CAAC,OAAO,CAAC,0BAAW,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,mCAAmC,EAAE;YACpC,MAAM,CAAC,GAAG,EAAE,CACR,KAAK,CAAC;;;;;iBAKL,CAAC,CACL,CAAC,OAAO,CAAC,0BAAW,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iCAAiC,EAAE;YAClC,MAAM,CAAC,GAAG,EAAE,CACR,KAAK,CAAC;;;;;;iBAML,CAAC,CACL,CAAC,OAAO,CAAC,0BAAW,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+CAA+C,EAAE;YAChD,MAAM,CAAC,GAAG,EAAE,CACR,KAAK,CAAC;;;;;;;;;iBASL,CAAC,CACL,CAAC,OAAO,CAAC,0BAAW,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gDAAgD,EAAE;YACjD,MAAM,CAAC,GAAG,EAAE,CACR,KAAK,CAAC;;;;;;;;;iBASL,CAAC,CACL,CAAC,OAAO,CAAC,0BAAW,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sCAAsC,EAAE;YACvC,MAAM,CAAC,GAAG,EAAE,CACR,KAAK,CAAC;;;;;;;;;;;iBAWL,CAAC,CACL,CAAC,OAAO,CAAC,0BAAW,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,oBAAoB,EAAE;QAC3B,+DAA+D;QAC/D,+DAA+D;QAC/D,sEAAsE;QACtE,IAAA,mBAAW,EAAC;YACR,uDAAuD;YACvD,uFAAuF;YACvF,+EAA+E;YAC/E,sDAAsD;YACtD,oDAAoD;YACpD,gFAAgF;YAChF,qFAAqF;YACrF,qFAAqF;YACrF,gFAAgF;SACnF,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;;;SAcxB,CAAC,CAAA;QAEF,EAAE,CAAC,+FAA+F,EAAE;YAChG,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;;;aAWlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAC;oBAC3G,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAC;oBAC5F,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAC;oBAC9F,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAC;iBAC5F;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,+CAA+C,EAAE;YAChD,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;aAQlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAC;oBAClC,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAC;oBACxC,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAC;oBACxC,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAC;iBACtC;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE;YAC/B,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;aAOlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAC;iBAChC;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE;YACnC,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;aAOlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAC;oBACvB,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAC;iBAC1B;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE;YAC/B,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;aAOlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAC;oBACvB,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAC;iBAChC;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE;YACnC,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;aAOlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAC;iBAC1B;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,kCAAkC,EAAE;YACnC,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;aAOlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC;iBAC3B;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE;YACrC,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;aAOlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAC;iBAChC;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sCAAsC,EAAE;YACvC,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;aAOlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAC;iBAChC;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE;YACrC,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;aAOlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAC;iBACxB;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gDAAgD,EAAE;YACjD,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;aAOlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAC;iBAC1B;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,iDAAiD,EAAE;YAClD,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;aAQlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAC;iBACtC;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yDAAyD,EAAE;YAC1D,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;aAOlB,EAAE;gBACC,SAAS,EAAE;oBACP,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAC;oBACvB,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAC;iBAChC;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -4,7 +4,13 @@ const setup_1 = require("./setup");
4
4
  function tsvector(columns) {
5
5
  return columns.map(col => `setweight(to_tsvector('english', coalesce(${col}, '')), 'A')`).join(' || ');
6
6
  }
7
- (0, setup_1.isCockroach)() || describe.skip('full text search', function () {
7
+ // TODO: FTS tests have been disabled since 2022-08-17 (Eldar Gabdullin, PR #95 "New openreader")
8
+ // via the `isCockroach() || describe.skip(...)` pattern which never actually ran them —
9
+ // on cockroach `||` short-circuited, on postgres `describe.skip` registered the suite as skipped.
10
+ // Re-enabling via `describe.skipIf(isCockroach())` revealed schema drift: the generated GraphQL
11
+ // lacks a `search` field now, so `Cannot query field "search" on type "Query"` is thrown.
12
+ // Keeping unconditionally skipped until the FTS pipeline is revisited.
13
+ describe.skip('full text search', function () {
8
14
  (0, setup_1.useDatabase)([
9
15
  `create table foo (
10
16
  id text primary key,
@@ -1 +1 @@
1
- {"version":3,"file":"fts.test.js","sourceRoot":"","sources":["../../src/test/fts.test.ts"],"names":[],"mappings":";;AAAA,mCAA2D;AAG3D,SAAS,QAAQ,CAAC,OAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,6CAA6C,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC1G,CAAC;AAGD,IAAA,mBAAW,GAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE;IAC/C,IAAA,mBAAW,EAAC;QACR;;;;wDAIgD,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;UACnE;QACF;;;;wDAIgD,QAAQ,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;UAC9E;QACF,sFAAsF;QACtF,gHAAgH;QAChH,kFAAkF;QAClF,0GAA0G;QAC1G,kGAAkG;KACrG,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;KAYxB,CAAC,CAAA;IAEF,EAAE,CAAC,gEAAgE,EAAE;QACjE,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC;oBACvB,SAAS,EAAE,uCAAuC;iBACrD,CAAC;SACL,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE;QACxE,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,oCAAoC,EAAC;oBAC1D,SAAS,EAAE,0DAA0D;iBACxE,CAAC;SACL,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE;gBACJ,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAC,EAAC;gBAC7B,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,oCAAoC,EAAC,EAAC;gBAC5D,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC,EAAC;aAC5B;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE;gBACJ,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAC,EAAC;gBAC7B,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC,EAAC;aAC5B;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"fts.test.js","sourceRoot":"","sources":["../../src/test/fts.test.ts"],"names":[],"mappings":";;AAAA,mCAA2D;AAG3D,SAAS,QAAQ,CAAC,OAAiB;IAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,6CAA6C,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AAC1G,CAAC;AAGD,iGAAiG;AACjG,wFAAwF;AACxF,kGAAkG;AAClG,gGAAgG;AAChG,0FAA0F;AAC1F,uEAAuE;AACvE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE;IAC9B,IAAA,mBAAW,EAAC;QACR;;;;wDAIgD,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;UACnE;QACF;;;;wDAIgD,QAAQ,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;UAC9E;QACF,sFAAsF;QACtF,gHAAgH;QAChH,kFAAkF;QAClF,0GAA0G;QAC1G,kGAAkG;KACrG,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;KAYxB,CAAC,CAAA;IAEF,EAAE,CAAC,gEAAgE,EAAE;QACjE,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC;oBACvB,SAAS,EAAE,uCAAuC;iBACrD,CAAC;SACL,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uEAAuE,EAAE;QACxE,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE,CAAC;oBACL,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,oCAAoC,EAAC;oBAC1D,SAAS,EAAE,0DAA0D;iBACxE,CAAC;SACL,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE;gBACJ,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAC,EAAC;gBAC7B,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,oCAAoC,EAAC,EAAC;gBAC5D,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC,EAAC;aAC5B;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2BAA2B,EAAE;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC;;;;;;;;;SASlB,EAAE;YACC,MAAM,EAAE;gBACJ,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAC,EAAC;gBAC7B,EAAC,IAAI,EAAE,EAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAC,EAAC;aAC5B;SACJ,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -1,9 +1,5 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const expect_1 = __importDefault(require("expect"));
7
3
  const setup_1 = require("./setup");
8
4
  const dialect_1 = require("../dialect");
9
5
  describe('response size limits', function () {
@@ -63,10 +59,10 @@ describe('response size limits', function () {
63
59
  }
64
60
  }
65
61
  `);
66
- (0, expect_1.default)(result).toMatchObject({
62
+ expect(result).toMatchObject({
67
63
  data: null,
68
64
  errors: [
69
- expect_1.default.objectContaining({ message: 'response might exceed the size limit', path: ['order1s'] })
65
+ expect.objectContaining({ message: 'response might exceed the size limit', path: ['order1s'] })
70
66
  ]
71
67
  });
72
68
  });
@@ -113,10 +109,10 @@ describe('response size limits', function () {
113
109
  }
114
110
  }
115
111
  `);
116
- (0, expect_1.default)(result).toEqual({
112
+ expect(result).toEqual({
117
113
  data: null,
118
114
  errors: [
119
- expect_1.default.objectContaining({
115
+ expect.objectContaining({
120
116
  message: 'response might exceed the size limit',
121
117
  path: ['order3s']
122
118
  })
@@ -153,7 +149,7 @@ describe('response size limits', function () {
153
149
  }
154
150
  `, {
155
151
  errors: [
156
- expect_1.default.objectContaining({
152
+ expect.objectContaining({
157
153
  message: 'only 3 root fields allowed, but got 4'
158
154
  })
159
155
  ]
@@ -170,10 +166,10 @@ describe('response size limits', function () {
170
166
  }
171
167
  }
172
168
  `);
173
- (0, expect_1.default)(result).toMatchObject({
169
+ expect(result).toMatchObject({
174
170
  data: null,
175
171
  errors: [
176
- expect_1.default.objectContaining({ message: 'response might exceed the size limit', path: ['order1s'] })
172
+ expect.objectContaining({ message: 'response might exceed the size limit', path: ['order1s'] })
177
173
  ]
178
174
  });
179
175
  });
@@ -220,10 +216,10 @@ describe('response size limits', function () {
220
216
  }
221
217
  }
222
218
  `);
223
- (0, expect_1.default)(result).toEqual({
219
+ expect(result).toEqual({
224
220
  data: null,
225
221
  errors: [
226
- expect_1.default.objectContaining({
222
+ expect.objectContaining({
227
223
  message: 'response might exceed the size limit',
228
224
  path: ['order3s']
229
225
  })
@@ -260,7 +256,7 @@ describe('response size limits', function () {
260
256
  }
261
257
  `, {
262
258
  errors: [
263
- expect_1.default.objectContaining({
259
+ expect.objectContaining({
264
260
  message: 'only 3 root fields allowed, but got 4'
265
261
  })
266
262
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"limits.test.js","sourceRoot":"","sources":["../../src/test/limits.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limits.test.js","sourceRoot":"","sources":["../../src/test/limits.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,5 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const expect_1 = __importDefault(require("expect"));
7
3
  const setup_1 = require("./setup");
8
4
  describe('queryable interfaces', function () {
9
5
  (0, setup_1.useDatabase)([
@@ -264,7 +260,7 @@ describe('queryable interfaces', function () {
264
260
  }
265
261
  }
266
262
  `, {
267
- numbers: expect_1.default.arrayContaining([
263
+ numbers: expect.arrayContaining([
268
264
  { __typename: 'One', id: '1-1' },
269
265
  { __typename: 'Two', id: '2-1' }
270
266
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"queryable.test.js","sourceRoot":"","sources":["../../src/test/queryable.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryable.test.js","sourceRoot":"","sources":["../../src/test/queryable.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAqB,UAAU,EAAO,MAAM,IAAI,CAAA;AAEvD,OAAO,EAAQ,aAAa,EAAC,MAAM,WAAW,CAAA;AAG9C,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,eAAO,MAAM,SAAS;;;;;;CAQrB,CAAA;AAGD,wBAAsB,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9F;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5D;AAGD,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9C;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAK/C;AAGD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAqBlF"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAA;AAEtC,OAAO,EAAqB,UAAU,EAAO,MAAM,IAAI,CAAA;AAEvD,OAAO,EAAQ,aAAa,EAAC,MAAM,WAAW,CAAA;AAG9C,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAGD,eAAO,MAAM,SAAS;;;;;;CAQrB,CAAA;AAGD,wBAAsB,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9F;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5D;AAGD,wBAAgB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9C;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAK/C;AAGD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM,CAqBlF"}
package/lib/test/setup.js CHANGED
@@ -47,7 +47,7 @@ function databaseDelete() {
47
47
  });
48
48
  }
49
49
  function useDatabase(sql) {
50
- before(async () => {
50
+ beforeAll(async () => {
51
51
  await databaseDelete();
52
52
  await databaseExecute(sql);
53
53
  });
@@ -56,7 +56,7 @@ function useServer(schema, options) {
56
56
  let client = new gql_test_client_1.Client('not defined');
57
57
  let db = new pg_1.Pool(exports.db_config);
58
58
  let info;
59
- before(async () => {
59
+ beforeAll(async () => {
60
60
  info = await (0, server_1.serve)({
61
61
  connection: db,
62
62
  model: (0, model_schema_1.buildModel)((0, model_schema_1.buildSchema)((0, graphql_1.parse)(schema))),
@@ -70,8 +70,8 @@ function useServer(schema, options) {
70
70
  });
71
71
  client.endpoint = `http://localhost:${info.port}/graphql`;
72
72
  });
73
- after(() => info?.close());
74
- after(() => db.end());
73
+ afterAll(() => info?.close());
74
+ afterAll(() => db.end());
75
75
  return client;
76
76
  }
77
77
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  const util_internal_1 = require("@subsquid/util-internal");
7
- const expect_1 = __importDefault(require("expect"));
8
4
  const setup_1 = require("./setup");
9
5
  describe("subscriptions", function () {
10
6
  (0, setup_1.useDatabase)([
@@ -38,12 +34,12 @@ describe("subscriptions", function () {
38
34
  }
39
35
  `, async (take) => {
40
36
  await (0, util_internal_1.wait)(100);
41
- (0, expect_1.default)(await take()).toEqual({ data: { orders: [] } });
37
+ expect(await take()).toEqual({ data: { orders: [] } });
42
38
  await (0, setup_1.databaseExecute)([
43
39
  `insert into "order" (id, kind) values ('1', 'list')`,
44
40
  `insert into "order" (id, kind) values ('2', 'foo')`,
45
41
  ]);
46
- (0, expect_1.default)(await take()).toEqual({
42
+ expect(await take()).toEqual({
47
43
  data: {
48
44
  orders: [{ id: '1', name: null, items: [] }]
49
45
  }
@@ -52,7 +48,7 @@ describe("subscriptions", function () {
52
48
  update "order" set name = 'hello' where id in ('1', '2');
53
49
  insert into item (id, "order_id", name) values ('1-1', '1', '123')
54
50
  `]);
55
- (0, expect_1.default)(await take()).toEqual({
51
+ expect(await take()).toEqual({
56
52
  data: {
57
53
  orders: [
58
54
  { id: '1', name: 'hello', items: [{ name: '123' }] }
@@ -77,7 +73,7 @@ describe("subscriptions", function () {
77
73
  }
78
74
  `, async (take) => {
79
75
  await (0, util_internal_1.wait)(100);
80
- (0, expect_1.default)(await take()).toEqual({
76
+ expect(await take()).toEqual({
81
77
  data: {
82
78
  third: {
83
79
  name: null,
@@ -93,7 +89,7 @@ describe("subscriptions", function () {
93
89
  insert into item (id, "order_id", name) values ('3-2', '3', 'world');
94
90
  commit;
95
91
  `]);
96
- (0, expect_1.default)(await take()).toEqual({
92
+ expect(await take()).toEqual({
97
93
  data: {
98
94
  third: {
99
95
  name: 'foo',
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.test.js","sourceRoot":"","sources":["../../src/test/subscription.test.ts"],"names":[],"mappings":";;;;;AAAA,2DAA4C;AAC5C,oDAA2B;AAC3B,mCAA+D;AAG/D,QAAQ,CAAC,eAAe,EAAE;IACtB,IAAA,mBAAW,EAAC;QACR,2EAA2E;QAC3E,mEAAmE;KACtE,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;;KAaxB,CAAC,CAAA;IAEF,EAAE,CAAC,aAAa,EAAE;QACd,OAAO,MAAM,CAAC,gBAAgB,CAAC;;;;;;;;;;SAU9B,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACZ,MAAM,IAAA,oBAAI,EAAC,GAAG,CAAC,CAAA;YACf,IAAA,gBAAM,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC,EAAC,CAAC,CAAA;YAClD,MAAM,IAAA,uBAAe,EAAC;gBAClB,qDAAqD;gBACrD,oDAAoD;aACvD,CAAC,CAAA;YACF,IAAA,gBAAM,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,MAAM,EAAE,CAAC,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;iBAC7C;aACJ,CAAC,CAAA;YACF,MAAM,IAAA,uBAAe,EAAC,CAAC;;;aAGtB,CAAC,CAAC,CAAA;YACH,IAAA,gBAAM,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,MAAM,EAAE;wBACJ,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,EAAC;qBACnD;iBACJ;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,cAAc,EAAE,KAAK;QACpB,MAAM,IAAA,uBAAe,EAAC;YAClB,sDAAsD;YACtD,sEAAsE;SACzE,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,gBAAgB,CAAC;;;;;;;;;SAS7B,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACZ,MAAM,IAAA,oBAAI,EAAC,GAAG,CAAC,CAAA;YACf,IAAA,gBAAM,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,KAAK,EAAE;wBACH,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE;4BACH,EAAC,IAAI,EAAE,OAAO,EAAC;yBAClB;qBACJ;iBACJ;aACJ,CAAC,CAAA;YACF,MAAM,IAAA,uBAAe,EAAC,CAAC;;;;;aAKtB,CAAC,CAAC,CAAA;YACH,IAAA,gBAAM,EAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,KAAK,EAAE;wBACH,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE;4BACH,EAAC,IAAI,EAAE,OAAO,EAAC;4BACf,EAAC,IAAI,EAAE,OAAO,EAAC;yBAClB;qBACJ;iBACJ;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"subscription.test.js","sourceRoot":"","sources":["../../src/test/subscription.test.ts"],"names":[],"mappings":";;AAAA,2DAA4C;AAC5C,mCAA+D;AAG/D,QAAQ,CAAC,eAAe,EAAE;IACtB,IAAA,mBAAW,EAAC;QACR,2EAA2E;QAC3E,mEAAmE;KACtE,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAA,iBAAS,EAAC;;;;;;;;;;;;;KAaxB,CAAC,CAAA;IAEF,EAAE,CAAC,aAAa,EAAE;QACd,OAAO,MAAM,CAAC,gBAAgB,CAAC;;;;;;;;;;SAU9B,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACZ,MAAM,IAAA,oBAAI,EAAC,GAAG,CAAC,CAAA;YACf,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAC,IAAI,EAAE,EAAC,MAAM,EAAE,EAAE,EAAC,EAAC,CAAC,CAAA;YAClD,MAAM,IAAA,uBAAe,EAAC;gBAClB,qDAAqD;gBACrD,oDAAoD;aACvD,CAAC,CAAA;YACF,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,MAAM,EAAE,CAAC,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;iBAC7C;aACJ,CAAC,CAAA;YACF,MAAM,IAAA,uBAAe,EAAC,CAAC;;;aAGtB,CAAC,CAAC,CAAA;YACH,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,MAAM,EAAE;wBACJ,EAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,EAAC;qBACnD;iBACJ;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,cAAc,EAAE,KAAK;QACpB,MAAM,IAAA,uBAAe,EAAC;YAClB,sDAAsD;YACtD,sEAAsE;SACzE,CAAC,CAAA;QACF,MAAM,MAAM,CAAC,gBAAgB,CAAC;;;;;;;;;SAS7B,EAAE,KAAK,EAAC,IAAI,EAAC,EAAE;YACZ,MAAM,IAAA,oBAAI,EAAC,GAAG,CAAC,CAAA;YACf,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,KAAK,EAAE;wBACH,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE;4BACH,EAAC,IAAI,EAAE,OAAO,EAAC;yBAClB;qBACJ;iBACJ;aACJ,CAAC,CAAA;YACF,MAAM,IAAA,uBAAe,EAAC,CAAC;;;;;aAKtB,CAAC,CAAC,CAAA;YACH,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;gBACzB,IAAI,EAAE;oBACF,KAAK,EAAE;wBACH,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE;4BACH,EAAC,IAAI,EAAE,OAAO,EAAC;4BACf,EAAC,IAAI,EAAE,OAAO,EAAC;yBAClB;qBACJ;iBACJ;aACJ,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -22,12 +22,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
25
  Object.defineProperty(exports, "__esModule", { value: true });
29
26
  const path = __importStar(require("path"));
30
- const expect_1 = __importDefault(require("expect"));
31
27
  const tools_1 = require("../tools");
32
28
  function fixture(name) {
33
29
  return path.join(__dirname, '../../fixtures', name);
@@ -36,14 +32,14 @@ describe('tools', function () {
36
32
  describe('loadModel()', function () {
37
33
  it('loads model from a single file', function () {
38
34
  let model = (0, tools_1.loadModel)(fixture('schema.graphql'));
39
- (0, expect_1.default)(model).toMatchObject({
35
+ expect(model).toMatchObject({
40
36
  Account: { kind: 'entity' },
41
37
  HistoricalBalance: { kind: 'entity' }
42
38
  });
43
39
  });
44
40
  it('loads model from a directory', function () {
45
41
  let model = (0, tools_1.loadModel)(fixture('schema'));
46
- (0, expect_1.default)(model).toMatchObject({
42
+ expect(model).toMatchObject({
47
43
  Account: { kind: 'entity' },
48
44
  HistoricalBalance: { kind: 'entity' }
49
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/test/tools.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAC5B,oDAA2B;AAC3B,oCAAkC;AAElC,SAAS,OAAO,CAAC,IAAY;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAA;AACvD,CAAC;AAED,QAAQ,CAAC,OAAO,EAAE;IACd,QAAQ,CAAC,aAAa,EAAE;QACpB,EAAE,CAAC,gCAAgC,EAAE;YACjC,IAAI,KAAK,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;YAChD,IAAA,gBAAM,EAAC,KAAK,CAAC,CAAC,aAAa,CAAC;gBACxB,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;gBACzB,iBAAiB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;aACtC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE;YAC/B,IAAI,KAAK,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;YACxC,IAAA,gBAAM,EAAC,KAAK,CAAC,CAAC,aAAa,CAAC;gBACxB,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;gBACzB,iBAAiB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;aACtC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"tools.test.js","sourceRoot":"","sources":["../../src/test/tools.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAC5B,oCAAkC;AAElC,SAAS,OAAO,CAAC,IAAY;IACzB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAA;AACvD,CAAC;AAED,QAAQ,CAAC,OAAO,EAAE;IACd,QAAQ,CAAC,aAAa,EAAE;QACpB,EAAE,CAAC,gCAAgC,EAAE;YACjC,IAAI,KAAK,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;gBACxB,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;gBACzB,iBAAiB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;aACtC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,8BAA8B,EAAE;YAC/B,IAAI,KAAK,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;YACxC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;gBACxB,OAAO,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;gBACzB,iBAAiB,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;aACtC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=util.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.test.d.ts","sourceRoot":"","sources":["../../src/test/util.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const util_naming_1 = require("@subsquid/util-naming");
4
+ const util_1 = require("../util/util");
5
+ describe('toTable', function () {
6
+ it('snake_cases short entity names unchanged', function () {
7
+ expect((0, util_1.toTable)('Account')).toBe('account');
8
+ expect((0, util_1.toTable)('TokenTransfer')).toBe('token_transfer');
9
+ });
10
+ it('truncates names that exceed the identifier limit, matching typeorm-codegen', function () {
11
+ // The physical table typeorm-codegen creates for this entity.
12
+ const entity = 'LevrConfigProviderSchemaLiquidationBufferBpsOverUnderUpdated';
13
+ const full = (0, util_naming_1.toSnakeCase)(entity);
14
+ expect(full.length).toBeGreaterThan(util_1.POSTGRES_MAX_IDENTIFIER_LENGTH);
15
+ const table = (0, util_1.toTable)(entity);
16
+ expect(table.length).toBe(util_1.POSTGRES_MAX_IDENTIFIER_LENGTH);
17
+ expect(table).toBe(full.slice(0, util_1.POSTGRES_MAX_IDENTIFIER_LENGTH));
18
+ expect(table).toBe('levr_config_provider_schema_liquidation_buffer_bps_over_under_u');
19
+ });
20
+ it('leaves a name exactly at the limit unchanged (boundary)', function () {
21
+ const entity = 'A' + 'a'.repeat(62); // snake length 63
22
+ expect((0, util_naming_1.toSnakeCase)(entity).length).toBe(util_1.POSTGRES_MAX_IDENTIFIER_LENGTH);
23
+ expect((0, util_1.toTable)(entity)).toBe((0, util_naming_1.toSnakeCase)(entity));
24
+ });
25
+ it('truncates a name one byte over the limit (boundary)', function () {
26
+ const entity = 'A' + 'a'.repeat(63); // snake length 64
27
+ expect((0, util_naming_1.toSnakeCase)(entity).length).toBe(util_1.POSTGRES_MAX_IDENTIFIER_LENGTH + 1);
28
+ expect((0, util_1.toTable)(entity).length).toBe(util_1.POSTGRES_MAX_IDENTIFIER_LENGTH);
29
+ });
30
+ });
31
+ //# sourceMappingURL=util.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.test.js","sourceRoot":"","sources":["../../src/test/util.test.ts"],"names":[],"mappings":";;AAAA,uDAAiD;AACjD,uCAAoE;AAGpE,QAAQ,CAAC,SAAS,EAAE;IAChB,EAAE,CAAC,0CAA0C,EAAE;QAC3C,MAAM,CAAC,IAAA,cAAO,EAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1C,MAAM,CAAC,IAAA,cAAO,EAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,4EAA4E,EAAE;QAC7E,8DAA8D;QAC9D,MAAM,MAAM,GAAG,8DAA8D,CAAA;QAC7E,MAAM,IAAI,GAAG,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAA;QAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,qCAA8B,CAAC,CAAA;QAEnE,MAAM,KAAK,GAAG,IAAA,cAAO,EAAC,MAAM,CAAC,CAAA;QAC7B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qCAA8B,CAAC,CAAA;QACzD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,qCAA8B,CAAC,CAAC,CAAA;QACjE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAA;IACzF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yDAAyD,EAAE;QAC1D,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,CAAC,kBAAkB;QACtD,MAAM,CAAC,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qCAA8B,CAAC,CAAA;QACvE,MAAM,CAAC,IAAA,cAAO,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qDAAqD,EAAE;QACtD,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,CAAC,kBAAkB;QACtD,MAAM,CAAC,IAAA,yBAAW,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qCAA8B,GAAG,CAAC,CAAC,CAAA;QAC3E,MAAM,CAAC,IAAA,cAAO,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,qCAA8B,CAAC,CAAA;IACvE,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
@@ -1,4 +1,23 @@
1
1
  import { Prop } from "../model";
2
+ /**
3
+ * PostgreSQL truncates any identifier longer than `NAMEDATALEN - 1` (63 bytes on
4
+ * a default build) when it is stored in the catalog. `@subsquid/typeorm-codegen`
5
+ * prunes over-long table names to this limit when generating the schema, so the
6
+ * physical table is created with at most this many bytes.
7
+ *
8
+ * We must apply the *same* truncation when building queries, otherwise on a
9
+ * server whose `NAMEDATALEN` is larger than the default we would emit the full,
10
+ * untruncated name — which Postgres would not truncate — and it would miss the
11
+ * (already-pruned) table. Truncating here makes the generated SQL target the
12
+ * right table regardless of the server's `NAMEDATALEN`.
13
+ *
14
+ * GraphQL type names are restricted to ASCII letters, digits and underscores,
15
+ * and `toSnakeCase` keeps them ASCII, so `name.length` below equals the byte
16
+ * length — the unit PostgreSQL's limit is actually measured in.
17
+ *
18
+ * Keep this value in sync with `typeorm-codegen`'s `POSTGRES_MAX_IDENTIFIER_LENGTH`.
19
+ */
20
+ export declare const POSTGRES_MAX_IDENTIFIER_LENGTH = 63;
2
21
  export declare function toColumn(gqlFieldName: string): string;
3
22
  export declare function toFkColumn(gqlFieldName: string): string;
4
23
  export declare function toTable(entityName: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAG7B,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAErD;AAGD,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEvD;AAGD,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAEjD;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAIxD;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAEhE;AAGD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAEnC;AAGD,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvD;AAGD,wBAAgB,kBAAkB,CAC9B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GACjC,IAAI,GAAG,SAAS,CAIlB"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,IAAI,EAAC,MAAM,UAAU,CAAA;AAG7B;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,8BAA8B,KAAK,CAAA;AAUhD,wBAAgB,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAErD;AAGD,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEvD;AAGD,wBAAgB,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAElD;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAEjD;AAGD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAIxD;AAGD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAEhE;AAGD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAEnC;AAGD,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEvD;AAGD,wBAAgB,kBAAkB,CAC9B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GACjC,IAAI,GAAG,SAAS,CAIlB"}
package/lib/util/util.js CHANGED
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.POSTGRES_MAX_IDENTIFIER_LENGTH = void 0;
6
7
  exports.toColumn = toColumn;
7
8
  exports.toFkColumn = toFkColumn;
8
9
  exports.toTable = toTable;
@@ -14,6 +15,30 @@ exports.toFkIdField = toFkIdField;
14
15
  exports.getFkPropByIdField = getFkPropByIdField;
15
16
  const util_naming_1 = require("@subsquid/util-naming");
16
17
  const assert_1 = __importDefault(require("assert"));
18
+ /**
19
+ * PostgreSQL truncates any identifier longer than `NAMEDATALEN - 1` (63 bytes on
20
+ * a default build) when it is stored in the catalog. `@subsquid/typeorm-codegen`
21
+ * prunes over-long table names to this limit when generating the schema, so the
22
+ * physical table is created with at most this many bytes.
23
+ *
24
+ * We must apply the *same* truncation when building queries, otherwise on a
25
+ * server whose `NAMEDATALEN` is larger than the default we would emit the full,
26
+ * untruncated name — which Postgres would not truncate — and it would miss the
27
+ * (already-pruned) table. Truncating here makes the generated SQL target the
28
+ * right table regardless of the server's `NAMEDATALEN`.
29
+ *
30
+ * GraphQL type names are restricted to ASCII letters, digits and underscores,
31
+ * and `toSnakeCase` keeps them ASCII, so `name.length` below equals the byte
32
+ * length — the unit PostgreSQL's limit is actually measured in.
33
+ *
34
+ * Keep this value in sync with `typeorm-codegen`'s `POSTGRES_MAX_IDENTIFIER_LENGTH`.
35
+ */
36
+ exports.POSTGRES_MAX_IDENTIFIER_LENGTH = 63;
37
+ function truncateIdentifier(name) {
38
+ return name.length > exports.POSTGRES_MAX_IDENTIFIER_LENGTH
39
+ ? name.slice(0, exports.POSTGRES_MAX_IDENTIFIER_LENGTH)
40
+ : name;
41
+ }
17
42
  function toColumn(gqlFieldName) {
18
43
  return (0, util_naming_1.toSnakeCase)(gqlFieldName);
19
44
  }
@@ -21,7 +46,7 @@ function toFkColumn(gqlFieldName) {
21
46
  return (0, util_naming_1.toSnakeCase)(gqlFieldName) + '_id';
22
47
  }
23
48
  function toTable(entityName) {
24
- return (0, util_naming_1.toSnakeCase)(entityName);
49
+ return truncateIdentifier((0, util_naming_1.toSnakeCase)(entityName));
25
50
  }
26
51
  function ensureArray(item) {
27
52
  return Array.isArray(item) ? item : [item];
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util/util.ts"],"names":[],"mappings":";;;;;AAKA,4BAEC;AAGD,gCAEC;AAGD,0BAEC;AAGD,kCAEC;AAGD,sCAIC;AAGD,sCAEC;AAGD,4BAEC;AAGD,kCAEC;AAGD,gDAOC;AAtDD,uDAAiD;AACjD,oDAA2B;AAI3B,SAAgB,QAAQ,CAAC,YAAoB;IACzC,OAAO,IAAA,yBAAW,EAAC,YAAY,CAAC,CAAA;AACpC,CAAC;AAGD,SAAgB,UAAU,CAAC,YAAoB;IAC3C,OAAO,IAAA,yBAAW,EAAC,YAAY,CAAC,GAAG,KAAK,CAAA;AAC5C,CAAC;AAGD,SAAgB,OAAO,CAAC,UAAkB;IACtC,OAAO,IAAA,yBAAW,EAAC,UAAU,CAAC,CAAA;AAClC,CAAC;AAGD,SAAgB,WAAW,CAAI,IAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC9C,CAAC;AAGD,SAAgB,aAAa,CAAC,CAAkB;IAC5C,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAW,EAAE,EAAE,CAAC,CAAA;IACjC,IAAA,gBAAM,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,OAAO,CAAC,CAAA;AACZ,CAAC;AAGD,SAAgB,aAAa,CAAC,IAAY,EAAE,KAAa;IACrD,OAAO,IAAI,SAAS,CAAC,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAA;AACnD,CAAC;AAGD,SAAgB,QAAQ,CAAI,CAAI;IAC5B,OAAO,CAAC,CAAA;AACZ,CAAC;AAGD,SAAgB,WAAW,CAAC,WAAmB;IAC3C,OAAO,WAAW,GAAG,IAAI,CAAA;AAC7B,CAAC;AAGD,SAAgB,kBAAkB,CAC9B,WAAmB,EACnB,UAAgC;IAEhC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IACjD,IAAI,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,OAAO,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AACzD,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util/util.ts"],"names":[],"mappings":";;;;;;AAiCA,4BAEC;AAGD,gCAEC;AAGD,0BAEC;AAGD,kCAEC;AAGD,sCAIC;AAGD,sCAEC;AAGD,4BAEC;AAGD,kCAEC;AAGD,gDAOC;AAlFD,uDAAiD;AACjD,oDAA2B;AAI3B;;;;;;;;;;;;;;;;;GAiBG;AACU,QAAA,8BAA8B,GAAG,EAAE,CAAA;AAGhD,SAAS,kBAAkB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,MAAM,GAAG,sCAA8B;QAC/C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,sCAA8B,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAA;AACd,CAAC;AAGD,SAAgB,QAAQ,CAAC,YAAoB;IACzC,OAAO,IAAA,yBAAW,EAAC,YAAY,CAAC,CAAA;AACpC,CAAC;AAGD,SAAgB,UAAU,CAAC,YAAoB;IAC3C,OAAO,IAAA,yBAAW,EAAC,YAAY,CAAC,GAAG,KAAK,CAAA;AAC5C,CAAC;AAGD,SAAgB,OAAO,CAAC,UAAkB;IACtC,OAAO,kBAAkB,CAAC,IAAA,yBAAW,EAAC,UAAU,CAAC,CAAC,CAAA;AACtD,CAAC;AAGD,SAAgB,WAAW,CAAI,IAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC9C,CAAC;AAGD,SAAgB,aAAa,CAAC,CAAkB;IAC5C,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAW,EAAE,EAAE,CAAC,CAAA;IACjC,IAAA,gBAAM,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC/B,OAAO,CAAC,CAAA;AACZ,CAAC;AAGD,SAAgB,aAAa,CAAC,IAAY,EAAE,KAAa;IACrD,OAAO,IAAI,SAAS,CAAC,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAA;AACnD,CAAC;AAGD,SAAgB,QAAQ,CAAI,CAAI;IAC5B,OAAO,CAAC,CAAA;AACZ,CAAC;AAGD,SAAgB,WAAW,CAAC,WAAmB;IAC3C,OAAO,WAAW,GAAG,IAAI,CAAA;AAC7B,CAAC;AAGD,SAAgB,kBAAkB,CAC9B,WAAmB,EACnB,UAAgC;IAEhC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IACjD,IAAI,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACjD,OAAO,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AACzD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subsquid/openreader",
3
- "version": "5.4.0",
3
+ "version": "5.5.1",
4
4
  "description": "GraphQL server for postgres-compatible databases",
5
5
  "keywords": [
6
6
  "graphql",
@@ -23,10 +23,10 @@
23
23
  "dependencies": {
24
24
  "@graphql-tools/merge": "^9.0.1",
25
25
  "@subsquid/graphiql-console": "^0.3.0",
26
- "@subsquid/logger": "^1.4.0",
27
- "@subsquid/util-internal": "^3.2.0",
26
+ "@subsquid/logger": "^1.6.0",
27
+ "@subsquid/util-internal": "^3.3.1",
28
28
  "@subsquid/util-internal-commander": "^1.4.0",
29
- "@subsquid/util-internal-hex": "^1.2.2",
29
+ "@subsquid/util-internal-hex": "^1.2.3",
30
30
  "@subsquid/util-internal-http-server": "^2.0.1",
31
31
  "@subsquid/util-naming": "^1.3.0",
32
32
  "@subsquid/apollo-server-core": "^3.14.0",
@@ -52,15 +52,13 @@
52
52
  "devDependencies": {
53
53
  "@types/deep-equal": "^1.0.4",
54
54
  "@types/express": "^4.17.21",
55
- "@types/mocha": "^10.0.7",
56
- "@types/node": "^18.18.14",
55
+ "@types/node": "^24.0.0",
57
56
  "@types/pg": "^8.10.9",
58
57
  "@types/ws": "^8.5.10",
59
58
  "dotenv": "^16.3.1",
60
- "expect": "^29.7.0",
61
59
  "gql-test-client": "^0.0.0",
62
- "mocha": "^10.7.0",
63
- "typescript": "~5.5.4",
60
+ "typescript": "5.5.4",
61
+ "vitest": "4.1.5",
64
62
  "@types/inflected": "^2.1.3"
65
63
  },
66
64
  "scripts": {
package/src/db.ts CHANGED
@@ -14,6 +14,8 @@ let CTX_COUNTER = 0
14
14
  export type DbType = 'postgres' | 'cockroach'
15
15
 
16
16
 
17
+ export type TransactionIsolationLevel = 'SERIALIZABLE' | 'REPEATABLE READ' | 'READ COMMITTED'
18
+
17
19
  export class PoolOpenreaderContext implements OpenreaderContext {
18
20
  public id = (CTX_COUNTER = (CTX_COUNTER + 1) % Number.MAX_SAFE_INTEGER)
19
21
  public log?: Logger
@@ -26,6 +28,7 @@ export class PoolOpenreaderContext implements OpenreaderContext {
26
28
  pool: Pool,
27
29
  subscriptionPool?: Pool,
28
30
  private subscriptionPollInterval: number = 1000,
31
+ private isolationLevel: TransactionIsolationLevel = 'SERIALIZABLE',
29
32
  log?: Logger
30
33
  ) {
31
34
  this.log = log?.child({graphqlCtx: this.id})
@@ -53,7 +56,7 @@ export class PoolOpenreaderContext implements OpenreaderContext {
53
56
  private async transact<T>(pool: Pool, cb: (db: Database) => Promise<T>): Promise<T> {
54
57
  let client = await pool.connect()
55
58
  try {
56
- await this.query(client, 'START TRANSACTION ISOLATION LEVEL SERIALIZABLE READ ONLY')
59
+ await this.query(client, `START TRANSACTION ISOLATION LEVEL ${this.isolationLevel} READ ONLY`)
57
60
  try {
58
61
  return await cb(async (sql, parameters) => {
59
62
  let result = await this.query(client, sql, parameters)
package/src/main.ts CHANGED
@@ -33,6 +33,7 @@ GraphQL server for postgres-compatible databases
33
33
  program.option('--subscriptions', 'enable gql subscriptions')
34
34
  program.option('--subscription-poll-interval <ms>', 'subscription poll interval in ms', nat, 1000)
35
35
  program.option('--subscription-max-response-size <nodes>', 'max response size measured in nodes', nat)
36
+ program.addOption(new Option('--isolation-level <level>', 'transaction isolation level').choices(['SERIALIZABLE', 'REPEATABLE READ', 'READ COMMITTED']))
36
37
 
37
38
  let opts = program.parse().opts() as {
38
39
  schema: string
@@ -47,6 +48,7 @@ GraphQL server for postgres-compatible databases
47
48
  subscriptions?: boolean
48
49
  subscriptionPollInterval: number
49
50
  subscriptionMaxResponseSize?: number
51
+ isolationLevel?: 'SERIALIZABLE' | 'REPEATABLE READ' | 'READ COMMITTED'
50
52
  }
51
53
 
52
54
  let model = loadModel(opts.schema)
@@ -68,7 +70,8 @@ GraphQL server for postgres-compatible databases
68
70
  subscriptions: opts.subscriptions,
69
71
  subscriptionPollInterval: opts.subscriptionPollInterval,
70
72
  subscriptionMaxResponseNodes: opts.subscriptionMaxResponseSize,
71
- validationMaxErrors: opts.validationMaxErrors
73
+ validationMaxErrors: opts.validationMaxErrors,
74
+ isolationLevel: opts.isolationLevel
72
75
  })
73
76
 
74
77
  LOG.info(`listening on port ${server.port}`)
package/src/server.ts CHANGED
@@ -12,7 +12,7 @@ import type {Pool} from 'pg'
12
12
  import {WebSocketServer} from 'ws'
13
13
  import {Context, OpenreaderContext} from './context'
14
14
  import {PoolOpenreaderContext} from './db'
15
- import type {DbType} from './db'
15
+ import type {DbType, TransactionIsolationLevel} from './db'
16
16
  import type {Model} from './model'
17
17
  import {openreaderExecute, openreaderSubscribe} from './util/execute'
18
18
  import {ResponseSizeLimit} from './util/limit'
@@ -36,6 +36,7 @@ export interface ServerOptions {
36
36
  subscriptionMaxResponseNodes?: number
37
37
  validationMaxErrors?: number
38
38
  cache?: KeyValueCache
39
+ isolationLevel?: TransactionIsolationLevel
39
40
  }
40
41
 
41
42
  export async function serve(options: ServerOptions): Promise<ListeningServer> {
@@ -54,12 +55,15 @@ export async function serve(options: ServerOptions): Promise<ListeningServer> {
54
55
  let schemaBuilder = await getSchemaBuilder(options)
55
56
  let schema = schemaBuilder.build()
56
57
 
58
+ let isolationLevel = options.isolationLevel ?? 'SERIALIZABLE'
59
+
57
60
  let context = () => {
58
61
  let openreader: OpenreaderContext = new PoolOpenreaderContext(
59
62
  dbType,
60
63
  connection,
61
64
  subscriptionConnection,
62
65
  subscriptionPollInterval,
66
+ isolationLevel,
63
67
  log
64
68
  )
65
69
 
@@ -1,4 +1,3 @@
1
- import expect from 'expect'
2
1
  import {parse} from 'graphql'
3
2
  import {buildModel, buildSchema, SchemaError} from '../model.schema'
4
3
  import {useDatabase, useServer} from './setup'
@@ -6,7 +6,13 @@ function tsvector(columns: string[]) {
6
6
  }
7
7
 
8
8
 
9
- isCockroach() || describe.skip('full text search', function () {
9
+ // TODO: FTS tests have been disabled since 2022-08-17 (Eldar Gabdullin, PR #95 "New openreader")
10
+ // via the `isCockroach() || describe.skip(...)` pattern which never actually ran them —
11
+ // on cockroach `||` short-circuited, on postgres `describe.skip` registered the suite as skipped.
12
+ // Re-enabling via `describe.skipIf(isCockroach())` revealed schema drift: the generated GraphQL
13
+ // lacks a `search` field now, so `Cannot query field "search" on type "Query"` is thrown.
14
+ // Keeping unconditionally skipped until the FTS pipeline is revisited.
15
+ describe.skip('full text search', function () {
10
16
  useDatabase([
11
17
  `create table foo (
12
18
  id text primary key,
@@ -1,4 +1,3 @@
1
- import expect from 'expect'
2
1
  import {useDatabase, useServer} from './setup'
3
2
  import {Dialect} from '../dialect'
4
3
 
@@ -1,4 +1,3 @@
1
- import expect from 'expect'
2
1
  import {useDatabase, useServer} from './setup'
3
2
 
4
3
  describe('queryable interfaces', function() {
package/src/test/setup.ts CHANGED
@@ -1,3 +1,4 @@
1
+ /// <reference types="vitest/globals" />
1
2
  import {createLogger} from '@subsquid/logger'
2
3
  import {assertNotNull} from "@subsquid/util-internal"
3
4
  import {ListeningServer} from "@subsquid/util-internal-http-server"
@@ -53,7 +54,7 @@ export function databaseDelete(): Promise<void> {
53
54
 
54
55
 
55
56
  export function useDatabase(sql: string[]): void {
56
- before(async () => {
57
+ beforeAll(async () => {
57
58
  await databaseDelete()
58
59
  await databaseExecute(sql)
59
60
  })
@@ -64,7 +65,7 @@ export function useServer(schema: string, options?: Partial<ServerOptions>): Cli
64
65
  let client = new Client('not defined')
65
66
  let db = new Pool(db_config)
66
67
  let info: ListeningServer | undefined
67
- before(async () => {
68
+ beforeAll(async () => {
68
69
  info = await serve({
69
70
  connection: db,
70
71
  model: buildModel(buildSchema(parse(schema))),
@@ -78,7 +79,7 @@ export function useServer(schema: string, options?: Partial<ServerOptions>): Cli
78
79
  })
79
80
  client.endpoint = `http://localhost:${info.port}/graphql`
80
81
  })
81
- after(() => info?.close())
82
- after(() => db.end())
82
+ afterAll(() => info?.close())
83
+ afterAll(() => db.end())
83
84
  return client
84
85
  }
@@ -1,5 +1,4 @@
1
1
  import {wait} from "@subsquid/util-internal"
2
- import expect from "expect"
3
2
  import {databaseExecute, useDatabase, useServer} from "./setup"
4
3
 
5
4
 
@@ -1,5 +1,4 @@
1
1
  import * as path from "path"
2
- import expect from "expect"
3
2
  import {loadModel} from "../tools"
4
3
 
5
4
  function fixture(name: string): string {
@@ -0,0 +1,34 @@
1
+ import {toSnakeCase} from '@subsquid/util-naming'
2
+ import {POSTGRES_MAX_IDENTIFIER_LENGTH, toTable} from '../util/util'
3
+
4
+
5
+ describe('toTable', function() {
6
+ it('snake_cases short entity names unchanged', function() {
7
+ expect(toTable('Account')).toBe('account')
8
+ expect(toTable('TokenTransfer')).toBe('token_transfer')
9
+ })
10
+
11
+ it('truncates names that exceed the identifier limit, matching typeorm-codegen', function() {
12
+ // The physical table typeorm-codegen creates for this entity.
13
+ const entity = 'LevrConfigProviderSchemaLiquidationBufferBpsOverUnderUpdated'
14
+ const full = toSnakeCase(entity)
15
+ expect(full.length).toBeGreaterThan(POSTGRES_MAX_IDENTIFIER_LENGTH)
16
+
17
+ const table = toTable(entity)
18
+ expect(table.length).toBe(POSTGRES_MAX_IDENTIFIER_LENGTH)
19
+ expect(table).toBe(full.slice(0, POSTGRES_MAX_IDENTIFIER_LENGTH))
20
+ expect(table).toBe('levr_config_provider_schema_liquidation_buffer_bps_over_under_u')
21
+ })
22
+
23
+ it('leaves a name exactly at the limit unchanged (boundary)', function() {
24
+ const entity = 'A' + 'a'.repeat(62) // snake length 63
25
+ expect(toSnakeCase(entity).length).toBe(POSTGRES_MAX_IDENTIFIER_LENGTH)
26
+ expect(toTable(entity)).toBe(toSnakeCase(entity))
27
+ })
28
+
29
+ it('truncates a name one byte over the limit (boundary)', function() {
30
+ const entity = 'A' + 'a'.repeat(63) // snake length 64
31
+ expect(toSnakeCase(entity).length).toBe(POSTGRES_MAX_IDENTIFIER_LENGTH + 1)
32
+ expect(toTable(entity).length).toBe(POSTGRES_MAX_IDENTIFIER_LENGTH)
33
+ })
34
+ })
package/src/util/util.ts CHANGED
@@ -3,6 +3,34 @@ import assert from "assert"
3
3
  import {Prop} from "../model"
4
4
 
5
5
 
6
+ /**
7
+ * PostgreSQL truncates any identifier longer than `NAMEDATALEN - 1` (63 bytes on
8
+ * a default build) when it is stored in the catalog. `@subsquid/typeorm-codegen`
9
+ * prunes over-long table names to this limit when generating the schema, so the
10
+ * physical table is created with at most this many bytes.
11
+ *
12
+ * We must apply the *same* truncation when building queries, otherwise on a
13
+ * server whose `NAMEDATALEN` is larger than the default we would emit the full,
14
+ * untruncated name — which Postgres would not truncate — and it would miss the
15
+ * (already-pruned) table. Truncating here makes the generated SQL target the
16
+ * right table regardless of the server's `NAMEDATALEN`.
17
+ *
18
+ * GraphQL type names are restricted to ASCII letters, digits and underscores,
19
+ * and `toSnakeCase` keeps them ASCII, so `name.length` below equals the byte
20
+ * length — the unit PostgreSQL's limit is actually measured in.
21
+ *
22
+ * Keep this value in sync with `typeorm-codegen`'s `POSTGRES_MAX_IDENTIFIER_LENGTH`.
23
+ */
24
+ export const POSTGRES_MAX_IDENTIFIER_LENGTH = 63
25
+
26
+
27
+ function truncateIdentifier(name: string): string {
28
+ return name.length > POSTGRES_MAX_IDENTIFIER_LENGTH
29
+ ? name.slice(0, POSTGRES_MAX_IDENTIFIER_LENGTH)
30
+ : name
31
+ }
32
+
33
+
6
34
  export function toColumn(gqlFieldName: string): string {
7
35
  return toSnakeCase(gqlFieldName)
8
36
  }
@@ -14,7 +42,7 @@ export function toFkColumn(gqlFieldName: string): string {
14
42
 
15
43
 
16
44
  export function toTable(entityName: string): string {
17
- return toSnakeCase(entityName)
45
+ return truncateIdentifier(toSnakeCase(entityName))
18
46
  }
19
47
 
20
48