feature(interactive): Unify `ProcedureCall` Into Physical Plan Operators
- Dominant language
- C++
- Stars
- 3.6k
- Forks
- 468
- Avg merge
- 29m
- Merged PRs (30d)
- 1
Description
**Is your feature request related to a problem? Please describe.**
The shortest path functionality needs to support queries similar to the following:
```
MATCH
(company:Company {name: $company})<-[:WORK_AT]-(person1:Person),
(person2:Person {id: $person2Id})
CALL shortestPath.dijkstra.stream(
person1, person2, 'KNOWS', 'BOTH', 'weight', 5
)
YIELD totalCost
WHERE person1.id <> $person2Id
WITH person1.id AS person1Id, totalCost AS totalWeight
....
```
, which requires the `ProcedureCall` to be integrated as an operator into the entire physical plan.
Proto definition of `ProcedureCall`:
```
message Argument {
string param_name = 1; // param name
int32 param_ind = 2; // index of param
common.Value value = 3; // real value
}
message Query {
common.NameOrId query_name = 1;
repeated Argument arguments = 2;
}
```
The compiler should support registering stored procedures through YAML configuration files and support passing tag types as parameters.
Contributor guide
Assessment
This issue has not been assessed yet.