Skip to content

Selection on unprojected variable fails after streaming #763

@dlindhol

Description

@dlindhol

A DAP2 style projection (immediately after the "?" and before selections and other operations) is applied eagerly, thus unprojected variables are not visible to subsequent operations. This problem manifests itself in the server after we have started streaming with a 200 response and possibly a header. Curl will result in "curl: (18) transfer closed with outstanding read data remaining" but for other clients, this may just look like an empty dataset.

First of all, is operating on an unprojected variable expected to be an error according to the DAP2 spec? Or should this style of projection be applied last? (Note that we have a project operation that can be applied with the expected order of operation.)

If this is indeed an error in the request, we should be able to return a 400 response. This would require more eager validation, possibly when adding an operation to a dataset or during an operation planning/compilation phase.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions