Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor handling of value predicates #5226

Merged
merged 25 commits into from
May 31, 2019

Conversation

kasper-piskorski
Copy link
Contributor

@kasper-piskorski kasper-piskorski commented May 31, 2019

What is the goal of this PR?

To fix issues and simplify processing of value predicates within queries with inference.
Fixed problems:

  • parsing problems when variable value predicates are bound to different attributes
  • fixed problems with applying variable value predicates when the operation is different from not equals
  • fixed problems with mixed variable and non-variable value predicates present

What are the changes implemented in this PR?

  • we handle variable value predicates with all kind of operations in the same way we treated '!==' before. We introduce a VariableValuePredicate class being a generalisation of the previous NeqValuePredicate.
  • renamed NeqComplementState to VariableComparisonState which now handles all predicates (id and value) with variables

@kasper-piskorski kasper-piskorski changed the title test Refactor handling of value predicates May 31, 2019
@kasper-piskorski kasper-piskorski added this to the 1.5.4 milestone May 31, 2019
@kasper-piskorski kasper-piskorski merged commit e17a661 into vaticle:master May 31, 2019
kasper-piskorski added a commit that referenced this pull request Jul 5, 2019
## What is the goal of this PR?

Remove the use of `neqPositive` which is obsolete after the changes introduced in #5226. The use of `neqPositive` in the current context leads to potential issues - if a query contains `!== ` predicates with a value, they might be omitted if other variable predicates are present. This PR fixes that.

## What are the changes implemented in this PR?
- remove the `neqPositive` member of `Atomic` and its uses
@kasper-piskorski kasper-piskorski deleted the vp-refactor branch August 9, 2019 17:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants