diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-05-16 13:01:19 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-05-16 13:01:19 -0400 |
commit | acb13668c2988179dbee68f599492a533e817d0e (patch) | |
tree | deaa9f304088a9abd9f1a1afbd37fc0de5d6e300 /test/dialect/postgresql/test_compiler.py | |
parent | 0f925ad430fd482d77520bb5de62949f9c75ac65 (diff) | |
parent | 57b6da9d402f164605c7bfe270654725cb604f1f (diff) | |
download | sqlalchemy-acb13668c2988179dbee68f599492a533e817d0e.tar.gz |
Merge branch 'zero_indexes-param-for-postgresql-ARRAY-type' of https://bitbucket.org/LevonXXL/sqlalchemy/overview into t
Diffstat (limited to 'test/dialect/postgresql/test_compiler.py')
-rw-r--r-- | test/dialect/postgresql/test_compiler.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/test/dialect/postgresql/test_compiler.py b/test/dialect/postgresql/test_compiler.py index db6efa34a..35f7b1199 100644 --- a/test/dialect/postgresql/test_compiler.py +++ b/test/dialect/postgresql/test_compiler.py @@ -428,6 +428,59 @@ class CompileTest(fixtures.TestBase, AssertsCompiledSQL): checkparams={'param_1': 7} ) + def test_array_shift_indexes(self): + c = Column('x', postgresql.ARRAY(Integer, zero_indexes=True)) + + self.assert_compile( + cast(c, postgresql.ARRAY(Integer, zero_indexes=True)), + "CAST(x AS INTEGER[])" + ) + self.assert_compile( + c[5], + "x[%(x_1)s]", + checkparams={'x_1': 6} + ) + + self.assert_compile( + c[5:7], + "x[%(x_1)s:%(x_2)s]", + checkparams={'x_2': 8, 'x_1': 6} + ) + self.assert_compile( + c[5:7][2:3], + "x[%(x_1)s:%(x_2)s][%(param_1)s:%(param_2)s]", + checkparams={'x_2': 8, 'x_1': 6, 'param_1': 3, 'param_2': 4} + ) + self.assert_compile( + c[5:7][3], + "x[%(x_1)s:%(x_2)s][%(param_1)s]", + checkparams={'x_2': 8, 'x_1': 6, 'param_1': 4} + ) + + c = Column('x', postgresql.ARRAY(Integer, zero_indexes=False)) + + self.assert_compile( + c[5], + "x[%(x_1)s]", + checkparams={'x_1': 5} + ) + + self.assert_compile( + c[5:7], + "x[%(x_1)s:%(x_2)s]", + checkparams={'x_2': 7, 'x_1': 5} + ) + self.assert_compile( + c[5:7][2:3], + "x[%(x_1)s:%(x_2)s][%(param_1)s:%(param_2)s]", + checkparams={'x_2': 7, 'x_1': 5, 'param_1': 2, 'param_2': 3} + ) + self.assert_compile( + c[5:7][3], + "x[%(x_1)s:%(x_2)s][%(param_1)s]", + checkparams={'x_2': 7, 'x_1': 5, 'param_1': 3} + ) + def test_array_literal_type(self): is_(postgresql.array([1, 2]).type._type_affinity, postgresql.ARRAY) is_(postgresql.array([1, 2]).type.item_type._type_affinity, Integer) |