sqlalchemy-iris 0.17.2b1__tar.gz → 0.17.2b2__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 (90) hide show
  1. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/PKG-INFO +1 -5
  2. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/README.md +0 -4
  3. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/setup.cfg +1 -1
  4. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris.egg-info/PKG-INFO +1 -5
  5. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/tests/test_suite.py +56 -8
  6. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/LICENSE +0 -0
  7. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_BufferReader.py +0 -0
  8. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_BufferWriter.py +0 -0
  9. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_ConnectionInformation.py +0 -0
  10. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_ConnectionParameters.py +0 -0
  11. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_Constant.py +0 -0
  12. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_DBList.py +0 -0
  13. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_Device.py +0 -0
  14. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_GatewayContext.py +0 -0
  15. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_GatewayException.py +0 -0
  16. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_GatewayUtility.py +0 -0
  17. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRIS.py +0 -0
  18. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRISConnection.py +0 -0
  19. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRISEmbedded.py +0 -0
  20. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRISGlobalNode.py +0 -0
  21. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRISGlobalNodeView.py +0 -0
  22. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRISIterator.py +0 -0
  23. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRISList.py +0 -0
  24. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRISNative.py +0 -0
  25. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRISOREF.py +0 -0
  26. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRISObject.py +0 -0
  27. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_IRISReference.py +0 -0
  28. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_InStream.py +0 -0
  29. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_LegacyIterator.py +0 -0
  30. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_ListItem.py +0 -0
  31. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_ListReader.py +0 -0
  32. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_ListWriter.py +0 -0
  33. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_LogFileStream.py +0 -0
  34. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_MessageHeader.py +0 -0
  35. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_OutStream.py +0 -0
  36. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_PrintStream.py +0 -0
  37. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_PythonGateway.py +0 -0
  38. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/_SharedMemorySocket.py +0 -0
  39. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/__init__.py +0 -0
  40. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/__main__.py +0 -0
  41. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/_Column.py +0 -0
  42. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/_DBAPI.py +0 -0
  43. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/_Descriptor.py +0 -0
  44. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/_IRISStream.py +0 -0
  45. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/_Message.py +0 -0
  46. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/_Parameter.py +0 -0
  47. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/_ParameterCollection.py +0 -0
  48. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/_ResultSetRow.py +0 -0
  49. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/_SQLType.py +0 -0
  50. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/__init__.py +0 -0
  51. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/preparser/_PreParser.py +0 -0
  52. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/preparser/_Scanner.py +0 -0
  53. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/preparser/_Token.py +0 -0
  54. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/preparser/_TokenList.py +0 -0
  55. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/dbapi/preparser/__init__.py +0 -0
  56. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_BusinessHost.py +0 -0
  57. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_BusinessOperation.py +0 -0
  58. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_BusinessProcess.py +0 -0
  59. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_BusinessService.py +0 -0
  60. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_Common.py +0 -0
  61. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_Director.py +0 -0
  62. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_IRISBusinessOperation.py +0 -0
  63. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_IRISBusinessService.py +0 -0
  64. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_IRISInboundAdapter.py +0 -0
  65. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_IRISOutboundAdapter.py +0 -0
  66. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_InboundAdapter.py +0 -0
  67. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_Message.py +0 -0
  68. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/_OutboundAdapter.py +0 -0
  69. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/intersystems_iris/pex/__init__.py +0 -0
  70. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/irisnative/_IRISNative.py +0 -0
  71. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/irisnative/__init__.py +0 -0
  72. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/setup.py +0 -0
  73. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/__init__.py +0 -0
  74. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/alembic.py +0 -0
  75. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/base.py +0 -0
  76. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/embedded.py +0 -0
  77. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/information_schema.py +0 -0
  78. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/intersystems/__init__.py +0 -0
  79. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/intersystems/dbapi.py +0 -0
  80. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/iris.py +0 -0
  81. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/irisasync.py +0 -0
  82. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/provision.py +0 -0
  83. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/requirements.py +0 -0
  84. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris/types.py +0 -0
  85. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris.egg-info/SOURCES.txt +0 -0
  86. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris.egg-info/dependency_links.txt +0 -0
  87. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris.egg-info/entry_points.txt +0 -0
  88. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris.egg-info/requires.txt +0 -0
  89. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/sqlalchemy_iris.egg-info/top_level.txt +0 -0
  90. {sqlalchemy_iris-0.17.2b1 → sqlalchemy_iris-0.17.2b2}/tests/test_alembic.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlalchemy-iris
3
- Version: 0.17.2b1
3
+ Version: 0.17.2b2
4
4
  Summary: InterSystems IRIS for SQLAlchemy
5
5
  Home-page: https://github.com/caretdev/sqlalchemy-iris
6
6
  Maintainer: CaretDev
@@ -125,10 +125,6 @@ engine = create_engine(DATABASE_URL, echo=False)
125
125
  metadata = MetaData()
126
126
 
127
127
 
128
- class Base(DeclarativeBase):
129
- pass
130
-
131
-
132
128
  def main():
