Example #1
0
def savepoints(fn):
    """Target database must support savepoints."""
    return _chain_decorators_on(
        fn,
        no_support('access', 'savepoints not supported'),
        no_support('sqlite', 'savepoints not supported'),
        no_support('sybase', 'savepoints not supported'),
        exclude('mysql', '<', (5, 0, 3), 'savepoints not supported'),
        exclude('informix', '<', (11, 55, 'xC3'), 'savepoints not supported'),
        )
Example #2
0
def savepoints(fn):
    """Target database must support savepoints."""
    return _chain_decorators_on(
        fn,
        no_support('access', 'savepoints not supported'),
        no_support('sqlite', 'savepoints not supported'),
        no_support('sybase', 'savepoints not supported'),
        exclude('mysql', '<', (5, 0, 3), 'savepoints not supported'),
        exclude('informix', '<', (11, 55, 'xC3'), 'savepoints not supported'),
    )
Example #3
0
def savepoints(fn):
    """Target database must support savepoints."""
    return _chain_decorators_on(
        fn,
        emits_warning_on('mssql', 'Savepoint support in mssql is experimental and may lead to data loss.'),
        no_support('access', 'savepoints not supported'),
        no_support('sqlite', 'savepoints not supported'),
        no_support('sybase', 'savepoints not supported'),
        exclude('mysql', '<', (5, 0, 3), 'savepoints not supported'),
        exclude('informix', '<', (11, 55, 'xC3'), 'savepoints not supported'),
        )
Example #4
0
def savepoints(fn):
    """Target database must support savepoints."""
    return _chain_decorators_on(
        fn,
        emits_warning_on('mssql', 'Savepoint support in mssql is experimental and may lead to data loss.'),
        no_support('access', 'not supported by database'),
        no_support('sqlite', 'not supported by database'),
        no_support('sybase', 'FIXME: guessing, needs confirmation'),
        exclude('mysql', '<', (5, 0, 3), 'not supported by database'),
        exclude('informix', '<', (11, 55, 'xC3'), 'not supported by database'),
        )
Example #5
0
def unicode_connections(fn):
    """Target driver must support some encoding of Unicode across the wire."""
    # TODO: expand to exclude MySQLdb versions w/ broken unicode
    return _chain_decorators_on(
        fn,
        exclude('mysql', '<', (4, 1, 1), 'no unicode connection support'),
    )
Example #6
0
def unicode_connections(fn):
    """Target driver must support some encoding of Unicode across the wire."""
    # TODO: expand to exclude MySQLdb versions w/ broken unicode
    return _chain_decorators_on(
        fn,
        exclude('mysql', '<', (4, 1, 1), 'no unicode connection support'),
        )
Example #7
0
def row_triggers(fn):
    """Target must support standard statement-running EACH ROW triggers."""
    return _chain_decorators_on(
        fn,
        # no access to same table
        no_support('mysql', 'requires SUPER priv'),
        exclude('mysql', '<', (5, 0, 10), 'not supported by database'),
        no_support('postgres', 'not supported by database: no statements'),
        )
def row_triggers(fn):
    """Target must support standard statement-running EACH ROW triggers."""
    return _chain_decorators_on(
        fn,
        # no access to same table
        no_support('mysql', 'requires SUPER priv'),
        exclude('mysql', '<', (5, 0, 10), 'not supported by database'),
        no_support('postgres', 'not supported by database: no statements'),
    )
def unicode_ddl(fn):
    """Target driver must support some encoding of Unicode across the wire."""
    # TODO: expand to exclude MySQLdb versions w/ broken unicode
    return _chain_decorators_on(
        fn,
        no_support('maxdb', 'database support flakey'),
        no_support('oracle', 'FIXME: no support in database?'),
        no_support('sybase', 'FIXME: guessing, needs confirmation'),
        exclude('mysql', '<', (4, 1, 1), 'no unicode connection support'),
    )
