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

Param MATCH vid seek fix #4024

Merged
merged 12 commits into from
Apr 1, 2022
Merged

Param MATCH vid seek fix #4024

merged 12 commits into from
Apr 1, 2022

Conversation

wey-gu
Copy link
Contributor

@wey-gu wey-gu commented Mar 14, 2022

What type of PR is this?

  • bug
  • feature
  • enhancement

What problem(s) does this PR solve?

Issue(s) number: #3982

Description:

Fixed this case:

:param p3 => "player100"
:param p8 => "player101"
:param p7 => {"a":{"b":{"c":"Tim Duncan","d":[1,2,3,true,"player100"]}}}

      MATCH (v) WHERE id(v) == $p3
      RETURN id(v) AS v

      MATCH (v) WHERE id(v) IN [$p3,$p8]
      RETURN id(v) AS v

      MATCH (v) WHERE id(v) == $p7.a.b.d[4]
      RETURN id(v) AS v

      MATCH (v) WHERE id(v) IN $p7.a.b.d
      RETURN id(v) AS v

How do you solve it?

To make right part of the expression evaluated in src/graph/visitor/VidExtractVisitor.cpp

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
  • N/A

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 .....

Fixed the bug on parameters for id(n) == $var , id(n) IN [$var], id(n) == $var.foo.bar, id(n) IN $var.foo.bar

@wey-gu wey-gu requested a review from czpmango March 14, 2022 09:17
@Sophie-Xie Sophie-Xie requested a review from CPWstatic March 14, 2022 09:46
@Sophie-Xie Sophie-Xie added ready-for-testing PR: ready for the CI test ready for review labels Mar 15, 2022
@wey-gu wey-gu force-pushed the param-vid-seek branch 2 times, most recently from 325aced to 2eb5da4 Compare March 21, 2022 02:03
Copy link
Contributor

@CPWstatic CPWstatic left a comment

Choose a reason for hiding this comment

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

Good job! Does it work now? I'm looking forward to the test cases.

@Sophie-Xie Sophie-Xie added this to the v3.1.0 milestone Mar 21, 2022
@wey-gu
Copy link
Contributor Author

wey-gu commented Mar 21, 2022

Good job! Does it work now? I'm looking forward to the test cases.

Both WHERE id(n) == $var and WHERE id(n) IN [$var] works now, OK, will add unit test cases later in separated PR.

@czpmango
Copy link
Contributor

Please add tck test cases.

@czpmango
Copy link
Contributor

Good job! Does it work now? I'm looking forward to the test cases.

Both WHERE id(n) == $var and WHERE id(n) IN [$var] works now, OK, will add unit test cases later in separated PR.

What is the behavior in this case?

match (n) where id(n) in [$var1,$var2...] return n

@wey-gu
Copy link
Contributor Author

wey-gu commented Mar 30, 2022

Good job! Does it work now? I'm looking forward to the test cases.

Both WHERE id(n) == $var and WHERE id(n) IN [$var] works now, OK, will add unit test cases later in separated PR.

What is the behavior in this case?

match (n) where id(n) in [$var1,$var2...] return n

Thanks for the reminding.

(root@nebula) [basketballplayer]> :param v1 => "player101"

Wed, 30 Mar 2022 15:12:24 UTC

(root@nebula) [basketballplayer]> return $v0, $v1
+-------------+-------------+
| $v0         | $v1         |
+-------------+-------------+
| "player100" | "player101" |
+-------------+-------------+
Got 1 rows (time spent 2113/3169 us)

Wed, 30 Mar 2022 15:12:26 UTC

(root@nebula) [basketballplayer]> match (n) where id(n) in [$v0, $v1] return n
+-----------------------------------------------------+
| n                                                   |
+-----------------------------------------------------+
| ("player100" :player{age: 42, name: "Tim Duncan"})  |
| ("player101" :player{age: 36, name: "Tony Parker"}) |
+-----------------------------------------------------+
Got 2 rows (time spent 10833/12107 us)

@wey-gu
Copy link
Contributor Author

wey-gu commented Mar 30, 2022

Please add tck test cases.

I am preparing for the tck cases, while it's strange that this case passes.

Scenario: cypher with parameters
When executing query:
"""
MATCH (v:player)-[:like]->(n) WHERE id(v)==$p3 and n.player.age>$p1+29
RETURN n.player.name AS dst LIMIT $p1+1
"""
Then the result should be, in any order:
| dst |
| "Manu Ginobili" |
| "Tony Parker" |

