'Add one or more expressions following the statement keyword, i.e.
SELECT, INSERT, UPDATE, or DELETE. Generative.
This is used to support backend-specific prefix keywords such as those
provided by MySQL.
E.g.::
stmt = table.insert().prefix_with("LOW_PRIORITY", dialect="mysql")
Multiple prefixes can be specified by multiple calls
to :meth:`.prefix_with`.
:param \*expr: textual or :class:`.ClauseElement` construct which
will be rendered following the INSERT, UPDATE, or DELETE
keyword.
:param \**kw: A single keyword \'dialect\' is accepted.  This is an
optional string dialect name which will
limit rendering of this prefix to only that dialect.'

@_generative
def prefix_with(self, *expr, **kw):

    dialect = kw.pop('dialect', None)
    if kw:
        raise exc.ArgumentError(('Unsupported    argument(s):    %s' % ','.join(kw)))
    self._setup_prefixes(expr, dialect)