Example #10
0
def savepoints(fn):
    """Target database must support savepoints."""
    return _chain_decorators_on(
        fn,
        emits_warning_on('mssql', 'Savepoint support in mssql is experimental and may lead to data loss.'),
        no_support('access', 'not supported by database'),
        no_support('sqlite', 'not supported by database'),
        no_support('sybase', 'FIXME: guessing, needs confirmation'),
        exclude('mysql', '<', (5, 0, 3), 'not supported by database'),
        )
Example #11
0
def unicode_ddl(fn):
    """Target driver must support some encoding of Unicode across the wire."""
    # TODO: expand to exclude MySQLdb versions w/ broken unicode
    return _chain_decorators_on(
        fn,
        no_support('maxdb', 'database support flakey'),
        no_support('oracle', 'FIXME: no support in database?'),
        no_support('sybase', 'FIXME: guessing, needs confirmation'),
        exclude('mysql', '<', (4, 1, 1), 'no unicode connection support'),
        )
Example #12
0
def row_triggers(fn):
    """Target must support standard statement-running EACH ROW triggers."""
    return _chain_decorators_on(
        fn,
        # no access to same table
        no_support("mysql", "requires SUPER priv"),
        exclude("mysql", "<", (5, 0, 10), "not supported by database"),
        # huh?  TODO: implement triggers for PG tests, remove this
        no_support("postgresql", "PG triggers need to be implemented for tests"),
    )
Example #13
0
def independent_connections(fn):
    """Target must support simultaneous, independent database connections."""

    # This is also true of some configurations of UnixODBC and probably win32
    # ODBC as well.
    return _chain_decorators_on(
        fn,
        no_support("sqlite", "no driver support"),
        exclude("mssql", "<", (9, 0, 0), "SQL Server 2005+ is required for independent connections"),
    )
Example #14
0
def unicode_ddl(fn):
    """Target driver must support some encoding of Unicode across the wire."""
    # TODO: expand to exclude MySQLdb versions w/ broken unicode
    return _chain_decorators_on(
        fn,
        no_support("maxdb", "database support flakey"),
        no_support("oracle", "FIXME: no support in database?"),
        no_support("sybase", "FIXME: guessing, needs confirmation"),
        exclude("mysql", "<", (4, 1, 1), "no unicode connection support"),
    )
Example #15
0
def savepoints(fn):
    """Target database must support savepoints."""
    return _chain_decorators_on(
        fn,
        emits_warning_on("mssql", "Savepoint support in mssql is experimental and may lead to data loss."),
        no_support("access", "not supported by database"),
        no_support("sqlite", "not supported by database"),
        no_support("sybase", "FIXME: guessing, needs confirmation"),
        exclude("mysql", "<", (5, 0, 3), "not supported by database"),
    )
Example #16
0
def row_triggers(fn):
    """Target must support standard statement-running EACH ROW triggers."""
    return _chain_decorators_on(
        fn,
        # no access to same table
        no_support('mysql', 'requires SUPER priv'),
        exclude('mysql', '<', (5, 0, 10), 'not supported by database'),

        # huh?  TODO: implement triggers for PG tests, remove this
        no_support('postgresql', 'PG triggers need to be implemented for tests'),
        )
Example #17
0
def independent_connections(fn):
    """Target must support simultaneous, independent database connections."""

    # This is also true of some configurations of UnixODBC and probably win32
    # ODBC as well.
    return _chain_decorators_on(
        fn,
        no_support('sqlite', 'no driver support'),
        exclude('mssql', '<', (9, 0, 0),
                'SQL Server 2005+ is required for independent connections'),
    )
Example #18
0
def independent_connections(fn):
    """Target must support simultaneous, independent database connections."""

    # This is also true of some configurations of UnixODBC and probably win32
    # ODBC as well.
    return _chain_decorators_on(
        fn,
        no_support('sqlite', 'Independent connections disabled when '
                            ':memory: connections are used'),
        exclude('mssql', '<', (9, 0, 0),
                'SQL Server 2005+ is required for independent connections'),
        )
