summaryrefslogtreecommitdiff
path: root/test/sql
diff options
context:
space:
mode:
Diffstat (limited to 'test/sql')
-rw-r--r--test/sql/test_constraints.py2
-rw-r--r--test/sql/test_defaults.py15
-rw-r--r--test/sql/test_join_rewriting.py2
-rw-r--r--test/sql/test_query.py10
-rw-r--r--test/sql/test_quote.py27
-rw-r--r--test/sql/test_returning.py6
-rw-r--r--test/sql/test_rowcount.py1
-rw-r--r--test/sql/test_types.py1
-rw-r--r--test/sql/test_unicode.py1
-rw-r--r--test/sql/test_update.py3
10 files changed, 65 insertions, 3 deletions
diff --git a/test/sql/test_constraints.py b/test/sql/test_constraints.py
index cb4b73ec8..b174ef3c1 100644
--- a/test/sql/test_constraints.py
+++ b/test/sql/test_constraints.py
@@ -14,6 +14,8 @@ from sqlalchemy.sql import table, column
class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
__dialect__ = 'default'
+ __backend__ = True
+
@testing.provide_metadata
def test_pk_fk_constraint_create(self):
diff --git a/test/sql/test_defaults.py b/test/sql/test_defaults.py
index 1622c4ed8..ba6166ea6 100644
--- a/test/sql/test_defaults.py
+++ b/test/sql/test_defaults.py
@@ -19,6 +19,7 @@ t = f = f2 = ts = currenttime = metadata = default_generator = None
t = f = f2 = ts = currenttime = metadata = default_generator = None
class DefaultTest(fixtures.TestBase):
+ __backend__ = True
@classmethod
def setup_class(cls):
@@ -418,6 +419,7 @@ class DefaultTest(fixtures.TestBase):
class PKDefaultTest(fixtures.TablesTest):
__requires__ = ('subqueries',)
+ __backend__ = True
@classmethod
def define_tables(cls, metadata):
@@ -454,6 +456,7 @@ class PKDefaultTest(fixtures.TablesTest):
class PKIncrementTest(fixtures.TablesTest):
run_define_tables = 'each'
+ __backend__ = True
@classmethod
def define_tables(cls, metadata):
@@ -520,6 +523,8 @@ class PKIncrementTest(fixtures.TablesTest):
class EmptyInsertTest(fixtures.TestBase):
+ __backend__ = True
+
@testing.exclude('sqlite', '<', (3, 3, 8), 'no empty insert support')
@testing.fails_on('oracle', 'FIXME: unknown')
@testing.provide_metadata
@@ -534,6 +539,7 @@ class EmptyInsertTest(fixtures.TestBase):
class AutoIncrementTest(fixtures.TablesTest):
__requires__ = ('identity',)
run_define_tables = 'each'
+ __backend__ = True
@classmethod
def define_tables(cls, metadata):
@@ -644,6 +650,7 @@ class AutoIncrementTest(fixtures.TablesTest):
class SequenceDDLTest(fixtures.TestBase, testing.AssertsCompiledSQL):
__dialect__ = 'default'
+ __backend__ = True
def test_create_drop_ddl(self):
self.assert_compile(
@@ -673,6 +680,7 @@ class SequenceDDLTest(fixtures.TestBase, testing.AssertsCompiledSQL):
class SequenceExecTest(fixtures.TestBase):
__requires__ = ('sequences',)
+ __backend__ = True
@classmethod
def setup_class(cls):
@@ -804,6 +812,7 @@ class SequenceExecTest(fixtures.TestBase):
class SequenceTest(fixtures.TestBase, testing.AssertsCompiledSQL):
__requires__ = ('sequences',)
+ __backend__ = True
@testing.fails_on('firebird', 'no FB support for start/increment')
def test_start_increment(self):
@@ -918,6 +927,7 @@ class SequenceTest(fixtures.TestBase, testing.AssertsCompiledSQL):
cartitems = sometable = metadata = None
class TableBoundSequenceTest(fixtures.TestBase):
__requires__ = ('sequences',)
+ __backend__ = True
@classmethod
def setup_class(cls):
@@ -985,6 +995,7 @@ class SpecialTypePKTest(fixtures.TestBase):
rather than the class of "type" itself.
"""
+ __backend__ = True
@classmethod
def setup_class(cls):
@@ -1065,6 +1076,8 @@ class SpecialTypePKTest(fixtures.TestBase):
self._run_test(server_default='1', autoincrement=False)
class ServerDefaultsOnPKTest(fixtures.TestBase):
+ __backend__ = True
+
@testing.provide_metadata
def test_string_default_none_on_insert(self):
"""Test that without implicit returning, we return None for
@@ -1193,6 +1206,8 @@ class ServerDefaultsOnPKTest(fixtures.TestBase):
)
class UnicodeDefaultsTest(fixtures.TestBase):
+ __backend__ = True
+
def test_no_default(self):
Column(Unicode(32))
diff --git a/test/sql/test_join_rewriting.py b/test/sql/test_join_rewriting.py
index 6fb108a27..35797871a 100644
--- a/test/sql/test_join_rewriting.py
+++ b/test/sql/test_join_rewriting.py
@@ -509,6 +509,8 @@ class JoinNoUseLabelsTest(_JoinRewriteTestBase, fixtures.TestBase):
class JoinExecTest(_JoinRewriteTestBase, fixtures.TestBase):
"""invoke the SQL on the current backend to ensure compatibility"""
+ __backend__ = True
+
_a_bc = _a_bc_comma_a1_selbc = _a__b_dc = _a_bkeyassoc = \
_a_bkeyassoc_aliased = _a_atobalias_balias_c_w_exists = \
_a_atobalias_balias = _b_ab1_union_c_ab2 = None
diff --git a/test/sql/test_query.py b/test/sql/test_query.py
index 11bd62f64..6258e4516 100644
--- a/test/sql/test_query.py
+++ b/test/sql/test_query.py
@@ -13,6 +13,7 @@ from sqlalchemy.testing.schema import Table, Column
# sqlalhcemy.testing.suite
class QueryTest(fixtures.TestBase):
+ __backend__ = True
@classmethod
def setup_class(cls):
@@ -1328,6 +1329,7 @@ class TableInsertTest(fixtures.TablesTest):
"""
run_create_tables = 'each'
+ __backend__ = True
@classmethod
def define_tables(cls, metadata):
@@ -1499,6 +1501,7 @@ class TableInsertTest(fixtures.TablesTest):
class KeyTargetingTest(fixtures.TablesTest):
run_inserts = 'once'
run_deletes = None
+ __backend__ = True
@classmethod
def define_tables(cls, metadata):
@@ -1727,6 +1730,7 @@ class KeyTargetingTest(fixtures.TablesTest):
class LimitTest(fixtures.TestBase):
+ __backend__ = True
@classmethod
def setup_class(cls):
@@ -1804,6 +1808,9 @@ class LimitTest(fixtures.TestBase):
class CompoundTest(fixtures.TestBase):
"""test compound statements like UNION, INTERSECT, particularly their ability to nest on
different databases."""
+
+ __backend__ = True
+
@classmethod
def setup_class(cls):
global metadata, t1, t2, t3
@@ -2101,6 +2108,7 @@ class JoinTest(fixtures.TestBase):
`JOIN rhs ON lhs.col=rhs.col` vs `rhs.col=lhs.col`. At least one
database seems to be sensitive to this.
"""
+ __backend__ = True
@classmethod
def setup_class(cls):
@@ -2365,6 +2373,8 @@ class JoinTest(fixtures.TestBase):
class OperatorTest(fixtures.TestBase):
+ __backend__ = True
+
@classmethod
def setup_class(cls):
global metadata, flds
diff --git a/test/sql/test_quote.py b/test/sql/test_quote.py
index 3cab3dc79..76a789242 100644
--- a/test/sql/test_quote.py
+++ b/test/sql/test_quote.py
@@ -6,8 +6,8 @@ from sqlalchemy import testing
from sqlalchemy.sql.elements import quoted_name, _truncated_label, _anonymous_label
from sqlalchemy.testing.util import picklers
-class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
- __dialect__ = 'default'
+class QuoteExecTest(fixtures.TestBase):
+ __backend__ = True
@classmethod
def setup_class(cls):
@@ -159,6 +159,28 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
result = select(columns, use_labels=True).execute().fetchall()
assert(result == [(1, 2, 3), (2, 2, 3), (4, 3, 2)])
+class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
+ __dialect__ = 'default'
+
+ @classmethod
+ def setup_class(cls):
+ # TODO: figure out which databases/which identifiers allow special
+ # characters to be used, such as: spaces, quote characters,
+ # punctuation characters, set up tests for those as well.
+
+ global table1, table2
+ metadata = MetaData(testing.db)
+
+ table1 = Table('WorstCase1', metadata,
+ Column('lowercase', Integer, primary_key=True),
+ Column('UPPERCASE', Integer),
+ Column('MixedCase', Integer),
+ Column('ASC', Integer, key='a123'))
+ table2 = Table('WorstCase2', metadata,
+ Column('desc', Integer, primary_key=True, key='d123'),
+ Column('Union', Integer, key='u123'),
+ Column('MixedCase', Integer))
+
@testing.crashes('oracle', 'FIXME: unknown, verify not fails_on')
@testing.requires.subqueries
def test_labels(self):
@@ -181,7 +203,6 @@ class QuoteTest(fixtures.TestBase, AssertsCompiledSQL):
where the "UPPERCASE" column of "LaLa" doesn't exist.
"""
- x = table1.select(distinct=True).alias('LaLa').select().scalar()
self.assert_compile(
table1.select(distinct=True).alias('LaLa').select(),
'SELECT '
diff --git a/test/sql/test_returning.py b/test/sql/test_returning.py
index e7245aa3c..394fe1002 100644
--- a/test/sql/test_returning.py
+++ b/test/sql/test_returning.py
@@ -10,6 +10,7 @@ import itertools
class ReturningTest(fixtures.TestBase, AssertsExecutionResults):
__requires__ = 'returning',
+ __backend__ = True
def setup(self):
meta = MetaData(testing.db)
@@ -137,6 +138,7 @@ class ReturningTest(fixtures.TestBase, AssertsExecutionResults):
class SequenceReturningTest(fixtures.TestBase):
__requires__ = 'returning', 'sequences'
+ __backend__ = True
def setup(self):
meta = MetaData(testing.db)
@@ -160,6 +162,7 @@ class KeyReturningTest(fixtures.TestBase, AssertsExecutionResults):
"""test returning() works with columns that define 'key'."""
__requires__ = 'returning',
+ __backend__ = True
def setup(self):
meta = MetaData(testing.db)
@@ -188,6 +191,7 @@ class KeyReturningTest(fixtures.TestBase, AssertsExecutionResults):
class ReturnDefaultsTest(fixtures.TablesTest):
__requires__ = ('returning', )
run_define_tables = 'each'
+ __backend__ = True
@classmethod
def define_tables(cls, metadata):
@@ -309,6 +313,8 @@ class ReturnDefaultsTest(fixtures.TablesTest):
)
class ImplicitReturningFlag(fixtures.TestBase):
+ __backend__ = True
+
def test_flag_turned_off(self):
e = engines.testing_engine(options={'implicit_returning':False})
assert e.dialect.implicit_returning is False
diff --git a/test/sql/test_rowcount.py b/test/sql/test_rowcount.py
index 2dbf4f3ea..2d3c51fa2 100644
--- a/test/sql/test_rowcount.py
+++ b/test/sql/test_rowcount.py
@@ -7,6 +7,7 @@ class FoundRowsTest(fixtures.TestBase, AssertsExecutionResults):
"""tests rowcount functionality"""
__requires__ = ('sane_rowcount', )
+ __backend__ = True
@classmethod
def setup_class(cls):
diff --git a/test/sql/test_types.py b/test/sql/test_types.py
index c7e629837..91e467aed 100644
--- a/test/sql/test_types.py
+++ b/test/sql/test_types.py
@@ -846,6 +846,7 @@ class UnicodeTest(fixtures.TestBase):
sqlalchemy/testing/suite/test_types.py.
"""
+ __backend__ = True
def test_native_unicode(self):
"""assert expected values for 'native unicode' mode"""
diff --git a/test/sql/test_unicode.py b/test/sql/test_unicode.py
index 0118b6a2b..99de16f7f 100644
--- a/test/sql/test_unicode.py
+++ b/test/sql/test_unicode.py
@@ -9,6 +9,7 @@ from sqlalchemy.util import u, ue
class UnicodeSchemaTest(fixtures.TestBase):
__requires__ = ('unicode_ddl',)
+ __backend__ = True
@classmethod
def setup_class(cls):
diff --git a/test/sql/test_update.py b/test/sql/test_update.py
index 272b5fcae..829739bcc 100644
--- a/test/sql/test_update.py
+++ b/test/sql/test_update.py
@@ -405,6 +405,7 @@ class UpdateFromCompileTest(_UpdateFromTestBase, fixtures.TablesTest,
class UpdateFromRoundTripTest(_UpdateFromTestBase, fixtures.TablesTest):
+ __backend__ = True
@testing.requires.update_from
def test_exec_two_table(self):
@@ -538,6 +539,8 @@ class UpdateFromRoundTripTest(_UpdateFromTestBase, fixtures.TablesTest):
class UpdateFromMultiTableUpdateDefaultsTest(_UpdateFromTestBase,
fixtures.TablesTest):
+ __backend__ = True
+
@classmethod
def define_tables(cls, metadata):
Table('users', metadata,