The behavior from console is shown as this:

(root@nebula) [basketballplayer]> :param var => "player100"
(root@nebula) [basketballplayer]> match (n) where id(n) == $var return n
[ERROR (-1005)]: Scan vertices or edges need to specify a limit number, or limit number can not push down.

Wed, 30 Mar 2022 23:28:08 CST

Update: Now I came to know why, this case passed due to it's underlying selected to start from index:

(root@nebula) [basketballplayer]> :param p3 => "player100"
(root@nebula) [basketballplayer]> :param p1 => 1
(root@nebula) [basketballplayer]> MATCH (v:player)-[:like]->(n) WHERE id(v)==$p3 and n.player.age>$p1+29 RETURN n.player.name AS dst LIMIT $p1+1
[ERROR (-1009)]: SemanticError: `like': Unknown edge type

Wed, 30 Mar 2022 23:34:01 CST

(root@nebula) [basketballplayer]> MATCH (v:player)-[:follow]->(n) WHERE id(v)==$p3 and n.player.age>$p1+29 RETURN n.player.name AS dst LIMIT $p1+1
+---------------------+
| dst                 |
+---------------------+
| "LaMarcus Aldridge" |
| "Manu Ginobili"     |
+---------------------+
Got 2 rows (time spent 9172/34516 us)

Wed, 30 Mar 2022 23:34:09 CST

(root@nebula) [basketballplayer]> explain MATCH (v:player)-[:follow]->(n) WHERE id(v)==$p3 and n.player.age>$p1+29 RETURN n.player.name AS dst LIMIT $p1+1
Execution succeeded (time spent 759/25634 us)

Execution Plan (optimize time 205 us)

-----+----------------+--------------+----------------+-------------------------------------------------------------
| id | name           | dependencies | profiling data | operator info                                              |
-----+----------------+--------------+----------------+-------------------------------------------------------------
|  9 | DataCollect    | 16           |                | outputVar: [                                               |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "colNames": [                                          |
|    |                |              |                |       "dst"                                                |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "type": "DATASET",                                     |
|    |                |              |                |     "name": "__DataCollect_9"                              |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | inputVar: [                                                |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "colNames": [                                          |
|    |                |              |                |       "dst"                                                |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "type": "DATASET",                                     |
|    |                |              |                |     "name": "__Limit_8"                                    |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | kind: ROW                                                  |
-----+----------------+--------------+----------------+-------------------------------------------------------------
| 16 | Project        | 14           |                | outputVar: [                                               |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "colNames": [                                          |
|    |                |              |                |       "dst"                                                |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "type": "DATASET",                                     |
|    |                |              |                |     "name": "__Limit_8"                                    |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | inputVar: __Filter_6                                       |
|    |                |              |                | columns: [                                                 |
|    |                |              |                |   "-.n.player.name"                                        |
|    |                |              |                | ]                                                          |
-----+----------------+--------------+----------------+-------------------------------------------------------------
| 14 | Limit          | 10           |                | outputVar: [                                               |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "colNames": [                                          |
|    |                |              |                |       "v",                                                 |
|    |                |              |                |       "__VAR_0",                                           |
|    |                |              |                |       "n"                                                  |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "type": "DATASET",                                     |
|    |                |              |                |     "name": "__Filter_6"                                   |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | inputVar: __Filter_10                                      |
|    |                |              |                | offset: 0                                                  |
|    |                |              |                | count: 2                                                   |
-----+----------------+--------------+----------------+-------------------------------------------------------------
| 10 | Filter         | 4            |                | outputVar: [                                               |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "colNames": [                                          |
|    |                |              |                |       "v",                                                 |
|    |                |              |                |       "__VAR_0",                                           |
|    |                |              |                |       "n"                                                  |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "type": "DATASET",                                     |
|    |                |              |                |     "name": "__Filter_10"                                  |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | inputVar: __AppendVertices_4                               |
|    |                |              |                | condition: ((id($-.v)==$p3) AND (-.n.player.age>($p1+29))) |
|    |                |              |                | isStable: false                                            |
-----+----------------+--------------+----------------+-------------------------------------------------------------
|  4 | AppendVertices | 3            |                | outputVar: [                                               |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "colNames": [                                          |
|    |                |              |                |       "v",                                                 |
|    |                |              |                |       "__VAR_0",                                           |
|    |                |              |                |       "n"                                                  |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "type": "DATASET",                                     |
|    |                |              |                |     "name": "__AppendVertices_4"                           |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | inputVar: __Traverse_3                                     |
|    |                |              |                | space: 1                                                   |
|    |                |              |                | dedup: true                                                |
|    |                |              |                | limit: 0                                                   |
|    |                |              |                | filter:                                                    |
|    |                |              |                | orderBy: []                                                |
|    |                |              |                | src: none_direct_dst($-.__VAR_0)                           |
|    |                |              |                | props: [                                                   |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "props": [                                             |
|    |                |              |                |       "name",                                              |
|    |                |              |                |       "_tag"                                               |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "tagId": 3                                             |
|    |                |              |                |   },                                                       |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "props": [                                             |
|    |                |              |                |       "name",                                              |
|    |                |              |                |       "age",                                               |
|    |                |              |                |       "_tag"                                               |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "tagId": 2                                             |
|    |                |              |                |   },                                                       |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "props": [                                             |
|    |                |              |                |       "_tag"                                               |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "tagId": 9                                             |
|    |                |              |                |   },                                                       |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "props": [                                             |
|    |                |              |                |       "_tag"                                               |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "tagId": 10                                            |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | exprs:                                                     |
|    |                |              |                | if_track_previous_path: true                               |
-----+----------------+--------------+----------------+-------------------------------------------------------------
|  3 | Traverse       | 1            |                | outputVar: [                                               |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "colNames": [                                          |
|    |                |              |                |       "v",                                                 |
|    |                |              |                |       "__VAR_0"                                            |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "type": "DATASET",                                     |
|    |                |              |                |     "name": "__Traverse_3"                                 |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | inputVar: __IndexScan_1                                    |
|    |                |              |                | space: 1                                                   |
|    |                |              |                | dedup: true                                                |
|    |                |              |                | limit: -1                                                  |
|    |                |              |                | filter:                                                    |
|    |                |              |                | orderBy: []                                                |
|    |                |              |                | src: $_vid                                                 |
|    |                |              |                | edgeTypes: []                                              |
|    |                |              |                | edgeDirection: OUT_EDGE                                    |
|    |                |              |                | vertexProps: [                                             |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "props": [                                             |
|    |                |              |                |       "name",                                              |
|    |                |              |                |       "_tag"                                               |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "tagId": 3                                             |
|    |                |              |                |   },                                                       |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "props": [                                             |
|    |                |              |                |       "name",                                              |
|    |                |              |                |       "age",                                               |
|    |                |              |                |       "_tag"                                               |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "tagId": 2                                             |
|    |                |              |                |   },                                                       |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "props": [                                             |
|    |                |              |                |       "_tag"                                               |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "tagId": 9                                             |
|    |                |              |                |   },                                                       |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "props": [                                             |
|    |                |              |                |       "_tag"                                               |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "tagId": 10                                            |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | edgeProps: [                                               |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "props": [                                             |
|    |                |              |                |       "_src",                                              |
|    |                |              |                |       "_type",                                             |
|    |                |              |                |       "_rank",                                             |
|    |                |              |                |       "_dst",                                              |
|    |                |              |                |       "degree"                                             |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "type": "5"                                            |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | statProps:                                                 |
|    |                |              |                | exprs:                                                     |
|    |                |              |                | random: false                                              |
|    |                |              |                | vertex filter: player._tag IS NOT EMPTY                    |
|    |                |              |                | if_track_previous_path: false                              |
-----+----------------+--------------+----------------+-------------------------------------------------------------
|  1 | IndexScan      | 2            |                | outputVar: [                                               |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "colNames": [                                          |
|    |                |              |                |       "_vid"                                               |
|    |                |              |                |     ],                                                     |
|    |                |              |                |     "type": "DATASET",                                     |
|    |                |              |                |     "name": "__IndexScan_1"                                |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
|    |                |              |                | inputVar:                                                  |
|    |                |              |                | space: 1                                                   |
|    |                |              |                | dedup: false                                               |
|    |                |              |                | limit: 9223372036854775807                                 |
|    |                |              |                | filter:                                                    |
|    |                |              |                | orderBy: []                                                |
|    |                |              |                | schemaId: 2                                                |
|    |                |              |                | isEdge: false                                              |
|    |                |              |                | returnCols: [                                              |
|    |                |              |                |   "_vid"                                                   |
|    |                |              |                | ]                                                          |
|    |                |              |                | indexCtx: [                                                |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "columnHints": [],                                     |
|    |                |              |                |     "filter": "",                                          |
|    |                |              |                |     "index_id": 6                                          |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
-----+----------------+--------------+----------------+-------------------------------------------------------------
|  2 | Start          |              |                | outputVar: [                                               |
|    |                |              |                |   {                                                        |
|    |                |              |                |     "colNames": [],                                        |
|    |                |              |                |     "type": "DATASET",                                     |
|    |                |              |                |     "name": "__Start_2"                                    |
|    |                |              |                |   }                                                        |
|    |                |              |                | ]                                                          |
-----+----------------+--------------+----------------+-------------------------------------------------------------

@wey-gu
Copy link
Contributor Author

wey-gu commented Mar 30, 2022

Please add tck test cases.

done

root@1827b82e88bf:/home/nebula/tests# python3 -m pytest -m "wey"
===================================================================================== test session starts =====================================================================================
platform linux -- Python 3.8.10, pytest-5.3.2, py-1.11.0, pluggy-0.13.1 -- /usr/bin/python3
cachedir: .pytest_cache
benchmark: 3.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)
metadata: {'Python': '3.8.10', 'Platform': 'Linux-5.4.0-94-generic-x86_64-with-glibc2.29', 'Packages': {'pytest': '5.3.2', 'py': '1.11.0', 'pluggy': '0.13.1'}, 'Plugins': {'reportlog': '0.1.0', 'benchmark': '3.2.3', 'forked': '1.4.0', 'metadata': '1.8.0', 'yapf3': '0.5.1', 'html': '2.0.1', 'xdist': '1.31.0', 'bdd': '4.0.2', 'drop-dup-tests': '0.3.0'}}
rootdir: /home/nebula/tests, inifile: pytest.ini
plugins: reportlog-0.1.0, benchmark-3.2.3, forked-1.4.0, metadata-1.8.0, yapf3-0.5.1, html-2.0.1, xdist-1.31.0, bdd-4.0.2, drop-dup-tests-0.3.0
collecting ... Generating LALR tables
collected 1354 items / 1350 deselected / 4 selected

tck/steps/test_tck.py::test_return_parameters PASSED                                                                                                                                    [ 25%]
tck/steps/test_tck.py::test_cypher_with_parameters PASSED                                                                                                                               [ 50%]
tck/steps/test_tck.py::test_ngql_with_parameters PASSED                                                                                                                                 [ 75%]
tck/steps/test_tck.py::test_error_check_2 PASSED                                                                                                                                        [100%]

======================================================================= 4 passed, 1350 deselected, 4 warnings in 1.27s ========================================================================

@wey-gu
Copy link
Contributor Author

wey-gu commented Mar 31, 2022

I see mem leak in ci, it's not relevant to this PR, right?

CPWstatic
CPWstatic previously approved these changes Mar 31, 2022
@czpmango
Copy link
Contributor

I see mem leak in ci, it's not relevant to this PR, right?

Yep.

@wey-gu
Copy link
Contributor Author

wey-gu commented Mar 31, 2022

It's now rebased with all comments resolved. I will trigger review again when full CI passed.

match (n) where n in $list_var return n
czpmango
czpmango previously approved these changes Mar 31, 2022
Copy link
Contributor

@czpmango czpmango left a comment

Choose a reason for hiding this comment

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

LGTM. Nice fix!

MATCH (v) WHERE id(v) == $p7.a.b.d[4] RETURN v
@wey-gu
Copy link
Contributor Author

wey-gu commented Mar 31, 2022

@CPWstatic , two more commits since last review

  • a3fb923 support kAttribute for in case
    • MATCH (v) WHERE id(v) IN $p7.a.b.d RETURN v
  • bf6161e Add kSubscript for eq case
    • MATCH (v) WHERE id(v) == $p7.a.b.d[4] RETURN v

@czpmango , one more commit since last review

  • bf6161e Add kSubscript for eq case
    • MATCH (v) WHERE id(v) == $p7.a.b.d[4] RETURN v

Thanks!

@wey-gu
Copy link
Contributor Author

wey-gu commented Mar 31, 2022

CI failed due to:

  • CentOS gcc, 69 - log_command_test (Failed, raft test), now passed ✅
  • Ubuntu gcc, exit code 137: OOM, not relevant to this change ✅
  • Ubuntu clang, mem leak, known issue ✅

@Sophie-Xie Sophie-Xie added the cherry-pick-v3.1 PR: need cherry-pick to this version label Apr 1, 2022
@codecov-commenter
Copy link

Codecov Report

Merging #4024 (41c4ada) into master (5d96c60) will decrease coverage by 0.03%.
The diff coverage is 59.23%.

@@            Coverage Diff             @@
##           master    #4024      +/-   ##
==========================================
- Coverage   85.10%   85.06%   -0.04%     
==========================================
  Files        1339     1324      -15     
  Lines      132245   131657     -588     
==========================================
- Hits       112544   111998     -546     
+ Misses      19701    19659      -42     
Impacted Files Coverage Δ
src/clients/meta/MetaClient.cpp 76.55% <ø> (+0.11%) ⬆️
src/clients/meta/MetaClient.h 92.30% <ø> (ø)
src/common/thread/test/GenericThreadPoolTest.cpp 53.42% <0.00%> (-30.14%) ⬇️
src/common/thread/test/GenericWorkerTest.cpp 54.16% <0.00%> (-44.45%) ⬇️
src/graph/executor/ExecutionError.h 0.00% <ø> (ø)
src/graph/executor/Executor.cpp 81.32% <ø> (+0.31%) ⬆️
src/graph/executor/Executor.h 100.00% <ø> (ø)
src/graph/executor/StorageAccessExecutor.cpp 100.00% <ø> (ø)
src/graph/executor/StorageAccessExecutor.h 60.00% <ø> (ø)
src/graph/executor/admin/AddHostsExecutor.cpp 91.66% <ø> (ø)
... and 272 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9e7cd06...41c4ada. Read the comment docs.

@CPWstatic CPWstatic merged commit 809af73 into vesoft-inc:master Apr 1, 2022
Sophie-Xie added a commit that referenced this pull request Apr 3, 2022
* Add qctx to isEvaluableExpr for kRelIn

Fixing MATCH (n) WHERE id(n) IN [$t] RETURN n

* Fix eq kVal parameter vidseek

* Fix id(n) IN [$var] case

* lint add explicit and remove tailing semicolon

* clang-format-10

* double check type of rightListValue

Addressing Kyle's review comment

* ut added in features/yield/parameter.feature

* support kAttribute

match (n) where n in $list_var return n

* Add kSubscript for eq case

MATCH (v) WHERE id(v) == $p7.a.b.d[4] RETURN v

Co-authored-by: Sophie <84560950+Sophie-Xie@users.noreply.github.com>
Co-authored-by: kyle.cao <kyle.cao@vesoft.com>
Co-authored-by: cpw <13495049+CPWstatic@users.noreply.github.com>
CPWstatic added a commit that referenced this pull request Apr 3, 2022
* fix memory leak (#4103)

* Param MATCH vid seek fix (#4024)

* Add qctx to isEvaluableExpr for kRelIn

Fixing MATCH (n) WHERE id(n) IN [$t] RETURN n

* Fix eq kVal parameter vidseek

* Fix id(n) IN [$var] case

* lint add explicit and remove tailing semicolon

* clang-format-10

* double check type of rightListValue

Addressing Kyle's review comment

* ut added in features/yield/parameter.feature

* support kAttribute

match (n) where n in $list_var return n

* Add kSubscript for eq case

MATCH (v) WHERE id(v) == $p7.a.b.d[4] RETURN v

Co-authored-by: Sophie <84560950+Sophie-Xie@users.noreply.github.com>
Co-authored-by: kyle.cao <kyle.cao@vesoft.com>
Co-authored-by: cpw <13495049+CPWstatic@users.noreply.github.com>

* disable console pkg (#4110)

* disable console pkg

* fix

* disable console pkg (#4112)

* Fix service crash caused by using function call as a part of the filter in `LOOKUP` (#4111)

* Fix function call purity check

* Add UT for purity check

* Add TCK cases

* Fix cmake command error (#4114)

Co-authored-by: yaphet <4414314+darionyaphet@users.noreply.github.com>
Co-authored-by: Wey Gu <weyl.gu@gmail.com>
Co-authored-by: kyle.cao <kyle.cao@vesoft.com>
Co-authored-by: cpw <13495049+CPWstatic@users.noreply.github.com>
Co-authored-by: Yichen Wang <18348405+Aiee@users.noreply.github.com>
Co-authored-by: Yee <2520865+yixinglu@users.noreply.github.com>
@wey-gu wey-gu deleted the param-vid-seek branch October 25, 2022 09:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cherry-pick-v3.1 PR: need cherry-pick to this version 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.

5 participants