This extra flexibility makes it easier for the transpiler to generate a
specification since the map step can be focused on only generating the
columns related to fields. In particular, it makes it easier to
implement wildcards for tags because the tags will get passed along with
the partition key.
The spec says to use the `_time` column for the time in the output, but
we were mapping `r._time` to `time` and using the `time` variable. This
modifies the encoder to use the `_time` column and rename it to `time`
for the column name.
It was effectively a copied and pasted platform.ID, so change it to a
type alias. Once our known references to the query/id package are
updated to platform.ID, we'll delete the package.
* feat(query/querytest): first batch of tests ready for review
added helper executables for generating output, comparing specs. Also updated several tests and added code to skip red tests with a clear reason in the message
This fixes the encoder so that it will encode the response correctly to
a JSON blob using the outputs of the transpiler. The transpiler has also
been modified to pass through the correct values so the map function is
correctly constructed and the aggregate function is also correctly
constructed.
This removes the group function temporarily because it does not seem to
be working.
updated helper program so users can now start with a .in.csv file, and a .ifql file, and
generate output. program asks user to verify output before writing. Also refactored the
location of test files from query_test to querytest and put helper functions in new file
querytest/execute.go.