requires AshNeo4j 0.5.1 or later. Full benefit with 0.6.0 which optimises diffo-dev/ash_neo4j#253
Currently the Assigner does N queries per pool lookup, plus DefinedSimpleRelationship returns all :assignedTo relationships regardless of thing.
If rewritten to aggregates:
The filter has two conditions:
type == :assignedTo — scalar atom property, straight WHERE d.type = "assignedTo" in Cypher. This is the simplest possible case for #253
.
characteristic.name == thing — JSON-encoded embedded field. Can't be pushed to Cypher regardless, stays Elixir-side.
if we've know assigned then we shouldn't need to do another query for free, we can calculate locally by enumerating the pool and differencing to find free.
requires AshNeo4j 0.5.1 or later. Full benefit with 0.6.0 which optimises diffo-dev/ash_neo4j#253
Currently the Assigner does N queries per pool lookup, plus DefinedSimpleRelationship returns all :assignedTo relationships regardless of thing.
If rewritten to aggregates:
The filter has two conditions:
type == :assignedTo — scalar atom property, straight WHERE d.type = "assignedTo" in Cypher. This is the simplest possible case for #253
.
characteristic.name == thing — JSON-encoded embedded field. Can't be pushed to Cypher regardless, stays Elixir-side.
if we've know assigned then we shouldn't need to do another query for free, we can calculate locally by enumerating the pool and differencing to find free.