Procs
proc exec(db: PMySQL; query: string; args: JsonNode; columns: seq[seq[string]]; timeout: int): owned(Future[void]) {....stackTrace: false, raises: [Exception, KeyError, ValueError, DbError, OSError], tags: [RootEffect, TimeEffect], forbids: [].}
proc execGetValue(db: PMySQL; query: string; args: JsonNode; columns: seq[seq[string]]; timeout: int): Future[ (seq[database_types.Row], DbRows)] {....stackTrace: false, raises: [Exception, ValueError, KeyError, DbError, OSError], tags: [RootEffect, TimeEffect], forbids: [].}
proc getColumns(db: PMySQL; query: string; args: seq[string]; timeout: int): Future[ seq[string]] {....stackTrace: false, raises: [Exception, ValueError, DbError, OSError], tags: [RootEffect, TimeEffect], forbids: [].}
proc getColumnTypes(db: PMySQL; database, table: string; timeout: int): Future[ seq[database_types.Row]] {....stackTrace: false, raises: [Exception, ValueError, DbError, OSError], tags: [RootEffect, TimeEffect], forbids: [].}
proc queryPlain(db: PMySQL; query: string; args: JsonNode; timeout: int): Future[ seq[database_types.Row]] {....stackTrace: false, raises: [Exception, ValueError, DbError, OSError], tags: [RootEffect, TimeEffect], forbids: [].}
proc queryPlain(db: PMySQL; query: string; args: seq[string]; timeout: int): Future[ seq[database_types.Row]] {....stackTrace: false, raises: [Exception, ValueError, DbError, OSError], tags: [RootEffect, TimeEffect], forbids: [].}