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

[openCypher tck case] empty list bug #2699

Closed
czpmango opened this issue Jan 20, 2021 · 8 comments
Closed

[openCypher tck case] empty list bug #2699

czpmango opened this issue Jan 20, 2021 · 8 comments
Labels
type/feature req Type: feature request

Comments

@czpmango
Copy link
Contributor


(czp@nebula) [nba]> yield [[2],[3]]
+------------+
| [[2],[3]]  |
+------------+
| [[2], [3]] |
+------------+
Got 1 rows (time spent 28917/41273 us)

Wed, 20 Jan 2021 14:36:56 CST

(czp@nebula) [nba]> yield [[2],[3],[]]
[ERROR (-7)]: SyntaxError: syntax error near `]]'


@jievince
Copy link
Contributor

jievince commented Feb 4, 2021

If we support empty list, maybe we should support empty set and empty map too, but:

empty list: []
empty set: {}
empty map: {}

empty set and empty map are in the same format so they're conflicted in the parser.
So we couldn't support empty set and empty map.
So should we support empty list?

@whitewum
Copy link
Contributor

whitewum commented Feb 4, 2021

If we support empty list, maybe we should support empty set and empty map too, but:

empty list: []
empty set: {}
empty map: {}

empty set and empty map are in the same format so they're conflicted in the parser.
So we couldn't support empty set and empty map.
So should we support empty list?

where is the definition of set in opencypher tck?

@jievince
Copy link
Contributor

jievince commented Feb 4, 2021

If we support empty list, maybe we should support empty set and empty map too, but:

empty list: []
empty set: {}
empty map: {}

empty set and empty map are in the same format so they're conflicted in the parser.
So we couldn't support empty set and empty map.
So should we support empty list?

where is the definition of set in opencypher tck?

cypher doesn't support set. But we support set.

@whitewum
Copy link
Contributor

whitewum commented Feb 4, 2021

If we support empty list, maybe we should support empty set and empty map too, but:

empty list: []
empty set: {}
empty map: {}

empty set and empty map are in the same format so they're conflicted in the parser.
So we couldn't support empty set and empty map.
So should we support empty list?

where is the definition of set in opencypher tck?

cypher doesn't support set. But we support set.

If you try to add a new concept, add some set tck cases like the map/list cases in opencypher tck feature files.

So, we can discuss whether the set behavior is proper and compatible with opencypher's list and map.

Both lists and maps have a lot of behavior definitions and specifications. So I don't think adding a new concept is as easy as we expect.

@jievince
Copy link
Contributor

jievince commented Feb 4, 2021

I agree, there are a lot of incompatible syntaxes

@czpmango
Copy link
Contributor Author

czpmango commented Feb 4, 2021

IMO, set is distinct list.

@whitewum
Copy link
Contributor

whitewum commented Feb 5, 2021

IMO, set is distinct list.

IMO, set in not necessary. Why, Cypher, has no concept set, in about ten years.

@czpmango
Copy link
Contributor Author

czpmango commented Feb 5, 2021

IMO, set is distinct list.

IMO, set in not necessary. Why, Cypher, has no concept set, in about ten years.

ACK.

@CPWstatic CPWstatic transferred this issue from vesoft-inc/nebula-graph Aug 28, 2021
@CPWstatic CPWstatic added the type/feature req Type: feature request label Aug 28, 2021
@czpmango czpmango closed this as completed Aug 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature req Type: feature request
Projects
None yet
Development

No branches or pull requests

4 participants