Skip to content
This repository was archived by the owner on Apr 4, 2021. It is now read-only.
This repository was archived by the owner on Apr 4, 2021. It is now read-only.

Consider introducing unary GetVertices operator to allow predicate pushdown #381

@szarnyasg

Description

@szarnyasg

This issue is related to #380, but it goes beyond its scope.

Consider the query:

UNWIND [1, 2] AS tagId
MATCH (tag:Tag {tagId: tagId})
RETURN tag

This is currently compiled to a join with two legs:

  • Dual -> Unwind -> Join
  • GetVertices -> Selection -> Join

For correlated queries, it would make sense to use a 'unary GetVertices' operator, which can take the output of an Unwind operator.

For reference, Neo4j also uses a sort of lazy join operator, Apply, which is an efficient approach.

plan 12

cc @jmarton

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions