ydb-sqlalchemy 0.1.12__tar.gz → 0.1.13__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. {ydb_sqlalchemy-0.1.12/ydb_sqlalchemy.egg-info → ydb_sqlalchemy-0.1.13}/PKG-INFO +1 -1
  2. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/setup.py +1 -1
  3. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/test/test_suite.py +13 -0
  4. ydb_sqlalchemy-0.1.13/ydb_sqlalchemy/_version.py +1 -0
  5. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/compiler/base.py +4 -0
  6. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13/ydb_sqlalchemy.egg-info}/PKG-INFO +1 -1
  7. ydb_sqlalchemy-0.1.12/ydb_sqlalchemy/_version.py +0 -1
  8. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/LICENSE +0 -0
  9. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/MANIFEST.in +0 -0
  10. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/README.md +0 -0
  11. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/pyproject.toml +0 -0
  12. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/requirements.txt +0 -0
  13. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/setup.cfg +0 -0
  14. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/test/__init__.py +0 -0
  15. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/test/conftest.py +0 -0
  16. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/test/test_core.py +0 -0
  17. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/test/test_inspect.py +0 -0
  18. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/test/test_orm.py +0 -0
  19. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/__init__.py +0 -0
  20. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/__init__.py +0 -0
  21. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/compiler/__init__.py +0 -0
  22. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/compiler/sa14.py +0 -0
  23. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/compiler/sa20.py +0 -0
  24. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/datetime_types.py +0 -0
  25. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/dbapi_adapter.py +0 -0
  26. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/dml.py +0 -0
  27. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/json.py +0 -0
  28. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/requirements.py +0 -0
  29. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/test_sqlalchemy.py +0 -0
  30. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy/sqlalchemy/types.py +0 -0
  31. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy.egg-info/SOURCES.txt +0 -0
  32. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy.egg-info/dependency_links.txt +0 -0
  33. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy.egg-info/entry_points.txt +0 -0
  34. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy.egg-info/requires.txt +0 -0
  35. {ydb_sqlalchemy-0.1.12 → ydb_sqlalchemy-0.1.13}/ydb_sqlalchemy.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ydb-sqlalchemy
3
- Version: 0.1.12
3
+ Version: 0.1.13
4
4
  Summary: YDB Dialect for SQLAlchemy
5
5
  Home-page: http://github.com/ydb-platform/ydb-sqlalchemy
6
6
  Author: Yandex LLC
@@ -13,7 +13,7 @@ with open("requirements.txt") as f:
13
13
 
14
14
  setuptools.setup(
15
15
  name="ydb-sqlalchemy",
16
- version="0.1.12", # AUTOVERSION
16
+ version="0.1.13", # AUTOVERSION
17
17
  description="YDB Dialect for SQLAlchemy",
18
18
  author="Yandex LLC",
19
19
  author_email="ydb@yandex-team.ru",
@@ -577,6 +577,19 @@ class ContainerTypesTest(fixtures.TablesTest):
577
577
 
578
578
  eq_(connection.execute(sa.select(table)).fetchall(), [(1,), (2,), (3,)])
579
579
 
580
+ def test_tuple_list_type_bind_variable_text(self, connection):
581
+ table = self.tables.container_types_test
582
+
583
+ connection.execute(sa.insert(table).values([{"id": 1}, {"id": 2}, {"id": 3}]))
584
+
585
+ stmt = select(table.c.id).where(
586
+ sa.text("(id, id) IN :tuple_arr_var").bindparams(
587
+ sa.bindparam("tuple_arr_var", type_=sa.ARRAY(sa.TupleType(sa.Integer, sa.Integer))),
588
+ )
589
+ )
590
+
591
+ eq_(connection.execute(stmt, {"tuple_arr_var": [(1, 1), (2, 2)]}).fetchall(), [(1,), (2,)])
592
+
580
593
 
581
594
  class ConcatTest(fixtures.TablesTest):
582
595
  @classmethod
@@ -0,0 +1 @@
1
+ VERSION = "0.1.13"
@@ -228,6 +228,10 @@ class BaseYqlTypeCompiler(StrSQLTypeCompiler):
228
228
  ydb_type = ydb.DecimalType(precision, scale)
229
229
  elif isinstance(type_, (types.ListType, sa.ARRAY)):
230
230
  ydb_type = ydb.ListType(self.get_ydb_type(type_.item_type, is_optional=False))
231
+ elif isinstance(type_, sa.TupleType):
232
+ ydb_type = ydb.TupleType()
233
+ for item_type in type_.types:
234
+ ydb_type.add_element(self.get_ydb_type(item_type, is_optional=False))
231
235
  elif isinstance(type_, types.StructType):
232
236
  ydb_type = ydb.StructType()
233
237
  for field, field_type in type_.fields_types.items():
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ydb-sqlalchemy
3
- Version: 0.1.12
3
+ Version: 0.1.13
4
4
  Summary: YDB Dialect for SQLAlchemy
5
5
  Home-page: http://github.com/ydb-platform/ydb-sqlalchemy
6
6
  Author: Yandex LLC
@@ -1 +0,0 @@
1
- VERSION = "0.1.12"
File without changes