pub trait SessionStateHandler:
    Send
    + Sync
    + Debug {
    // Required methods
    fn before_plan_eval(
        &self,
        session_state: &mut SessionState,
    ) -> Result<(), Error>;
    fn after_plan_eval(
        &self,
        session_state: &mut SessionState,
    ) -> Result<(), Error>;
}