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

Allow usage of aliases defined in previous matches. #5021

Merged

Conversation

xtcyclist
Copy link
Contributor

@xtcyclist xtcyclist commented Dec 7, 2022

What type of PR is this?

  • bug
  • feature
  • enhancement

What problem(s) does this PR solve?

Issue(s) number:

Close #5020

Description:

The with * in a match clause like match ...(v999)... match ... match ... match ...(v999)... with * from a multi-match query, where v999 is defined in a previous match, rebuilds named aliases from all query parts, causing v999 to duplicate and trigger a false error.

This is actually ok, since they are in fact the same ones. There is actually no redefinition. This compiles with openCypher and neo4j.

How do you solve it?

  1. Allow the usage of aliases defined in previous matches. Only report redefinition of aliases if an alias is repeateed within the current query part.
  2. Fixed an unstable tck case.

Special notes for your reviewer, ex. impact of this fix, design document, etc:

Checklist:

Tests:

  • Unit test(positive and negative cases)
  • Function test
  • Performance test
  • TCK

Affects:

  • Documentation affected (Please add the label if documentation needs to be modified.)
  • Incompatibility (If it breaks the compatibility, please describe it and add the label.)
  • If it's needed to cherry-pick (If cherry-pick to some branches is required, please label the destination version(s).)
  • Performance impacted: Consumes more CPU/Memory

Release notes:

Please confirm whether to be reflected in release notes and how to describe:

ex. Fixed the bug .....

@xtcyclist xtcyclist force-pushed the fix_with_wildcard_in_multiple_match branch from 335b668 to 8577b3d Compare December 7, 2022 14:31
@xtcyclist xtcyclist added ready-for-testing PR: ready for the CI test ready for review labels Dec 7, 2022
Copy link
Contributor

@yixinglu yixinglu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

well done!

tests/tck/features/match/With.feature Show resolved Hide resolved
@xtcyclist xtcyclist force-pushed the fix_with_wildcard_in_multiple_match branch from e05c257 to 6602ea8 Compare December 8, 2022 03:49
@xtcyclist xtcyclist requested a review from yixinglu December 8, 2022 03:49
@yixinglu yixinglu merged commit 5057eeb into vesoft-inc:master Dec 8, 2022
@xtcyclist xtcyclist deleted the fix_with_wildcard_in_multiple_match branch December 8, 2022 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review ready-for-testing PR: ready for the CI test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Match query followd by a with clause report alias redefined semantic error (2)
3 participants