Feature/tumbling window #1
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Task 1-2. Implement XQuery 3.1 Tumbling/Sliding Window expression
Description:
We have added support for Tumbling/Sliding Window expression (task 1-2), both in parsing and for the handling of intermediate AST.
In order to accomplish this task, we have added a new WindowExpr, that has WindowCondition fields.
Since, as stated in the Brief, you are willing to handle additional Java coding yourself, we have only added skeleton version of these classes. We have implemented just the necessary to test the parsing and AST creation. If this is not what you expected, let us know.
Some details regarding the implementation:
ForLetClausewith the newClauseType,ClauseType.WindowForLetClausefor Window Expression takes advantage of the field InputSequence inherited as aBindingExpression. The same field that is present for a traditional For or Let Clause, but we add aWindowExprinstead of aForExprin the Path expression. Let us know if this approach works for you or if you prefer to change itReference:
Reference
Type of tests:
We implemented a few tests in Java Code inside the file
WindowClauseTest.javaand . We have not implemented tests using XQSuite since they would require fully implement the aforementioned skeleton classes