pub trait TableFunction {
    // Required method
    fn process(&mut self, input: RecordBatch) -> Result<Option<RecordBatch>>;
    // Provided method
    fn finalize(&mut self) -> Result<Option<RecordBatch>> { ... }
}pub trait TableFunction {
    // Required method
    fn process(&mut self, input: RecordBatch) -> Result<Option<RecordBatch>>;
    // Provided method
    fn finalize(&mut self) -> Result<Option<RecordBatch>> { ... }
}