-
Notifications
You must be signed in to change notification settings - Fork 0
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
Fix GROUP BY
definition when no GROUP BY
clause is present
#105
Comments
I agree that this is an issue that needs to be fixed, but I don't think the proposed solution ("skipping the The issue with this proposed solution is that In contrast to this proposed solution, I think the correct way to fix the issue is to i) keep the translation algorithm as is (i.e., in particular, keep |
That's a good point. My bad. Thank you!
I am not sure it's a great idea because I believe What about introducing a new algebra operator instead? |
I don't think that's necessary. Note that @afs has proposed a fix for errata-query-21 which includes introducing a "dummy key special marker
Hence, there will be a clear way to distinguish the special case from the regular cases: all that needs to be done in the definition is to check whether the first argument of the Group operator is the dummy key. |
Currently the "group step" is defined as
Let G := Group((1), ToList(P))
. This is wrong because the specification states that "in case of implicit grouping the single group must exist and might be empty". Indeed,Group
does not associate keys with empty groups leading to no group existing whenP
is empty.I believe it might be rewritten as
Let G := { (1) -> ToList(P) }
, skipping theGroup
call entirely and always ensuring the existence of a single group.The text was updated successfully, but these errors were encountered: