pub trait QueryNode: Send + Sync {
// Required methods
fn initialize<'a>(
&mut self,
rx: &mut Transaction<'a>,
ctx: &QueryContext,
) -> Result<()>;
fn next<'a>(
&mut self,
rx: &mut Transaction<'a>,
ctx: &mut QueryContext,
) -> Result<Option<Columns>>;
fn headers(&self) -> Option<ColumnHeaders>;
}