• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kensho-technologies / graphql-compiler
95%
master: 89%

Build:
Build:
LAST BUILD BRANCH: interpreted_mode_v2
DEFAULT BRANCH: master
Repo Added 19 Jul 2017 01:15AM UTC
Files 113
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH extract_validation
branch: extract_validation
CHANGE BRANCH
x
Reset
  • extract_validation
  • add-different-setup-function-for-each-kind
  • add-documentation
  • add-example
  • add-graphql-syntax-highlighting
  • add-hidden-classes-as-input
  • add-integration-tests
  • add-orientdb-example
  • add-pedro-as-author
  • add-read-the-docs
  • add-schema-gen
  • add-schema-generation-from-orientdb-records
  • add-schema-generation-sanity-tests
  • add-slow-flag
  • add-sql-documentation
  • add-sql-filters
  • add-sql-scaffolding
  • add-sql-unittests
  • add-sqlachemy-schema-generation
  • add-sqlalchemy-schema-generation
  • add-type-equivalence-test
  • add-warning-for-filtered-class-collection-properties
  • add_and_fix_macro_expansion_tests
  • add_long_description
  • add_macros_to_schema_2
  • add_mark_locations_to_folds
  • add_slots
  • backtracks_inside_fold
  • basic-sql-compilation
  • better_linting
  • between_expressions
  • bump-pytest-version
  • bump_dependencies
  • bump_dev_dependencies
  • bump_graphql_core
  • bump_version
  • change-schema
  • change_company_name
  • child_and_parent_locations
  • class_vs_while_workaround
  • clean_up
  • cleanup
  • cleanup_and_helpers
  • coerce_to_base_type_within_fold
  • colocated_tag_and_filter
  • common_test_data
  • compile_macro_to_ir
  • compiler_reserved_words
  • context_metadata_cleanup
  • copyright_script
  • count_fold_size
  • create-schema-element-hierarchy
  • decompose-get-element-properties
  • decompose-setup-schema-elements-of-kind
  • degree_filtering_docs
  • delete_build_dirs_after_release
  • delete_unnecessary_lowering_pass
  • edge_degree_filter
  • edge_degree_filter_impl
  • edge_degree_filtering
  • edge_degree_start
  • ensure_copyright_lines
  • expand_macro_start
  • expand_specific_macro
  • expand_specific_macro_post_merge_fix
  • feat_snapshot_tests
  • filter_operation_info
  • filtering_in_fold_docs
  • filtering_in_fold_final
  • filtering_in_fold_scopes
  • fix-bug-to-include-non-vertex-classes
  • fix-missing-type-equivalence-dict
  • fix-non-determinism-bug
  • fix-readme
  • fix-recursion-type-validation
  • fix_bad_data
  • fix_coercions_in_eligible_locations
  • fix_copyrights
  • fix_formatting_bug
  • fix_macro_edge_target_type
  • fix_macro_on_superclass
  • fix_macro_tests
  • fix_macro_validation_tests
  • fix_multiple_traversals_in_coercion
  • fix_new_release_script
  • fix_pypi_long_description
  • fix_slow_transitive_closure
  • fix_validation_docstring
  • fix_x_count_global
  • fixed-readme-typo
  • flake8
  • flake8_config
  • fold_blocks_generated_and_output
  • fold_blocks_in_ir
  • fold_traversal
  • ideal_query_starts
  • ignore-unsupported-types
  • implement_schema_with_macros
  • improve-readme-md
  • interpreted_mode
  • interpreted_mode_v2
  • isort_style_change
  • jmeulemans-contributing-update
  • jmeulemans-patch-1
  • keep_macro_edge_target
  • lint_script
  • machine_readable_version
  • macro_basics
  • macro_edge_argument_type_validation
  • macro_edge_directives_validation
  • macro_system
  • macro_tag_conflicts
  • macro_validation
  • macro_validation_fix
  • macro_validation_helpers
  • make_lint_stricter
  • master
  • metadata_sanity_checks
  • missing_tests
  • move_macro_edge_test_file
  • move_macro_test_file
  • move_test_file
  • multiple_filters
  • name_or_alias_on_interface_type
  • nested_optionals
  • new_release
  • new_release_and_release_script
  • nits
  • no_op_coerce_metadata_fix
  • optional_traversal
  • pre_release_2.0.0.dev2
  • pre_release_2.0.0.dev3
  • pre_release_2.0.0.dev4
  • pretty_print
  • processing_order_changes
  • py2_and_3
  • py3.7
  • py37
  • query_metadata_in_lowering
  • query_metadata_table
  • refactor-_try_get_base_connections
  • refactor-schema-graph
  • refactor-schema-graph-class-collections
  • refactor-schema-graph-constructor
  • refactor_and_bugfix_macros
  • release_1.8.3
  • release_new_version
  • release_v1_10_1
  • remove-add-transitive-closure
  • remove-graphql-any-type
  • remove-link-properties
  • remove-links-as-properties
  • remove-no-op-override
  • remove-unmentioned-union-types
  • rename_count
  • repro_for_type_error_and_none
  • resolve_merge_conflicts
  • schema_validation
  • separate_lint_run
  • snapshot_tests
  • speed-up-travis-build
  • sqlalchemy_backend
  • stop-hidding-classes
  • streamline
  • subclass_sets_plumbing
  • subclasses
  • support_decimals
  • switch-to-grapqhl-type-system
  • switch_to_new_macro_format
  • switch_to_pipenv
  • test_invalid_edge_macros
  • test_macro_edge_expansion
  • two_recursions
  • type_analysis
  • type_consistency_workaround
  • typed_context_fields
  • unary_transform_expression
  • update-contributing.md
  • update-schema-generation-documentation
  • update-sql-schema
  • use-relative-imports
  • use_metadata_for_optional_marking
  • v1.0.1
  • v1.0.2
  • v1.0.3
  • v1.1.0
  • v1.10.0
  • v1.10.1
  • v1.2.0
  • v1.2.1
  • v1.3.0
  • v1.3.1
  • v1.4.0
  • v1.4.1
  • v1.5.0
  • v1.6.0
  • v1.6.1
  • v1.6.2
  • v1.7.0
  • v1.7.1
  • v1.7.2
  • v1.8.0
  • v1.8.1
  • v1.8.2
  • v1.8.3
  • v1.9.0
  • v2.0.0.dev
  • v2.0.0.dev1
  • v2.0.0.dev2
  • v2.0.0.dev3
  • version_bump

