'Return a dialect-specific registry which
caches a dialect-specific implementation, bind processing
function, and one or more result processing functions.'

def _dialect_info(self, dialect):

    if (self in dialect._type_memos):
        return dialect._type_memos[self]
    else:
        impl = self._gen_dialect_impl(dialect)
        if (impl is self):
            impl = self.adapt(type(self))
        assert (impl is not self)
        dialect._type_memos[self] = d = {'impl': impl}
        return d