133
129
  demo_table = Table(
134
130
  "demo_table",
@@ -95,10 +95,6 @@ engine = create_engine(DATABASE_URL, echo=False)
95
95
  metadata = MetaData()
96
96
 
97
97
 
98
- class Base(DeclarativeBase):
99
- pass
100
-
101
-
102
98
  def main():
103
99
  demo_table = Table(
104
100
  "demo_table",
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = sqlalchemy-iris
3
- version = 0.17.2b1
3
+ version = 0.17.2b2
4
4
  description = InterSystems IRIS for SQLAlchemy
5
5
  long_description = file: README.md
6
6
  url = https://github.com/caretdev/sqlalchemy-iris
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlalchemy-iris
3
- Version: 0.17.2b1
3
+ Version: 0.17.2b2
4
4
  Summary: InterSystems IRIS for SQLAlchemy
5
5
  Home-page: https://github.com/caretdev/sqlalchemy-iris
6
6
  Maintainer: CaretDev
@@ -125,10 +125,6 @@ engine = create_engine(DATABASE_URL, echo=False)
125
125
  metadata = MetaData()
126
126
 
127
127
 
128
- class Base(DeclarativeBase):
129
- pass
130
-
131
-
132
128
  def main():
133
129
  demo_table = Table(
134
130
  "demo_table",
@@ -11,7 +11,7 @@ from sqlalchemy.testing.assertions import eq_
11
11
  from sqlalchemy.testing import config
12
12
  from sqlalchemy.orm import Session
13
13
  from sqlalchemy import testing
14
- from sqlalchemy import Table, Column, select, func
14
+ from sqlalchemy import Table, Column, select, func, text
15
15
  from sqlalchemy.types import Integer
16
16
  from sqlalchemy.types import String
17
17
  from sqlalchemy.types import VARBINARY
@@ -516,6 +516,7 @@ class FutureTableDDLTest(_FutureTableDDLTest):
516
516
  def test_drop_table_comment(self, connection):
517
517
  pass
518
518
 
519
+
519
520
  class IRISPaginationTest(fixtures.TablesTest):
520
521
 
521
522
  @classmethod
@@ -538,14 +539,16 @@ class IRISPaginationTest(fixtures.TablesTest):
538
539
  def insert_data(cls, connection):
539
540
  connection.execute(
540
541
  cls.tables.data.insert(),
541
- [
542
- {"id": i, "value": f"value_{i}"} for i in range(1, 21)
543
- ],
542
+ [{"id": i, "value": f"value_{i}"} for i in range(1, 21)],
544
543
  )
545
544
  connection.execute(
546
545
  cls.tables.users.insert(),
547
546
  [
548
- {"user_id": i, "username": f"user_{i}", "email": f"user_{i}@example.com"}
547
+ {
548
+ "user_id": i,
549
+ "username": f"user_{i}",
550
+ "email": f"user_{i}@example.com",
551
+ }
549
552
  for i in range(1, 31)
550
553
  ],
551
554
  )
@@ -605,12 +608,12 @@ class IRISPaginationTest(fixtures.TablesTest):
605
608
  select(
606
609
  self.tables.data.c.value,
607
610
  self.tables.users.c.username,
608
- self.tables.users.c.email
611
+ self.tables.users.c.email,
609
612
  )
610
613
  .select_from(
611
614
  self.tables.data.join(
612
615
  self.tables.users,
613
- self.tables.data.c.id == self.tables.users.c.user_id
616
+ self.tables.data.c.id == self.tables.users.c.user_id,
614
617
  )
615
618
  )
616
619
  .order_by(self.tables.data.c.id)
@@ -675,4 +678,49 @@ class IRISPaginationTest(fixtures.TablesTest):
675
678
  .limit(page_size)
676
679
  .offset((total_pages_data - 1) * page_size)
677
680
  ).fetchall()
678
- assert len(result) == 6 # Last page has 6 records (20 - 14)
681
+ assert len(result) == 6 # Last page has 6 records (20 - 14)
682
+
683
+
684
+ class Issue20Test(fixtures.TablesTest):
685
+
686
+ def test_with(self):
687
+ sql = """
688
+ WITH cte AS (
689
+ SELECT 123 as n, :param as message
690
+ ),
691
+ cte1 AS (
692
+ SELECT 345 as n, :param1 as message
693
+ ),
694
+ cte2 AS (
695
+ SELECT *, :param2 as message2
696
+ FROM cte
697
+ )
698
+ SELECT *, :global as test FROM %s;
699
+ """
700
+
701
+ params = {
702
+ "param": "hello",
703
+ "param2": "hello2",
704
+ "param1": "hello1",
705
+ "global": "global_value",
706
+ }
707
+ with config.db.connect() as conn:
708
+ result = conn.execute(
709
+ text(sql % "cte"),
710
+ params,
711
+ ).fetchall()
712
+ assert result == [(123, "hello", "global_value")]
713
+
714
+ with config.db.connect() as conn:
715
+ result = conn.execute(
716
+ text(sql % "cte1"),
717
+ params,
718
+ ).fetchall()
719
+ assert result == [(345, "hello1", "global_value")]
720
+
721
+ with config.db.connect() as conn:
722
+ result = conn.execute(
723
+ text(sql % "cte2"),
724
+ params,
725
+ ).fetchall()
726
+ assert result == [(123, "hello", "hello2", "global_value")]