cruddl 3.3.1 → 3.3.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/dist/src/cruddl-version.js +1 -1
- package/dist/src/meta-schema/meta-schema.js +19 -17
- package/dist/src/meta-schema/meta-schema.js.map +1 -1
- package/package.json +1 -1
- package/dist/spec/authorization/move-errors-to-output-nodes.spec.d.ts +0 -1
- package/dist/spec/authorization/move-errors-to-output-nodes.spec.js +0 -111
- package/dist/spec/authorization/move-errors-to-output-nodes.spec.js.map +0 -1
- package/dist/spec/authorization/permission-descriptor.spec.d.ts +0 -1
- package/dist/spec/authorization/permission-descriptor.spec.js +0 -85
- package/dist/spec/authorization/permission-descriptor.spec.js.map +0 -1
- package/dist/spec/authorization/permission-profile.spec.d.ts +0 -1
- package/dist/spec/authorization/permission-profile.spec.js +0 -110
- package/dist/spec/authorization/permission-profile.spec.js.map +0 -1
- package/dist/spec/database/arangodb/aql-generator.spec.d.ts +0 -1
- package/dist/spec/database/arangodb/aql-generator.spec.js +0 -21
- package/dist/spec/database/arangodb/aql-generator.spec.js.map +0 -1
- package/dist/spec/database/arangodb/aql.spec.d.ts +0 -1
- package/dist/spec/database/arangodb/aql.spec.js +0 -78
- package/dist/spec/database/arangodb/aql.spec.js.map +0 -1
- package/dist/spec/database/arangodb/arangodb-adapter.spec.d.ts +0 -1
- package/dist/spec/database/arangodb/arangodb-adapter.spec.js +0 -192
- package/dist/spec/database/arangodb/arangodb-adapter.spec.js.map +0 -1
- package/dist/spec/database/arangodb/arangodb-test-utils.d.ts +0 -1
- package/dist/spec/database/arangodb/arangodb-test-utils.js +0 -8
- package/dist/spec/database/arangodb/arangodb-test-utils.js.map +0 -1
- package/dist/spec/database/arangodb/retry.spec.d.ts +0 -1
- package/dist/spec/database/arangodb/retry.spec.js +0 -74
- package/dist/spec/database/arangodb/retry.spec.js.map +0 -1
- package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.d.ts +0 -1
- package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.js +0 -76
- package/dist/spec/database/arangodb/schema-migration/arango-search-helper.spec.js.map +0 -1
- package/dist/spec/database/arangodb/ttl.spec.d.ts +0 -1
- package/dist/spec/database/arangodb/ttl.spec.js +0 -346
- package/dist/spec/database/arangodb/ttl.spec.js.map +0 -1
- package/dist/spec/database/like-helper.spec.d.ts +0 -1
- package/dist/spec/database/like-helper.spec.js +0 -87
- package/dist/spec/database/like-helper.spec.js.map +0 -1
- package/dist/spec/dev/fast-server.d.ts +0 -4
- package/dist/spec/dev/fast-server.js +0 -57
- package/dist/spec/dev/fast-server.js.map +0 -1
- package/dist/spec/dev/server.d.ts +0 -12
- package/dist/spec/dev/server.js +0 -121
- package/dist/spec/dev/server.js.map +0 -1
- package/dist/spec/dev/start.d.ts +0 -1
- package/dist/spec/dev/start.js +0 -10
- package/dist/spec/dev/start.js.map +0 -1
- package/dist/spec/graphql/query-distiller.spec.d.ts +0 -1
- package/dist/spec/graphql/query-distiller.spec.js +0 -220
- package/dist/spec/graphql/query-distiller.spec.js.map +0 -1
- package/dist/spec/helpers/log4js-logger-provider.d.ts +0 -11
- package/dist/spec/helpers/log4js-logger-provider.js +0 -18
- package/dist/spec/helpers/log4js-logger-provider.js.map +0 -1
- package/dist/spec/init.mocha.d.ts +0 -1
- package/dist/spec/init.mocha.js +0 -11
- package/dist/spec/init.mocha.js.map +0 -1
- package/dist/spec/meta-schema/meta-schema.spec.d.ts +0 -1
- package/dist/spec/meta-schema/meta-schema.spec.js +0 -951
- package/dist/spec/meta-schema/meta-schema.spec.js.map +0 -1
- package/dist/spec/model/create-model.spec.d.ts +0 -1
- package/dist/spec/model/create-model.spec.js +0 -158
- package/dist/spec/model/create-model.spec.js.map +0 -1
- package/dist/spec/model/implementation/billing-validation.spec.d.ts +0 -1
- package/dist/spec/model/implementation/billing-validation.spec.js +0 -180
- package/dist/spec/model/implementation/billing-validation.spec.js.map +0 -1
- package/dist/spec/model/implementation/collect-path.spec.d.ts +0 -1
- package/dist/spec/model/implementation/collect-path.spec.js +0 -678
- package/dist/spec/model/implementation/collect-path.spec.js.map +0 -1
- package/dist/spec/model/implementation/entity-extenion-type.spec.d.ts +0 -1
- package/dist/spec/model/implementation/entity-extenion-type.spec.js +0 -71
- package/dist/spec/model/implementation/entity-extenion-type.spec.js.map +0 -1
- package/dist/spec/model/implementation/field.spec.d.ts +0 -1
- package/dist/spec/model/implementation/field.spec.js +0 -648
- package/dist/spec/model/implementation/field.spec.js.map +0 -1
- package/dist/spec/model/implementation/flex-search-validation.spec.d.ts +0 -1
- package/dist/spec/model/implementation/flex-search-validation.spec.js +0 -288
- package/dist/spec/model/implementation/flex-search-validation.spec.js.map +0 -1
- package/dist/spec/model/implementation/i18n-fields.spec.d.ts +0 -1
- package/dist/spec/model/implementation/i18n-fields.spec.js +0 -208
- package/dist/spec/model/implementation/i18n-fields.spec.js.map +0 -1
- package/dist/spec/model/implementation/i18n-types.spec.d.ts +0 -1
- package/dist/spec/model/implementation/i18n-types.spec.js +0 -160
- package/dist/spec/model/implementation/i18n-types.spec.js.map +0 -1
- package/dist/spec/model/implementation/i18n-validation.spec.d.ts +0 -1
- package/dist/spec/model/implementation/i18n-validation.spec.js +0 -210
- package/dist/spec/model/implementation/i18n-validation.spec.js.map +0 -1
- package/dist/spec/model/implementation/indices.spec.d.ts +0 -1
- package/dist/spec/model/implementation/indices.spec.js +0 -96
- package/dist/spec/model/implementation/indices.spec.js.map +0 -1
- package/dist/spec/model/implementation/model.spec.d.ts +0 -1
- package/dist/spec/model/implementation/model.spec.js +0 -101
- package/dist/spec/model/implementation/model.spec.js.map +0 -1
- package/dist/spec/model/implementation/namespace.spec.d.ts +0 -1
- package/dist/spec/model/implementation/namespace.spec.js +0 -231
- package/dist/spec/model/implementation/namespace.spec.js.map +0 -1
- package/dist/spec/model/implementation/object-type.spec.d.ts +0 -1
- package/dist/spec/model/implementation/object-type.spec.js +0 -65
- package/dist/spec/model/implementation/object-type.spec.js.map +0 -1
- package/dist/spec/model/implementation/relation.spec.d.ts +0 -1
- package/dist/spec/model/implementation/relation.spec.js +0 -99
- package/dist/spec/model/implementation/relation.spec.js.map +0 -1
- package/dist/spec/model/implementation/root-entity-type.spec.d.ts +0 -1
- package/dist/spec/model/implementation/root-entity-type.spec.js +0 -470
- package/dist/spec/model/implementation/root-entity-type.spec.js.map +0 -1
- package/dist/spec/model/implementation/type.spec.d.ts +0 -1
- package/dist/spec/model/implementation/type.spec.js +0 -52
- package/dist/spec/model/implementation/type.spec.js.map +0 -1
- package/dist/spec/model/implementation/validation-utils.d.ts +0 -7
- package/dist/spec/model/implementation/validation-utils.js +0 -34
- package/dist/spec/model/implementation/validation-utils.js.map +0 -1
- package/dist/spec/model/model-spec.helper.d.ts +0 -3
- package/dist/spec/model/model-spec.helper.js +0 -35
- package/dist/spec/model/model-spec.helper.js.map +0 -1
- package/dist/spec/performance/associations.perf.d.ts +0 -3
- package/dist/spec/performance/associations.perf.js +0 -78
- package/dist/spec/performance/associations.perf.js.map +0 -1
- package/dist/spec/performance/count.perf.d.ts +0 -5
- package/dist/spec/performance/count.perf.js +0 -52
- package/dist/spec/performance/count.perf.js.map +0 -1
- package/dist/spec/performance/crud.perf.d.ts +0 -3
- package/dist/spec/performance/crud.perf.js +0 -100
- package/dist/spec/performance/crud.perf.js.map +0 -1
- package/dist/spec/performance/filter.perf.d.ts +0 -3
- package/dist/spec/performance/filter.perf.js +0 -32
- package/dist/spec/performance/filter.perf.js.map +0 -1
- package/dist/spec/performance/index.d.ts +0 -1
- package/dist/spec/performance/index.js +0 -21
- package/dist/spec/performance/index.js.map +0 -1
- package/dist/spec/performance/pagination.perf.d.ts +0 -5
- package/dist/spec/performance/pagination.perf.js +0 -50
- package/dist/spec/performance/pagination.perf.js.map +0 -1
- package/dist/spec/performance/query-pipeline.perf.d.ts +0 -3
- package/dist/spec/performance/query-pipeline.perf.js +0 -196
- package/dist/spec/performance/query-pipeline.perf.js.map +0 -1
- package/dist/spec/performance/references.perf.d.ts +0 -3
- package/dist/spec/performance/references.perf.js +0 -62
- package/dist/spec/performance/references.perf.js.map +0 -1
- package/dist/spec/performance/support/async-bench.d.ts +0 -92
- package/dist/spec/performance/support/async-bench.js +0 -237
- package/dist/spec/performance/support/async-bench.js.map +0 -1
- package/dist/spec/performance/support/helpers.d.ts +0 -28
- package/dist/spec/performance/support/helpers.js +0 -130
- package/dist/spec/performance/support/helpers.js.map +0 -1
- package/dist/spec/performance/support/runner.d.ts +0 -2
- package/dist/spec/performance/support/runner.js +0 -72
- package/dist/spec/performance/support/runner.js.map +0 -1
- package/dist/spec/project/project.spec.d.ts +0 -1
- package/dist/spec/project/project.spec.js +0 -72
- package/dist/spec/project/project.spec.js.map +0 -1
- package/dist/spec/query-tree/utils/simplify-booleans.spec.d.ts +0 -1
- package/dist/spec/query-tree/utils/simplify-booleans.spec.js +0 -87
- package/dist/spec/query-tree/utils/simplify-booleans.spec.js.map +0 -1
- package/dist/spec/regression/drop-test-db.d.ts +0 -1
- package/dist/spec/regression/drop-test-db.js +0 -5
- package/dist/spec/regression/drop-test-db.js.map +0 -1
- package/dist/spec/regression/initialization.d.ts +0 -10
- package/dist/spec/regression/initialization.js +0 -148
- package/dist/spec/regression/initialization.js.map +0 -1
- package/dist/spec/regression/regression-suite.d.ts +0 -28
- package/dist/spec/regression/regression-suite.js +0 -228
- package/dist/spec/regression/regression-suite.js.map +0 -1
- package/dist/spec/regression/regressions.spec.d.ts +0 -1
- package/dist/spec/regression/regressions.spec.js +0 -54
- package/dist/spec/regression/regressions.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/business-object.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/business-object.spec.js +0 -27
- package/dist/spec/schema/ast-validation-modules/business-object.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.js +0 -73
- package/dist/spec/schema/ast-validation-modules/check-directed-relation-edges-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/collect-validation.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/collect-validation.spec.js +0 -633
- package/dist/spec/schema/ast-validation-modules/collect-validation.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.js +0 -94
- package/dist/spec/schema/ast-validation-modules/entity-directive-nesting-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/flex-search-commit-interval-msec-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/flex-search-commit-interval-msec-validator.spec.js +0 -235
- package/dist/spec/schema/ast-validation-modules/flex-search-commit-interval-msec-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/helpers.d.ts +0 -10
- package/dist/spec/schema/ast-validation-modules/helpers.js +0 -85
- package/dist/spec/schema/ast-validation-modules/helpers.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.js +0 -24
- package/dist/spec/schema/ast-validation-modules/illegal-enum-values.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/indices-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/indices-validator.spec.js +0 -117
- package/dist/spec/schema/ast-validation-modules/indices-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.js +0 -139
- package/dist/spec/schema/ast-validation-modules/key-field-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.js +0 -27
- package/dist/spec/schema/ast-validation-modules/known-field-directive-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.js +0 -31
- package/dist/spec/schema/ast-validation-modules/known-object-type-directive-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.js +0 -32
- package/dist/spec/schema/ast-validation-modules/no-duplicate-types-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.js +0 -27
- package/dist/spec/schema/ast-validation-modules/no-lists-of-lists-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.js +0 -27
- package/dist/spec/schema/ast-validation-modules/no-lists-of-references-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.js +0 -27
- package/dist/spec/schema/ast-validation-modules/no-unused-non-root-object-types-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.js +0 -29
- package/dist/spec/schema/ast-validation-modules/non-unique-fields-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.js +0 -53
- package/dist/spec/schema/ast-validation-modules/object-directive-count-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.js +0 -30
- package/dist/spec/schema/ast-validation-modules/only-allowed-types-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/parent-field.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/parent-field.spec.js +0 -451
- package/dist/spec/schema/ast-validation-modules/parent-field.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.js +0 -40
- package/dist/spec/schema/ast-validation-modules/references-only-to-root-entities-with-key-field-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.js +0 -74
- package/dist/spec/schema/ast-validation-modules/references-with-key-field.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.js +0 -26
- package/dist/spec/schema/ast-validation-modules/relations-only-in-root-entities-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.js +0 -26
- package/dist/spec/schema/ast-validation-modules/relations-only-to-root-entities-validator.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/relations.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/relations.spec.js +0 -145
- package/dist/spec/schema/ast-validation-modules/relations.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.js +0 -31
- package/dist/spec/schema/ast-validation-modules/roles-and-permission-profile-combined.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.js +0 -35
- package/dist/spec/schema/ast-validation-modules/roles-on-non-root-entity-types.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.js +0 -27
- package/dist/spec/schema/ast-validation-modules/root-entities-without-read-roles.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/root-field.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/root-field.spec.js +0 -405
- package/dist/spec/schema/ast-validation-modules/root-field.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/ttl.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/ttl.spec.js +0 -362
- package/dist/spec/schema/ast-validation-modules/ttl.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.js +0 -79
- package/dist/spec/schema/ast-validation-modules/undefined-permission-profile.spec.js.map +0 -1
- package/dist/spec/schema/ast-validation-modules/undefined-types.spec.d.ts +0 -1
- package/dist/spec/schema/ast-validation-modules/undefined-types.spec.js +0 -38
- package/dist/spec/schema/ast-validation-modules/undefined-types.spec.js.map +0 -1
- package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.d.ts +0 -1
- package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.js +0 -53
- package/dist/spec/schema/preparation/ast-transformation-modules/add-namespaces-to-types-transformer.spec.js.map +0 -1
- package/dist/spec/schema/scalars/date-time.spec.d.ts +0 -1
- package/dist/spec/schema/scalars/date-time.spec.js +0 -74
- package/dist/spec/schema/scalars/date-time.spec.js.map +0 -1
- package/dist/spec/schema/scalars/fixed-point-decimals.spec.d.ts +0 -1
- package/dist/spec/schema/scalars/fixed-point-decimals.spec.js +0 -66
- package/dist/spec/schema/scalars/fixed-point-decimals.spec.js.map +0 -1
- package/dist/spec/schema/scalars/int53.spec.d.ts +0 -1
- package/dist/spec/schema/scalars/int53.spec.js +0 -45
- package/dist/spec/schema/scalars/int53.spec.js.map +0 -1
- package/dist/spec/schema/scalars/local-date.spec.d.ts +0 -1
- package/dist/spec/schema/scalars/local-date.spec.js +0 -30
- package/dist/spec/schema/scalars/local-date.spec.js.map +0 -1
- package/dist/spec/schema/scalars/local-time.spec.d.ts +0 -1
- package/dist/spec/schema/scalars/local-time.spec.js +0 -64
- package/dist/spec/schema/scalars/local-time.spec.js.map +0 -1
- package/dist/spec/schema/scalars/offset-date-time.spec.d.ts +0 -1
- package/dist/spec/schema/scalars/offset-date-time.spec.js +0 -82
- package/dist/spec/schema/scalars/offset-date-time.spec.js.map +0 -1
- package/dist/spec/schema/scalars/string-map.spec.d.ts +0 -1
- package/dist/spec/schema/scalars/string-map.spec.js +0 -230
- package/dist/spec/schema/scalars/string-map.spec.js.map +0 -1
- package/dist/spec/schema/schema-builder.spec.d.ts +0 -1
- package/dist/spec/schema/schema-builder.spec.js +0 -105
- package/dist/spec/schema/schema-builder.spec.js.map +0 -1
- package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.d.ts +0 -1
- package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.js +0 -30
- package/dist/spec/schema/source-validation-modules/check-graphql-syntax.spec.js.map +0 -1
- package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.d.ts +0 -1
- package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.js +0 -36
- package/dist/spec/schema/source-validation-modules/check-json-syntax.spec.js.map +0 -1
- package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.d.ts +0 -1
- package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.js +0 -30
- package/dist/spec/schema/source-validation-modules/check-yaml-syntax.spec.js.map +0 -1
- package/dist/spec/schema/source-validation-modules/graphql-rules.spec.d.ts +0 -1
- package/dist/spec/schema/source-validation-modules/graphql-rules.spec.js +0 -89
- package/dist/spec/schema/source-validation-modules/graphql-rules.spec.js.map +0 -1
- package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.d.ts +0 -1
- package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.js +0 -99
- package/dist/spec/schema/source-validation-modules/permission-profile-validator.spec.js.map +0 -1
- package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.d.ts +0 -1
- package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js +0 -145
- package/dist/spec/schema/source-validation-modules/sidecar-schema.spec.js.map +0 -1
- package/dist/spec/schema/source-validation-modules/source-validation-helper.d.ts +0 -3
- package/dist/spec/schema/source-validation-modules/source-validation-helper.js +0 -12
- package/dist/spec/schema/source-validation-modules/source-validation-helper.js.map +0 -1
- package/dist/spec/schema/source-validation-modules/yaml-parser.spec.d.ts +0 -1
- package/dist/spec/schema/source-validation-modules/yaml-parser.spec.js +0 -87
- package/dist/spec/schema/source-validation-modules/yaml-parser.spec.js.map +0 -1
- package/dist/spec/schema-generation/create-input-type-generator.spec.d.ts +0 -1
- package/dist/spec/schema-generation/create-input-type-generator.spec.js +0 -518
- package/dist/spec/schema-generation/create-input-type-generator.spec.js.map +0 -1
- package/dist/spec/schema-generation/createdat-updatedat-modification.spec.d.ts +0 -1
- package/dist/spec/schema-generation/createdat-updatedat-modification.spec.js +0 -160
- package/dist/spec/schema-generation/createdat-updatedat-modification.spec.js.map +0 -1
- package/dist/spec/schema-generation/enum-type-generator.spec.d.ts +0 -1
- package/dist/spec/schema-generation/enum-type-generator.spec.js +0 -21
- package/dist/spec/schema-generation/enum-type-generator.spec.js.map +0 -1
- package/dist/spec/schema-generation/memorize-decorator.spec.d.ts +0 -1
- package/dist/spec/schema-generation/memorize-decorator.spec.js +0 -39
- package/dist/spec/schema-generation/memorize-decorator.spec.js.map +0 -1
- package/dist/spec/schema-generation/order-by-enum-generator.spec.d.ts +0 -1
- package/dist/spec/schema-generation/order-by-enum-generator.spec.js +0 -188
- package/dist/spec/schema-generation/order-by-enum-generator.spec.js.map +0 -1
- package/dist/spec/utils/group-by-equivalence.spec.d.ts +0 -1
- package/dist/spec/utils/group-by-equivalence.spec.js +0 -11
- package/dist/spec/utils/group-by-equivalence.spec.js.map +0 -1
- package/dist/spec/utils/utils.spec.d.ts +0 -1
- package/dist/spec/utils/utils.spec.js +0 -24
- package/dist/spec/utils/utils.spec.js.map +0 -1
- package/dist/spec/utils/visitor.spec.d.ts +0 -1
- package/dist/spec/utils/visitor.spec.js +0 -119
- package/dist/spec/utils/visitor.spec.js.map +0 -1
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const utils_1 = require("../../src/utils/utils");
|
|
4
|
-
const helpers_1 = require("./support/helpers");
|
|
5
|
-
async function setUpPapersAndReaders(environment, config) {
|
|
6
|
-
await Promise.all([
|
|
7
|
-
(0, helpers_1.addManyPapersWithAQL)(environment, config.paperCount, (0, helpers_1.createLargePaper)(1)),
|
|
8
|
-
(0, helpers_1.addManyUsersWithAQL)(environment, config.paperCount, (0, helpers_1.createUser)()),
|
|
9
|
-
]);
|
|
10
|
-
await environment.getDB().query((0, helpers_1.aql) `
|
|
11
|
-
FOR index
|
|
12
|
-
IN 1..${config.associationCount}
|
|
13
|
-
LET user = FIRST(
|
|
14
|
-
FOR user
|
|
15
|
-
IN users
|
|
16
|
-
SORT RAND()
|
|
17
|
-
LIMIT 1
|
|
18
|
-
RETURN user
|
|
19
|
-
)
|
|
20
|
-
LET paper = FIRST(
|
|
21
|
-
FOR paper
|
|
22
|
-
IN papers
|
|
23
|
-
SORT RAND()
|
|
24
|
-
LIMIT 1
|
|
25
|
-
RETURN paper
|
|
26
|
-
)
|
|
27
|
-
INSERT { _from: user._id, _to: paper._id }
|
|
28
|
-
INTO papers_users
|
|
29
|
-
`);
|
|
30
|
-
}
|
|
31
|
-
function testFetchWithAssociations(config) {
|
|
32
|
-
let env;
|
|
33
|
-
let sampledIDs = [];
|
|
34
|
-
return {
|
|
35
|
-
name: `Fetch one of one root entity with one level deep associations (${config.paperCount} papers, ${config.userCount} users, ${config.associationCount} associations`,
|
|
36
|
-
async beforeAll() {
|
|
37
|
-
env = await (0, helpers_1.initEnvironment)();
|
|
38
|
-
await setUpPapersAndReaders(env, config);
|
|
39
|
-
},
|
|
40
|
-
async before({ count }) {
|
|
41
|
-
sampledIDs = await (0, helpers_1.getRandomPaperIDsWithAQL)(env, count);
|
|
42
|
-
},
|
|
43
|
-
async fn() {
|
|
44
|
-
const id = (0, utils_1.takeRandomSample)(sampledIDs);
|
|
45
|
-
const result = await env.exec(`
|
|
46
|
-
query($id: ID!) {
|
|
47
|
-
allPapers(filter:{id: $id}) {
|
|
48
|
-
id
|
|
49
|
-
readers(first: 10) {
|
|
50
|
-
id
|
|
51
|
-
firstName
|
|
52
|
-
lastName
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}`, {
|
|
56
|
-
id,
|
|
57
|
-
});
|
|
58
|
-
if (result.allPapers[0].id != id) {
|
|
59
|
-
throw new Error(`Unexpected result: ${JSON.stringify(result)}`);
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
const benchmarks = [
|
|
65
|
-
() => testFetchWithAssociations({ paperCount: 1000, userCount: 1000, associationCount: 10000 }),
|
|
66
|
-
() => testFetchWithAssociations({
|
|
67
|
-
paperCount: 100000,
|
|
68
|
-
userCount: 100000,
|
|
69
|
-
associationCount: 1000000,
|
|
70
|
-
}),
|
|
71
|
-
() => testFetchWithAssociations({
|
|
72
|
-
paperCount: 1000000,
|
|
73
|
-
userCount: 1000000,
|
|
74
|
-
associationCount: 1000000,
|
|
75
|
-
}),
|
|
76
|
-
];
|
|
77
|
-
exports.default = benchmarks;
|
|
78
|
-
//# sourceMappingURL=associations.perf.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"associations.perf.js","sourceRoot":"","sources":["../../../spec/performance/associations.perf.ts"],"names":[],"mappings":";;AACA,iDAAyD;AACzD,+CAS2B;AAE3B,KAAK,UAAU,qBAAqB,CAChC,WAA4B,EAC5B,MAA2E;IAE3E,MAAM,OAAO,CAAC,GAAG,CAAC;QACd,IAAA,8BAAoB,EAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,IAAA,0BAAgB,EAAC,CAAC,CAAC,CAAC;QACzE,IAAA,6BAAmB,EAAC,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE,IAAA,oBAAU,GAAE,CAAC;KACpE,CAAC,CAAC;IAEH,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAA,aAAG,EAAA;;gBAEvB,MAAM,CAAC,gBAAgB;;;;;;;;;;;;;;;;;KAiBlC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,yBAAyB,CAAC,MAIlC;IACG,IAAI,GAAoB,CAAC;IACzB,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,OAAO;QACH,IAAI,EAAE,kEAAkE,MAAM,CAAC,UAAU,YAAY,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,gBAAgB,eAAe;QACtK,KAAK,CAAC,SAAS;YACX,GAAG,GAAG,MAAM,IAAA,yBAAe,GAAE,CAAC;YAC9B,MAAM,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE;YAClB,UAAU,GAAG,MAAM,IAAA,kCAAwB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;QAED,KAAK,CAAC,EAAE;YACJ,MAAM,EAAE,GAAG,IAAA,wBAAgB,EAAC,UAAU,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CACzB;;;;;;;;;;cAUF,EACE;gBACI,EAAE;aACL,CACJ,CAAC;YACF,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;gBAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aACnE;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,GAAuB;IACnC,GAAG,EAAE,CAAC,yBAAyB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAC/F,GAAG,EAAE,CACD,yBAAyB,CAAC;QACtB,UAAU,EAAE,MAAM;QAClB,SAAS,EAAE,MAAM;QACjB,gBAAgB,EAAE,OAAO;KAC5B,CAAC;IACN,GAAG,EAAE,CACD,yBAAyB,CAAC;QACtB,UAAU,EAAE,OAAO;QACnB,SAAS,EAAE,OAAO;QAClB,gBAAgB,EAAE,OAAO;KAC5B,CAAC;CACT,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { BenchmarkFactories } from './support/async-bench';
|
|
2
|
-
import { TestEnvironment } from './support/helpers';
|
|
3
|
-
export declare function addManyPapersWithAQL(environment: TestEnvironment, count: number): Promise<void>;
|
|
4
|
-
declare const benchmarks: BenchmarkFactories;
|
|
5
|
-
export default benchmarks;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addManyPapersWithAQL = void 0;
|
|
4
|
-
const helpers_1 = require("./support/helpers");
|
|
5
|
-
async function addManyPapersWithAQL(environment, count) {
|
|
6
|
-
await environment
|
|
7
|
-
.getDB()
|
|
8
|
-
.query((0, helpers_1.aql) `FOR i IN 1..${count} INSERT { title: CONCAT("Test ", RAND()), isPublished: RAND() > 0.5 } IN papers`);
|
|
9
|
-
}
|
|
10
|
-
exports.addManyPapersWithAQL = addManyPapersWithAQL;
|
|
11
|
-
function testCountWithoutFilter(config) {
|
|
12
|
-
let env;
|
|
13
|
-
return {
|
|
14
|
-
name: `Count all of ${config.rootEntitiesInDB} root entities`,
|
|
15
|
-
async beforeAll() {
|
|
16
|
-
env = await (0, helpers_1.initEnvironment)();
|
|
17
|
-
await addManyPapersWithAQL(env, config.rootEntitiesInDB);
|
|
18
|
-
},
|
|
19
|
-
async fn() {
|
|
20
|
-
const result = await env.exec(`query { _allPapersMeta { count } }`);
|
|
21
|
-
const count = result._allPapersMeta.count;
|
|
22
|
-
if (!count) {
|
|
23
|
-
throw new Error('Count is missing');
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function testCountWithFilter(config) {
|
|
29
|
-
let env;
|
|
30
|
-
return {
|
|
31
|
-
name: `Count about half of ${config.rootEntitiesInDB} root entities`,
|
|
32
|
-
async beforeAll() {
|
|
33
|
-
env = await (0, helpers_1.initEnvironment)();
|
|
34
|
-
await addManyPapersWithAQL(env, config.rootEntitiesInDB);
|
|
35
|
-
},
|
|
36
|
-
async fn() {
|
|
37
|
-
const result = await env.exec(`query { _allPapersMeta(filter:{isPublished:true}) { count } }`);
|
|
38
|
-
const count = result._allPapersMeta.count;
|
|
39
|
-
if (!count) {
|
|
40
|
-
throw new Error('Count is missing');
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
const benchmarks = [
|
|
46
|
-
() => testCountWithoutFilter({ rootEntitiesInDB: 1000 }),
|
|
47
|
-
() => testCountWithoutFilter({ rootEntitiesInDB: 1000000 }),
|
|
48
|
-
() => testCountWithFilter({ rootEntitiesInDB: 1000 }),
|
|
49
|
-
() => testCountWithFilter({ rootEntitiesInDB: 1000000 }),
|
|
50
|
-
];
|
|
51
|
-
exports.default = benchmarks;
|
|
52
|
-
//# sourceMappingURL=count.perf.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"count.perf.js","sourceRoot":"","sources":["../../../spec/performance/count.perf.ts"],"names":[],"mappings":";;;AACA,+CAA0E;AAEnE,KAAK,UAAU,oBAAoB,CAAC,WAA4B,EAAE,KAAa;IAClF,MAAM,WAAW;SACZ,KAAK,EAAE;SACP,KAAK,CACF,IAAA,aAAG,EAAA,eAAe,KAAK,iFAAiF,CAC3G,CAAC;AACV,CAAC;AAND,oDAMC;AAED,SAAS,sBAAsB,CAAC,MAAoC;IAChE,IAAI,GAAoB,CAAC;IACzB,OAAO;QACH,IAAI,EAAE,gBAAgB,MAAM,CAAC,gBAAgB,gBAAgB;QAC7D,KAAK,CAAC,SAAS;YACX,GAAG,GAAG,MAAM,IAAA,yBAAe,GAAE,CAAC;YAC9B,MAAM,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,CAAC,EAAE;YACJ,MAAM,MAAM,GAAQ,MAAM,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACzE,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;YAC1C,IAAI,CAAC,KAAK,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;aACvC;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAoC;IAC7D,IAAI,GAAoB,CAAC;IACzB,OAAO;QACH,IAAI,EAAE,uBAAuB,MAAM,CAAC,gBAAgB,gBAAgB;QACpE,KAAK,CAAC,SAAS;YACX,GAAG,GAAG,MAAM,IAAA,yBAAe,GAAE,CAAC;YAC9B,MAAM,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,CAAC,EAAE;YACJ,MAAM,MAAM,GAAQ,MAAM,GAAG,CAAC,IAAI,CAC9B,+DAA+D,CAClE,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;YAC1C,IAAI,CAAC,KAAK,EAAE;gBACR,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;aACvC;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,GAAuB;IACnC,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACxD,GAAG,EAAE,CAAC,sBAAsB,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC3D,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACrD,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;CAC3D,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const utils_1 = require("../../src/utils/utils");
|
|
4
|
-
const helpers_1 = require("./support/helpers");
|
|
5
|
-
function testAddRootEntity(config) {
|
|
6
|
-
const sizeFactor = (0, helpers_1.getSizeFactorForJSONLength)(config.documentLength);
|
|
7
|
-
let env;
|
|
8
|
-
return {
|
|
9
|
-
name: `Add a document with size of about ${(0, helpers_1.formatBytes)(config.documentLength)}`,
|
|
10
|
-
async before() {
|
|
11
|
-
env = await (0, helpers_1.initEnvironment)();
|
|
12
|
-
},
|
|
13
|
-
async fn() {
|
|
14
|
-
const id = await (0, helpers_1.addPaper)(env, (0, helpers_1.createLargePaper)(sizeFactor));
|
|
15
|
-
if (!id) {
|
|
16
|
-
throw new Error('ID missing');
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
function getSelectionSet(config) {
|
|
22
|
-
if (config.onlyFewFields) {
|
|
23
|
-
return `title, id`;
|
|
24
|
-
}
|
|
25
|
-
return `title, id, tags, literatureReferences { title, authors }`;
|
|
26
|
-
}
|
|
27
|
-
function getOneOfXRootEntities(config) {
|
|
28
|
-
let env;
|
|
29
|
-
let sampledIDs = [];
|
|
30
|
-
const sizeFactor = (0, helpers_1.getSizeFactorForJSONLength)(config.documentLength);
|
|
31
|
-
return {
|
|
32
|
-
name: `Get ${config.onlyFewFields ? 'two fields of ' : ''} one of ${config.rootEntitiesInDB} root entities of size ${(0, helpers_1.formatBytes)(config.documentLength)}`,
|
|
33
|
-
async beforeAll() {
|
|
34
|
-
env = await (0, helpers_1.initEnvironment)();
|
|
35
|
-
await (0, helpers_1.addManyPapersWithAQL)(env, config.rootEntitiesInDB, (0, helpers_1.createLargePaper)(sizeFactor));
|
|
36
|
-
},
|
|
37
|
-
async before({ count }) {
|
|
38
|
-
sampledIDs = await (0, helpers_1.getRandomPaperIDsWithAQL)(env, count);
|
|
39
|
-
},
|
|
40
|
-
async fn() {
|
|
41
|
-
const id = (0, utils_1.takeRandomSample)(sampledIDs);
|
|
42
|
-
const result = await env.exec(`query($id: ID!) { allPapers(filter:{id: $id}) { ${getSelectionSet(config)} } }`, {
|
|
43
|
-
id,
|
|
44
|
-
});
|
|
45
|
-
if (result.allPapers[0].id != id) {
|
|
46
|
-
throw new Error(`Unexpected result: ${JSON.stringify(result)}`);
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
function getAllOfXRootEntities(config) {
|
|
52
|
-
let env;
|
|
53
|
-
const sizeFactor = (0, helpers_1.getSizeFactorForJSONLength)(config.documentLength);
|
|
54
|
-
return {
|
|
55
|
-
name: `Fetch ${config.onlyFewFields ? 'two fields of ' : ''} all ${config.rootEntities} root entities of size ${(0, helpers_1.formatBytes)(config.documentLength)} in a collection`,
|
|
56
|
-
async beforeAll() {
|
|
57
|
-
env = await (0, helpers_1.initEnvironment)();
|
|
58
|
-
await (0, helpers_1.addManyPapersWithAQL)(env, config.rootEntities, (0, helpers_1.createLargePaper)(sizeFactor));
|
|
59
|
-
},
|
|
60
|
-
async fn() {
|
|
61
|
-
const result = await env.exec(`query { allPapers { ${getSelectionSet(config)} } }`);
|
|
62
|
-
if (result.allPapers.length != config.rootEntities) {
|
|
63
|
-
throw new Error(`Expected ${config.rootEntities} root entities, got ${result.allPapers.length}`);
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
// these will allocate up to a few hundred megabytes each
|
|
69
|
-
const benchmarks = [
|
|
70
|
-
() => testAddRootEntity({ documentLength: 100 }),
|
|
71
|
-
() => testAddRootEntity({ documentLength: 10000 }),
|
|
72
|
-
() => testAddRootEntity({ documentLength: 1000000 }),
|
|
73
|
-
() => testAddRootEntity({ documentLength: 10000000 }),
|
|
74
|
-
// test fetching from large collection
|
|
75
|
-
() => getOneOfXRootEntities({ rootEntitiesInDB: 1000, documentLength: 100 }),
|
|
76
|
-
() => getOneOfXRootEntities({ rootEntitiesInDB: 100000, documentLength: 100 }),
|
|
77
|
-
() => getOneOfXRootEntities({ rootEntitiesInDB: 1000000, documentLength: 100 }),
|
|
78
|
-
// test fetching large documents
|
|
79
|
-
() => getOneOfXRootEntities({ rootEntitiesInDB: 10, documentLength: 10000 }),
|
|
80
|
-
() => getOneOfXRootEntities({ rootEntitiesInDB: 10, documentLength: 1000000 }),
|
|
81
|
-
() => getOneOfXRootEntities({ rootEntitiesInDB: 10, documentLength: 10000000 }),
|
|
82
|
-
// test fetching large documents partially
|
|
83
|
-
() => getOneOfXRootEntities({ rootEntitiesInDB: 10, documentLength: 10000, onlyFewFields: true }),
|
|
84
|
-
() => getOneOfXRootEntities({
|
|
85
|
-
rootEntitiesInDB: 10,
|
|
86
|
-
documentLength: 1000000,
|
|
87
|
-
onlyFewFields: true,
|
|
88
|
-
}),
|
|
89
|
-
() => getOneOfXRootEntities({
|
|
90
|
-
rootEntitiesInDB: 10,
|
|
91
|
-
documentLength: 10000000,
|
|
92
|
-
onlyFewFields: true,
|
|
93
|
-
}),
|
|
94
|
-
// test fetching many documents
|
|
95
|
-
() => getAllOfXRootEntities({ rootEntities: 100, documentLength: 1000 }),
|
|
96
|
-
() => getAllOfXRootEntities({ rootEntities: 1000, documentLength: 1000 }),
|
|
97
|
-
() => getAllOfXRootEntities({ rootEntities: 10000, documentLength: 1000 }),
|
|
98
|
-
];
|
|
99
|
-
exports.default = benchmarks;
|
|
100
|
-
//# sourceMappingURL=crud.perf.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crud.perf.js","sourceRoot":"","sources":["../../../spec/performance/crud.perf.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const helpers_1 = require("./support/helpers");
|
|
4
|
-
function testFilter(config) {
|
|
5
|
-
let env;
|
|
6
|
-
return {
|
|
7
|
-
name: `Filter ${config.rootEntitiesInDB} root entities with filter suffix "${config.filterSuffix}" and get one`,
|
|
8
|
-
async beforeAll() {
|
|
9
|
-
env = await (0, helpers_1.initEnvironment)();
|
|
10
|
-
await (0, helpers_1.addNumberedPapersWithAQL)(env, config.rootEntitiesInDB);
|
|
11
|
-
},
|
|
12
|
-
async fn() {
|
|
13
|
-
const threshold = 'Paper ' + Math.floor(Math.random() * config.rootEntitiesInDB + 1);
|
|
14
|
-
const result = await env.exec(`query($threshold: String!) { allPapers(first: 1, filter:{title${config.filterSuffix}: $threshold}) { title id } }`, {
|
|
15
|
-
threshold,
|
|
16
|
-
});
|
|
17
|
-
if (result.allPapers.length !== 1) {
|
|
18
|
-
throw new Error(`Unexpected result: ${JSON.stringify(result)} (threshold: "${threshold}"`);
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
const benchmarks = [
|
|
24
|
-
() => testFilter({ rootEntitiesInDB: 10000, filterSuffix: '' }),
|
|
25
|
-
() => testFilter({ rootEntitiesInDB: 10000, filterSuffix: '_starts_with' }),
|
|
26
|
-
() => testFilter({ rootEntitiesInDB: 10000, filterSuffix: '_contains' }),
|
|
27
|
-
() => testFilter({ rootEntitiesInDB: 100000, filterSuffix: '' }),
|
|
28
|
-
() => testFilter({ rootEntitiesInDB: 100000, filterSuffix: '_starts_with' }),
|
|
29
|
-
() => testFilter({ rootEntitiesInDB: 100000, filterSuffix: '_contains' }),
|
|
30
|
-
];
|
|
31
|
-
exports.default = benchmarks;
|
|
32
|
-
//# sourceMappingURL=filter.perf.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter.perf.js","sourceRoot":"","sources":["../../../spec/performance/filter.perf.ts"],"names":[],"mappings":";;AAEA,+CAU2B;AAE3B,SAAS,UAAU,CAAC,MAA0D;IAC1E,IAAI,GAAoB,CAAC;IACzB,OAAO;QACH,IAAI,EAAE,UAAU,MAAM,CAAC,gBAAgB,sCAAsC,MAAM,CAAC,YAAY,eAAe;QAC/G,KAAK,CAAC,SAAS;YACX,GAAG,GAAG,MAAM,IAAA,yBAAe,GAAE,CAAC;YAC9B,MAAM,IAAA,kCAAwB,EAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACjE,CAAC;QAED,KAAK,CAAC,EAAE;YACJ,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CACzB,iEAAiE,MAAM,CAAC,YAAY,+BAA+B,EACnH;gBACI,SAAS;aACZ,CACJ,CAAC;YACF,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,MAAM,IAAI,KAAK,CACX,sBAAsB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,SAAS,GAAG,CAC5E,CAAC;aACL;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,GAAuB;IACnC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC/D,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;IAC3E,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;IAExE,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAChE,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;IAC5E,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;CAC5E,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const runner_1 = require("./support/runner");
|
|
5
|
-
const crud_perf_1 = tslib_1.__importDefault(require("./crud.perf"));
|
|
6
|
-
const pagination_perf_1 = tslib_1.__importDefault(require("./pagination.perf"));
|
|
7
|
-
const count_perf_1 = tslib_1.__importDefault(require("./count.perf"));
|
|
8
|
-
const associations_perf_1 = tslib_1.__importDefault(require("./associations.perf"));
|
|
9
|
-
const query_pipeline_perf_1 = tslib_1.__importDefault(require("./query-pipeline.perf"));
|
|
10
|
-
const filter_perf_1 = tslib_1.__importDefault(require("./filter.perf"));
|
|
11
|
-
const references_perf_1 = tslib_1.__importDefault(require("./references.perf"));
|
|
12
|
-
(0, runner_1.runBenchmarks)([
|
|
13
|
-
...crud_perf_1.default,
|
|
14
|
-
...pagination_perf_1.default,
|
|
15
|
-
...count_perf_1.default,
|
|
16
|
-
...references_perf_1.default,
|
|
17
|
-
...associations_perf_1.default,
|
|
18
|
-
...query_pipeline_perf_1.default,
|
|
19
|
-
...filter_perf_1.default,
|
|
20
|
-
]);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../spec/performance/index.ts"],"names":[],"mappings":";;;AAAA,6CAAiD;AACjD,oEAA8C;AAC9C,gFAA0D;AAC1D,sEAAgD;AAChD,oFAA8D;AAC9D,wFAAkE;AAClE,wEAAkD;AAClD,gFAA0D;AAE1D,IAAA,sBAAa,EAAC;IACV,GAAG,mBAAI;IACP,GAAG,yBAAU;IACb,GAAG,oBAAK;IACR,GAAG,yBAAU;IACb,GAAG,2BAAY;IACf,GAAG,6BAAc;IACjB,GAAG,qBAAM;CACZ,CAAC,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { BenchmarkFactories } from './support/async-bench';
|
|
2
|
-
import { TestEnvironment } from './support/helpers';
|
|
3
|
-
export declare function addManyPapersWithAQL(environment: TestEnvironment, count: number): Promise<void>;
|
|
4
|
-
declare const benchmarks: BenchmarkFactories;
|
|
5
|
-
export default benchmarks;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.addManyPapersWithAQL = void 0;
|
|
4
|
-
const helpers_1 = require("./support/helpers");
|
|
5
|
-
async function addManyPapersWithAQL(environment, count) {
|
|
6
|
-
await environment
|
|
7
|
-
.getDB()
|
|
8
|
-
.query((0, helpers_1.aql) `FOR i IN 1..${count} INSERT { title: CONCAT("Test ", RAND()) } IN papers`);
|
|
9
|
-
}
|
|
10
|
-
exports.addManyPapersWithAQL = addManyPapersWithAQL;
|
|
11
|
-
function testPagination(config) {
|
|
12
|
-
let env;
|
|
13
|
-
return {
|
|
14
|
-
name: `Fetch ${config.pages} pages of size ${config.pageSize} from ${config.rootEntitiesInDB} root entities in total` +
|
|
15
|
-
(config.orderBy ? ` ordered by ${config.orderBy}` : ''),
|
|
16
|
-
async beforeAll() {
|
|
17
|
-
env = await (0, helpers_1.initEnvironment)();
|
|
18
|
-
await addManyPapersWithAQL(env, config.rootEntitiesInDB);
|
|
19
|
-
},
|
|
20
|
-
async fn() {
|
|
21
|
-
let cursor = null;
|
|
22
|
-
for (let i = 0; i < config.pages; i++) {
|
|
23
|
-
const result = await env.exec(`query($count: Int!, $cursor: String, $orderBy: [PaperOrderBy!]) { allPapers(first: $count, after: $cursor, orderBy: $orderBy) { title, id, _cursor } }`, {
|
|
24
|
-
count: config.pageSize,
|
|
25
|
-
cursor,
|
|
26
|
-
orderBy: config.orderBy,
|
|
27
|
-
});
|
|
28
|
-
const lastPaper = result.allPapers[result.allPapers.length - 1];
|
|
29
|
-
if (!lastPaper) {
|
|
30
|
-
throw new Error(`Page ${i} did not return any items`);
|
|
31
|
-
}
|
|
32
|
-
cursor = lastPaper._cursor;
|
|
33
|
-
if (!cursor) {
|
|
34
|
-
throw new Error('Cursor is missing');
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
const benchmarks = [
|
|
41
|
-
() => testPagination({ rootEntitiesInDB: 1000, pageSize: 10, pages: 5 }),
|
|
42
|
-
() => testPagination({ rootEntitiesInDB: 10000, pageSize: 10, pages: 5 }),
|
|
43
|
-
() => testPagination({ rootEntitiesInDB: 1000000, pageSize: 10, pages: 5 }),
|
|
44
|
-
() => testPagination({ rootEntitiesInDB: 10000, pageSize: 10, pages: 5, orderBy: 'title_ASC' }),
|
|
45
|
-
() => testPagination({ rootEntitiesInDB: 10000, pageSize: 10, pages: 5, orderBy: 'title_DESC' }),
|
|
46
|
-
// still slow, covered by https://github.com/arangodb/arangodb/issues/2357
|
|
47
|
-
() => testPagination({ rootEntitiesInDB: 1000000, pageSize: 10, pages: 5, orderBy: 'title_ASC' }),
|
|
48
|
-
];
|
|
49
|
-
exports.default = benchmarks;
|
|
50
|
-
//# sourceMappingURL=pagination.perf.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.perf.js","sourceRoot":"","sources":["../../../spec/performance/pagination.perf.ts"],"names":[],"mappings":";;;AACA,+CAA0E;AAEnE,KAAK,UAAU,oBAAoB,CAAC,WAA4B,EAAE,KAAa;IAClF,MAAM,WAAW;SACZ,KAAK,EAAE;SACP,KAAK,CAAC,IAAA,aAAG,EAAA,eAAe,KAAK,sDAAsD,CAAC,CAAC;AAC9F,CAAC;AAJD,oDAIC;AAED,SAAS,cAAc,CAAC,MAKvB;IACG,IAAI,GAAoB,CAAC;IACzB,OAAO;QACH,IAAI,EACA,SAAS,MAAM,CAAC,KAAK,kBAAkB,MAAM,CAAC,QAAQ,SAAS,MAAM,CAAC,gBAAgB,yBAAyB;YAC/G,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3D,KAAK,CAAC,SAAS;YACX,GAAG,GAAG,MAAM,IAAA,yBAAe,GAAE,CAAC;YAC9B,MAAM,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAED,KAAK,CAAC,EAAE;YACJ,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAQ,MAAM,GAAG,CAAC,IAAI,CAC9B,wJAAwJ,EACxJ;oBACI,KAAK,EAAE,MAAM,CAAC,QAAQ;oBACtB,MAAM;oBACN,OAAO,EAAE,MAAM,CAAC,OAAO;iBAC1B,CACJ,CAAC;gBACF,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,SAAS,EAAE;oBACZ,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC;iBACzD;gBACD,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;gBAC3B,IAAI,CAAC,MAAM,EAAE;oBACT,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;iBACxC;aACJ;QACL,CAAC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,GAAuB;IACnC,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACxE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACzE,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IAC3E,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;IAC/F,GAAG,EAAE,CACD,cAAc,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAE9F,0EAA0E;IAC1E,GAAG,EAAE,CACD,cAAc,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;CAClG,CAAC;AAEF,kBAAe,UAAU,CAAC"}
|
|
@@ -1,196 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const graphql_1 = require("graphql");
|
|
4
|
-
const path_1 = require("path");
|
|
5
|
-
const execution_1 = require("../../src/authorization/execution");
|
|
6
|
-
const aql_generator_1 = require("../../src/database/arangodb/aql-generator");
|
|
7
|
-
const query_distiller_1 = require("../../src/graphql/query-distiller");
|
|
8
|
-
const query_tree_1 = require("../../src/query-tree");
|
|
9
|
-
const schema_generation_1 = require("../../src/schema-generation");
|
|
10
|
-
const utils_1 = require("../../src/utils/utils");
|
|
11
|
-
const helpers_1 = require("./support/helpers");
|
|
12
|
-
const query_node_object_type_1 = require("../../src/schema-generation/query-node-object-type");
|
|
13
|
-
const QUERIES = [
|
|
14
|
-
`{
|
|
15
|
-
allDeliveries {
|
|
16
|
-
id
|
|
17
|
-
items {
|
|
18
|
-
id
|
|
19
|
-
}
|
|
20
|
-
handlingUnits {
|
|
21
|
-
id
|
|
22
|
-
huNumber
|
|
23
|
-
delivery {
|
|
24
|
-
id
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}`,
|
|
29
|
-
`mutation d {
|
|
30
|
-
deleteDelivery(id: "15027307") {
|
|
31
|
-
id
|
|
32
|
-
deliveryNumber
|
|
33
|
-
}
|
|
34
|
-
}`,
|
|
35
|
-
`
|
|
36
|
-
mutation m {
|
|
37
|
-
updateDelivery(input: {
|
|
38
|
-
id: "15116232",
|
|
39
|
-
addItems: [
|
|
40
|
-
{
|
|
41
|
-
itemNumber: "asdf"
|
|
42
|
-
}
|
|
43
|
-
],
|
|
44
|
-
updateItems: [
|
|
45
|
-
{
|
|
46
|
-
id: "2",
|
|
47
|
-
itemNumber: "asdf"
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
id: "5",
|
|
51
|
-
itemNumber: "asasdfasdfdf"
|
|
52
|
-
}
|
|
53
|
-
],
|
|
54
|
-
removeItems: [
|
|
55
|
-
"ids",
|
|
56
|
-
"asdf"
|
|
57
|
-
],
|
|
58
|
-
consignee: {
|
|
59
|
-
street: "Sunrise Avenue"
|
|
60
|
-
},
|
|
61
|
-
dgInfo: {
|
|
62
|
-
unNumber: "456"
|
|
63
|
-
},
|
|
64
|
-
removeHandlingUnits: "15149681"
|
|
65
|
-
}) {
|
|
66
|
-
id
|
|
67
|
-
items {
|
|
68
|
-
id
|
|
69
|
-
itemNumber
|
|
70
|
-
}
|
|
71
|
-
consignee {
|
|
72
|
-
street
|
|
73
|
-
city
|
|
74
|
-
}
|
|
75
|
-
dgInfo {
|
|
76
|
-
flashpoint
|
|
77
|
-
unNumber
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
`,
|
|
82
|
-
];
|
|
83
|
-
function buildQueryTree({ distilledOperation, queryType, mutationType, }) {
|
|
84
|
-
if (distilledOperation.operation == 'mutation') {
|
|
85
|
-
return (0, schema_generation_1.buildConditionalObjectQueryNode)(query_tree_1.ObjectQueryNode.EMPTY, mutationType, distilledOperation.selectionSet, (0, query_node_object_type_1.createRootFieldContext)());
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
return (0, schema_generation_1.buildConditionalObjectQueryNode)(query_tree_1.ObjectQueryNode.EMPTY, queryType, distilledOperation.selectionSet, (0, query_node_object_type_1.createRootFieldContext)());
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
function prepareQuery(gql, schema, model) {
|
|
92
|
-
const document = (0, graphql_1.parse)(gql);
|
|
93
|
-
(0, graphql_1.validate)(schema, document);
|
|
94
|
-
const distilledOperation = (0, query_distiller_1.distillQuery)(document, schema, {});
|
|
95
|
-
const queryType = new schema_generation_1.RootTypesGenerator().generateQueryType(model);
|
|
96
|
-
const mutationType = new schema_generation_1.RootTypesGenerator().generateMutationType(model);
|
|
97
|
-
const queryTree = buildQueryTree({ queryType, mutationType, distilledOperation });
|
|
98
|
-
const authorizedQueryTree = (0, execution_1.applyAuthorizationToQueryTree)(queryTree, { authRoles: [] });
|
|
99
|
-
return {
|
|
100
|
-
gql,
|
|
101
|
-
document,
|
|
102
|
-
distilledOperation,
|
|
103
|
-
queryType,
|
|
104
|
-
mutationType,
|
|
105
|
-
queryTree,
|
|
106
|
-
authorizedQueryTree,
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
function testQueryPipeline(params) {
|
|
110
|
-
const optionsStr = (0, utils_1.compact)([
|
|
111
|
-
params.parser ? 'parser' : undefined,
|
|
112
|
-
params.queryDistiller ? 'query-distiller' : undefined,
|
|
113
|
-
params.queryTree ? 'query-tree' : undefined,
|
|
114
|
-
params.aql ? 'aql' : undefined,
|
|
115
|
-
params.auth ? 'auth' : undefined,
|
|
116
|
-
]).join(', ');
|
|
117
|
-
let schema;
|
|
118
|
-
let model;
|
|
119
|
-
let preparedQueries;
|
|
120
|
-
return {
|
|
121
|
-
name: `Run query pipeline with ${optionsStr}`,
|
|
122
|
-
isSync: true,
|
|
123
|
-
initialCount: params.aql ? 10000 : 100000,
|
|
124
|
-
async beforeAll() {
|
|
125
|
-
const res = await (0, helpers_1.createTestProject)((0, path_1.resolve)(__dirname, '../regression/logistics/model'));
|
|
126
|
-
schema = res.schema;
|
|
127
|
-
model = res.project.getModel();
|
|
128
|
-
preparedQueries = QUERIES.map((gql) => prepareQuery(gql, schema, model));
|
|
129
|
-
},
|
|
130
|
-
fn() {
|
|
131
|
-
const preparedQuery = preparedQueries[Math.floor(Math.random() * preparedQueries.length)];
|
|
132
|
-
if (params.parser) {
|
|
133
|
-
(0, graphql_1.parse)(preparedQuery.gql);
|
|
134
|
-
}
|
|
135
|
-
if (params.queryDistiller) {
|
|
136
|
-
(0, query_distiller_1.distillQuery)(preparedQuery.document, schema, {});
|
|
137
|
-
}
|
|
138
|
-
if (params.queryTree) {
|
|
139
|
-
buildQueryTree(preparedQuery);
|
|
140
|
-
}
|
|
141
|
-
if (params.auth) {
|
|
142
|
-
(0, execution_1.applyAuthorizationToQueryTree)(preparedQuery.queryTree, { authRoles: [] });
|
|
143
|
-
}
|
|
144
|
-
if (params.aql) {
|
|
145
|
-
const transaction = (0, aql_generator_1.getAQLQuery)(preparedQuery.authorizedQueryTree);
|
|
146
|
-
transaction.getExecutableQueries();
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
const benchmarks = [
|
|
152
|
-
() => testQueryPipeline({
|
|
153
|
-
parser: true,
|
|
154
|
-
queryDistiller: false,
|
|
155
|
-
queryTree: false,
|
|
156
|
-
auth: false,
|
|
157
|
-
aql: false,
|
|
158
|
-
}),
|
|
159
|
-
() => testQueryPipeline({
|
|
160
|
-
parser: false,
|
|
161
|
-
queryDistiller: true,
|
|
162
|
-
queryTree: false,
|
|
163
|
-
auth: false,
|
|
164
|
-
aql: false,
|
|
165
|
-
}),
|
|
166
|
-
() => testQueryPipeline({
|
|
167
|
-
parser: false,
|
|
168
|
-
queryDistiller: false,
|
|
169
|
-
queryTree: true,
|
|
170
|
-
auth: false,
|
|
171
|
-
aql: false,
|
|
172
|
-
}),
|
|
173
|
-
() => testQueryPipeline({
|
|
174
|
-
parser: false,
|
|
175
|
-
queryDistiller: false,
|
|
176
|
-
queryTree: true,
|
|
177
|
-
auth: true,
|
|
178
|
-
aql: false,
|
|
179
|
-
}),
|
|
180
|
-
() => testQueryPipeline({
|
|
181
|
-
parser: false,
|
|
182
|
-
queryDistiller: false,
|
|
183
|
-
queryTree: false,
|
|
184
|
-
auth: false,
|
|
185
|
-
aql: true,
|
|
186
|
-
}),
|
|
187
|
-
() => testQueryPipeline({
|
|
188
|
-
parser: true,
|
|
189
|
-
queryDistiller: true,
|
|
190
|
-
queryTree: true,
|
|
191
|
-
auth: true,
|
|
192
|
-
aql: true,
|
|
193
|
-
}),
|
|
194
|
-
];
|
|
195
|
-
exports.default = benchmarks;
|
|
196
|
-
//# sourceMappingURL=query-pipeline.perf.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-pipeline.perf.js","sourceRoot":"","sources":["../../../spec/performance/query-pipeline.perf.ts"],"names":[],"mappings":"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"}
|