pub fn execute(
sel: &Select,
resolve: &dyn Fn(&str) -> Result<Option<Box<dyn Relation>>, Error>,
) -> Result<(Vec<OutCol>, Vec<Value>), Error>Expand description
Run a parsed SELECT, returning (column names, rows).
Rows come back as JSON objects keyed by output column name, which is the shape the wire encoder already consumes.