def cpython(fn):
    return _chain_decorators_on(
         fn,
         only_if(lambda: util.cpython,
           "cPython interpreter needed"
         )
    )
def window_functions(fn):
    return only_if([
                "postgresql", "mssql", "oracle"
            ], "Backend does not support window functions")(fn)
def returning(fn):
    return only_if(["postgresql", "mssql", "oracle", "firebird"],
            "'returning' not supported by database"
        )(fn)
def sequences(fn):
    """Target database must support SEQUENCEs."""

    return only_if([
            "postgresql", "firebird", "oracle"
        ], "no SEQUENCE support")(fn)