Drop() serializing into project step, causing GraphCompileException
See original GitHub issueThe following code await _g.V().Drop().ToArrayAsync();
throws a GraphCompileException
for me.
Env: CosmosDB Emulator (v2.7.2.0). ExRam.Gremlinq.Providers.CosmosDb 8.0.0-preview-0109
The error message is
Gremlin Query Compilation Error: Column reference R_0["id"] cannot be located in the raw records in the current execution pipeline.
From a console logger, Gremlinq printet the following:
Error executing Gremlin query V().drop().project('id', 'label', 'type', 'properties').by(id).by(label).by(__.constant('vertex')).by(__.properties().group().by(__.label()).by(__.project('id', 'label', 'value', 'properties').by(id).by(__.label()).by(__.value()).by(__.valueMap()).fold())):
I noticed that after the drop()
step, a project()
step is generated.
I think this goes against the intentions of the gremlin spec, since drop()
always returns an empty set (drop step) so there would be nothing to project.
I think this is the cause of the Column reference R_0["id"] cannot be located
error, as id
is the first column in the project()
step and it is unable to find data to fit into that column.
Issue Analytics
- State:
- Created 4 years ago
- Comments:8 (4 by maintainers)
Temporary workaround: Use
_g.V().Local(__ => __.Drop()).ToArrayAsync()
for the moment, even if it’s maybe a bit slower.Thank you. I just updated to that and seems to have fixed it.