use serde_json::Value;
use super::super::types::Context;
use super::super::QueryExecutor;
use crate::error::DbResult;
use crate::sdbql::ast::*;
impl<'a> QueryExecutor<'a> {
pub(in crate::sdbql::executor) fn execute_with_parent_context(
&self,
query: &Query,
parent_ctx: &Context,
) -> DbResult<Vec<Value>> {
let mut initial_bindings = parent_ctx.clone();
for (key, value) in &self.bind_vars {
initial_bindings.insert(format!("@{}", key), value.clone());
}
Ok(self
.execute_query_with_bindings(query, initial_bindings)?
.results)
}
}