def two_phase_transactions(fn):
    """Target database must support two-phase transactions."""
    return _chain_decorators_on(
        fn,
        no_support('access', 'not supported by database'),
        no_support('firebird', 'no SA implementation'),
        no_support('maxdb', 'not supported by database'),
        no_support('mssql', 'FIXME: guessing, needs confirmation'),
        no_support('oracle', 'no SA implementation'),
        no_support('sqlite', 'not supported by database'),
        no_support('sybase', 'FIXME: guessing, needs confirmation'),
        exclude('mysql', '<', (5, 0, 3), 'not supported by database'),
    )
Example #20
0
def two_phase_transactions(fn):
    """Target database must support two-phase transactions."""
    return _chain_decorators_on(
        fn,
        no_support('access', 'not supported by database'),
        no_support('firebird', 'no SA implementation'),
        no_support('maxdb', 'not supported by database'),
        no_support('mssql', 'FIXME: guessing, needs confirmation'),
        no_support('oracle', 'no SA implementation'),
        no_support('sqlite', 'not supported by database'),
        no_support('sybase', 'FIXME: guessing, needs confirmation'),
        exclude('mysql', '<', (5, 0, 3), 'not supported by database'),
        )
Example #21
0
def two_phase_transactions(fn):
    """Target database must support two-phase transactions."""
    return _chain_decorators_on(
        fn,
        no_support('access', 'not supported by database'),
        no_support('firebird', 'no SA implementation'),
        no_support('maxdb', 'not supported by database'),
        no_support('mssql', 'FIXME: guessing, needs confirmation'),
        no_support('oracle', 'no SA implementation'),
        no_support('drizzle', 'not supported by database'),
        no_support('sqlite', 'not supported by database'),
        no_support('sybase', 'FIXME: guessing, needs confirmation'),
        no_support('postgresql+zxjdbc', 'FIXME: JDBC driver confuses the transaction state, may '
                   'need separate XA implementation'),
        exclude('mysql', '<', (5, 0, 3), 'not supported by database'),
        )
Example #22
0
def two_phase_transactions(fn):
    """Target database must support two-phase transactions."""
    return _chain_decorators_on(
        fn,
        no_support("access", "not supported by database"),
        no_support("firebird", "no SA implementation"),
        no_support("maxdb", "not supported by database"),
        no_support("mssql", "FIXME: guessing, needs confirmation"),
        no_support("oracle", "no SA implementation"),
        no_support("sqlite", "not supported by database"),
        no_support("sybase", "FIXME: guessing, needs confirmation"),
        no_support(
            "postgresql+zxjdbc",
            "FIXME: JDBC driver confuses the transaction state, may " "need separate XA implementation",
        ),
        exclude("mysql", "<", (5, 0, 3), "not supported by database"),
    )
Example #23
0
def two_phase_transactions(fn):
    """Target database must support two-phase transactions."""
    return _chain_decorators_on(
        fn,
        no_support('access', 'not supported by database'),
        no_support('firebird', 'no SA implementation'),
        no_support('maxdb', 'not supported by database'),
        no_support('mssql', 'FIXME: guessing, needs confirmation'),
        no_support('oracle', 'no SA implementation'),
        no_support('drizzle', 'not supported by database'),
        no_support('sqlite', 'not supported by database'),
        no_support('sybase', 'FIXME: guessing, needs confirmation'),
        no_support(
            'postgresql+zxjdbc',
            'FIXME: JDBC driver confuses the transaction state, may '
            'need separate XA implementation'),
        exclude('mysql', '<', (5, 0, 3), 'not supported by database'),
    )
Example #24
0
def subqueries(fn):
    """Target database must support subqueries."""
    return _chain_decorators_on(fn, exclude("mysql", "<", (4, 1, 1), "no subquery support"))
Example #25
0
def subqueries(fn):
    """Target database must support subqueries."""
    return _chain_decorators_on(
        fn,
        exclude('mysql', '<', (4, 1, 1), 'no subquery support'),
        )
Example #26
0
def subqueries(fn):
    """Target database must support subqueries."""
    return _chain_decorators_on(
        fn,
        exclude('mysql', '<', (4, 1, 1), 'no subquery support'),
    )