-record(driver, { conn :: any(), handle_query :: fun((based@sql:'query'(any()), any()) -> {ok, based:queried()} | {error, based:based_error()}), handle_execute :: fun((binary(), any()) -> {ok, integer()} | {error, based:based_error()}), handle_batch :: fun((list(based@sql:'query'(any())), any()) -> {ok, list(based:queried())} | {error, based:based_error()}) }).