-
Notifications
You must be signed in to change notification settings - Fork 3
Description
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.