@contember/engine-content-api 2.0.3 → 2.0.4

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 (25) hide show
  1. package/dist/development/src/ExecutionContainer.cjs +3 -2
  2. package/dist/development/src/ExecutionContainer.cjs.map +1 -1
  3. package/dist/development/src/ExecutionContainer.js +3 -2
  4. package/dist/development/src/ExecutionContainer.js.map +1 -1
  5. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs +6 -2
  6. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
  7. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js +6 -2
  8. package/dist/development/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
  9. package/dist/production/src/ExecutionContainer.cjs +3 -2
  10. package/dist/production/src/ExecutionContainer.cjs.map +1 -1
  11. package/dist/production/src/ExecutionContainer.js +3 -2
  12. package/dist/production/src/ExecutionContainer.js.map +1 -1
  13. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs +6 -2
  14. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.cjs.map +1 -1
  15. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.js +6 -2
  16. package/dist/production/src/mapper/select/optimizer/WhereOptimizer.js.map +1 -1
  17. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  18. package/dist/types/ExecutionContainer.d.ts +3 -2
  19. package/dist/types/ExecutionContainer.d.ts.map +1 -1
  20. package/dist/types/mapper/select/optimizer/WhereOptimizer.d.ts +6 -1
  21. package/dist/types/mapper/select/optimizer/WhereOptimizer.d.ts.map +1 -1
  22. package/dist/types/tsconfig.tsbuildinfo +1 -1
  23. package/package.json +10 -10
  24. package/src/ExecutionContainer.ts +3 -2
  25. package/src/mapper/select/optimizer/WhereOptimizer.ts +10 -1
@@ -8,7 +8,7 @@ import { Acl, Model, Schema } from '@contember/schema';
8
8
  import { Client, DatabaseMetadata, SelectBuilder as DbSelectBuilder } from '@contember/database';
9
9
  import { Providers } from '@contember/schema-utils';
10
10
  import { PaginatedHasManyExecutionHandler } from './extensions/paginatedHasMany/PaginatedHasManyExecutionHandler';
11
- import { WhereOptimizer } from './mapper/select/optimizer/WhereOptimizer';
11
+ import { WhereOptimizer, WhereOptimizerOptions } from './mapper/select/optimizer/WhereOptimizer';
12
12
  import { GraphQlQueryAstFactory, MutationResolver, ReadResolver, ValidationResolver } from './resolvers';
13
13
  import { ColumnValueResolver, DependencyCollector, EntityRulesResolver, InputPreValidator, QueryAstFactory, ValidationDataSelector } from './input-validation';
14
14
  export type ExecutionContainerArgs = {
@@ -39,8 +39,9 @@ export type ExecutionContainerBuilder = ReturnType<ExecutionContainerFactory['cr
39
39
  export type ExecutionContainerHook = (builder: ExecutionContainerBuilder) => ExecutionContainerBuilder;
40
40
  export declare class ExecutionContainerFactory {
41
41
  private readonly providers;
42
+ private readonly whereOptimizerOptions?;
42
43
  readonly hooks: ExecutionContainerHook[];
43
- constructor(providers: Providers);
44
+ constructor(providers: Providers, whereOptimizerOptions?: WhereOptimizerOptions | undefined);
44
45
  createBuilder(args: ExecutionContainerArgs): ExecutionContainerBuilder;
45
46
  createBuilderInternal({ permissions, identityVariables, identityId, db, schema, schemaMeta, systemSchema, stage, project, schemaDatabaseMetadata }: ExecutionContainerArgs): Builder<{
46
47
  systemSchema: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionContainer.d.ts","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExecutionContainer.d.ts","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,16 @@ export interface WhereOptimizationHints {
4
4
  relationPath?: Model.AnyRelationContext[];
5
5
  evaluatedPredicates?: Input.OptionalWhere[];
6
6
  }
7
+ export type WhereOptimizerOptions = {
8
+ disable?: boolean;
9
+ maxCrossOptimizationInput?: number;
10
+ };
7
11
  export declare class WhereOptimizer {
8
12
  private readonly model;
9
13
  private readonly conditionOptimizer;
14
+ private readonly options?;
10
15
  private static eliminableRelations;
11
- constructor(model: Model.Schema, conditionOptimizer: ConditionOptimizer);
16
+ constructor(model: Model.Schema, conditionOptimizer: ConditionOptimizer, options?: WhereOptimizerOptions | undefined);
12
17
  optimize(where: Input.OptionalWhere, entity: Model.Entity, { relationPath, evaluatedPredicates }?: WhereOptimizationHints): Input.OptionalWhere;
13
18
  private optimizeWhere;
14
19
  private optimizeOr;
@@ -1 +1 @@
1
- {"version":3,"file":"WhereOptimizer.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereOptimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAYzD,MAAM,WAAW,sBAAsB;IACtC,YAAY,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAA;IACzC,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,CAAA;CAC3C;AAID,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAJpC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAmG;gBAGnH,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,kBAAkB,EAAE,kBAAkB;IAIjD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,YAAiB,EAAE,mBAAwB,EAAE,GAAE,sBAA2B,GAAG,KAAK,CAAC,aAAa;IA+BpK,OAAO,CAAC,aAAa;IAiDrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,iBAAiB;CAqCzB"}
1
+ {"version":3,"file":"WhereOptimizer.d.ts","sourceRoot":"","sources":["../../../../../src/mapper/select/optimizer/WhereOptimizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAYzD,MAAM,WAAW,sBAAsB;IACtC,YAAY,CAAC,EAAE,KAAK,CAAC,kBAAkB,EAAE,CAAA;IACzC,mBAAmB,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,CAAA;CAC3C;AAID,MAAM,MAAM,qBAAqB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,yBAAyB,CAAC,EAAE,MAAM,CAAA;CAClC,CAAA;AAED,qBAAa,cAAc;IAIzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAL1B,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAmG;gBAGnH,KAAK,EAAE,KAAK,CAAC,MAAM,EACnB,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,CAAC,EAAE,qBAAqB,YAAA;IAI1C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,YAAiB,EAAE,mBAAwB,EAAE,GAAE,sBAA2B,GAAG,KAAK,CAAC,aAAa;IAkCpK,OAAO,CAAC,aAAa;IAiDrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,iBAAiB;CAqCzB"}