pending completion
969

push

travis-ci

obi1kenobi
Amend metadata table for "explain" support. (#141)

* Amend metadata table for "explain" support.

* QueryMetadataTable.get_explain_infos() returns information required for explain analysis.
It is in the form of a list of ExplainInfo objects.

* ExplainFilterInfo provides:
  - op_name: Operation is useful to estimate complexity, i.e. == is faster than between.
  - field_name: For checking if the field has index or not.
  - args: If there are $args, we can check the size of user provided input.

* ExplainRecurseInfo provides the recursion depth for now.

* fix ExplainFilterInfo -> FilterInfo.

* fix lint error

* remove unused import

* lint issue

* sort imports

* Cleanup explain infos.

- metadata table now has separate calls for FilterInfo and RecurseInfo
- Unittest checks if any extra infos appear.
- Unittest is deriving from the class and using self.assertEqual
- setdefault is used instead of defaultdict

* fix unused import

* Allow multiple RecurseInfos.

We only keep vertices in the metadata table. Multiple recursions at
the same vertex for different edges should be recorded together.
Name and direction of each edge is also added to the RecurseInfo.

* unit test cleanup

- test method names reflect test query name from test_input_data
- has_edge_degree test added
- multiple filters on same field test added
- test expectations are simplified with variables

* fix lint spacing

* review fixes

- FilterInfo field_name renamed to fields and is now a tuple. Most operators have one field, but name_or_alias sets (name,alias) tuple here. This makes it more consistent for callers to process filter's fields.
- FilterInfo args field is now a tuple instead of list.
- assertEqual order is fixed to better error display in tests.
- One more test case for name_or_alias
- Test expectation indentations improved.

* fix lint errors

* Simplify statement.

* fix indent

3141 of 3297 relevant lines covered (95.27%)

1.9 hits per line

Relevant lines Covered
Build:
Build:
3297 RELEVANT LINES 3141 COVERED LINES
1.9 HITS PER LINE
Source Files on extract_validation
  • List 0
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
969 extract_validation Amend metadata table for "explain" support. (#141) * Amend metadata table for "explain" support. * QueryMetadataTable.get_explain_infos() returns information required for explain analysis. It is in the form of a list of ExplainInfo objects. ... push 09 Nov 2018 03:26PM UTC obi1kenobi travis-ci pending completion  
See All Builds (2969)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc