You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add types to represent the plan tree and the currently-supported plan
tree nodes. These mostly correspond to the existing query AST nodes,
but include information about the expected schema for the input and
output tables, along with the query AST nodes that "implement" that
transformation.
- Add an explicit node for computing deltas from a cumulative
timeseries, automatically after the node for fetching its data from
the DB. This is currently implicitly done after fetching the data, but
will be part of an explicit plan step going forward. The ultimate goal
is to push that into the database itself where possible.
- Adds methods to optimize a query plan, which currently includes the
predicate-pushdown and limit-pushdown tricks we already do to limit
the amount of data we get from the database. Adds some tests to verify
behavior of these optimizations, in particular that they don't change
the _planned_ output of the query itself.
- Add pretty-printing of the plan tree, and include a way to show that
in the OxQL shell.
- Add detection of full table scans. Use the planner in OxQL queries,
_only to verify them_ and check that there are no scans. The queries
themselves are executed in the original method today.
// fields are. This is helpful generally, but here it would be better if
708
709
// we could say something more like "you can't query this timeseries from
709
710
// this endpoint"
710
-
assert_eq!(result.message,"The filter expression contains identifiers that are not valid for its input timeseries. Invalid identifiers: [\"project_id\", \"silo_id\"], timeseries fields: {\"datum\", \"metric_name\", \"target_name\", \"timestamp\"}");
0 commit comments