sqlalchemy-iris 0.10.0b3__py3-none-any.whl → 0.10.1__py3-none-any.whl

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.
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ import re
2
3
 
3
4
  from typing import Optional
4
5
  from typing import Any
@@ -67,12 +68,17 @@ class IRISImpl(DefaultImpl):
67
68
  ):
68
69
  return False
69
70
 
70
- return super().compare_server_default(
71
- inspector_column,
72
- metadata_column,
73
- rendered_metadata_default,
74
- rendered_inspector_default,
75
- )
71
+ if rendered_metadata_default is not None:
72
+ rendered_metadata_default = re.sub(
73
+ r"[\(\) \"\']", "", rendered_metadata_default
74
+ )
75
+
76
+ if rendered_inspector_default is not None:
77
+ rendered_inspector_default = re.sub(
78
+ r"[\(\) \"\']", "", rendered_inspector_default
79
+ )
80
+
81
+ return rendered_inspector_default != rendered_metadata_default
76
82
 
77
83
  def alter_column(
78
84
  self,
@@ -178,10 +184,10 @@ def visit_rename_column(element: ColumnName, compiler: IRISDDLCompiler, **kw) ->
178
184
  format_column_name(compiler, element.newname),
179
185
  )
180
186
 
187
+
181
188
  @compiles(DropColumn, "iris")
182
189
  def visit_drop_column(element: DropColumn, compiler: IRISDDLCompiler, **kw) -> str:
183
190
  return "%s %s CASCADE" % (
184
191
  alter_table(compiler, element.table_name, element.schema),
185
192
  drop_column(compiler, element.column.name, **kw),
186
193
  )
187
-
sqlalchemy_iris/base.py CHANGED
@@ -10,6 +10,7 @@ from sqlalchemy.sql import util as sql_util
10
10
  from sqlalchemy.sql import between
11
11
  from sqlalchemy.sql import func
12
12
  from sqlalchemy.sql.functions import ReturnTypeFromArgs
13
+ from sqlalchemy.sql.elements import Null
13
14
  from sqlalchemy.sql import expression
14
15
  from sqlalchemy.sql import schema
15
16
  from sqlalchemy import sql, text
@@ -445,6 +446,22 @@ class IRISCompiler(sql.compiler.SQLCompiler):
445
446
  def visit_is_false_unary_operator(self, element, operator, **kw):
446
447
  return "%s = 0" % self.process(element.element, **kw)
447
448
 
449
+ def visit_is__binary(self, binary, operator, **kw):
450
+ op = "IS" if isinstance(binary.right, Null) else "="
451
+ return "%s %s %s" % (
452
+ self.process(binary.left),
453
+ op,
454
+ self.process(binary.right),
455
+ )
456
+
457
+ def visit_is_not_binary(self, binary, operator, **kw):
458
+ op = "IS NOT" if isinstance(binary.right, Null) else "<>"
459
+ return "%s %s %s" % (
460
+ self.process(binary.left),
461
+ op,
462
+ self.process(binary.right),
463
+ )
464
+
448
465
  def get_select_precolumns(self, select, **kw):
449
466
  text = ""
450
467
  if select._distinct or select._distinct_on:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sqlalchemy-iris
3
- Version: 0.10.0b3
3
+ Version: 0.10.1
4
4
  Summary: InterSystems IRIS for SQLAlchemy
5
5
  Home-page: https://github.com/caretdev/sqlalchemy-iris
6
6
  Maintainer: CaretDev
@@ -68,17 +68,17 @@ iris/irisloader.py,sha256=2ZLM0FlYNStTiZrXuvDcO-V_XZVgmB3R8vesmaqMqYA,4808
68
68
  irisnative/_IRISNative.py,sha256=HQ4nBhc8t8_5OtxdMG-kx1aa-T1znf2I8obZOPLOPzg,665
69
69
  irisnative/__init__.py,sha256=6YmvBLQSURsCPKaNg7LK-xpo4ipDjrlhKuwdfdNb3Kg,341
70
70
  sqlalchemy_iris/__init__.py,sha256=TKZt8fTcW8HDhw5ukl6sPyodH8u185eWYrKPHrJGb3I,992
71
- sqlalchemy_iris/alembic.py,sha256=LRwNP-3a-8EqLCJ8oeEO__VD1LAxNGqQhQBrA3O7vX8,6134
72
- sqlalchemy_iris/base.py,sha256=aat8kakKN1MAtX0fs1UydqMH1xJLwuNnRf7GtZBC8po,49369
71
+ sqlalchemy_iris/alembic.py,sha256=IhZP6P-whMrXzD8lTCKvIC6EK8hKW88JTNG_U8t2quk,6373
72
+ sqlalchemy_iris/base.py,sha256=8vMpwjF9bDVFT5t1k6G5ZUvAZEf6bfs8pYUmrov9rzM,49924
73
73
  sqlalchemy_iris/embedded.py,sha256=6DbnfcJwYQmHjyvQQ0cN6mV6zbF3AAOJkucww5LypiE,547
74
74
  sqlalchemy_iris/information_schema.py,sha256=Ei1gAHXn4fWpvmUzwf-2hGslU458uQXFt1s0r1NAj2Y,6132
75
75
  sqlalchemy_iris/iris.py,sha256=Of0Ruc9W2c5ll5sjAy1xRo4tf1m0l_ab0vAdacTv3Yw,276
76
76
  sqlalchemy_iris/provision.py,sha256=drorbIgNO770Ws0XiCRXY_sDbQGIy2_zzNK3KYrDetY,198
77
77
  sqlalchemy_iris/requirements.py,sha256=eIV8bcPHOmSrGxzxfqVeLYEdol3MIoXnRQLI9sq32mM,7175
78
78
  sqlalchemy_iris/types.py,sha256=JRQROZyhAuVX0w_hYkuRfJQt9Bxa4ruKfVQrG_s-0Qc,4216
79
- sqlalchemy_iris-0.10.0b3.dist-info/LICENSE,sha256=RQmigqltsLq8lfOBc_KwtL0gkODyUCNpU-0ZiZwGlho,1075
80
- sqlalchemy_iris-0.10.0b3.dist-info/METADATA,sha256=3XtUbIxmX5NPIGEC5bVNLSaXZTrqIDjb7lrXCghBijM,2341
81
- sqlalchemy_iris-0.10.0b3.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
82
- sqlalchemy_iris-0.10.0b3.dist-info/entry_points.txt,sha256=w7qS4R3anhoVEC5rzpw1H6gLu41wdZiahfg9bNH0Tio,119
83
- sqlalchemy_iris-0.10.0b3.dist-info/top_level.txt,sha256=mjpHqFjekbB1TWr3xI3o4AqN3Spby-_uqyuSSeBDmuw,50
84
- sqlalchemy_iris-0.10.0b3.dist-info/RECORD,,
79
+ sqlalchemy_iris-0.10.1.dist-info/LICENSE,sha256=RQmigqltsLq8lfOBc_KwtL0gkODyUCNpU-0ZiZwGlho,1075
80
+ sqlalchemy_iris-0.10.1.dist-info/METADATA,sha256=GwyPdB22ABXENbkyfYOQq-AIKHuv7ZdYYmw4pmGbQB0,2339
81
+ sqlalchemy_iris-0.10.1.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
82
+ sqlalchemy_iris-0.10.1.dist-info/entry_points.txt,sha256=w7qS4R3anhoVEC5rzpw1H6gLu41wdZiahfg9bNH0Tio,119
83
+ sqlalchemy_iris-0.10.1.dist-info/top_level.txt,sha256=mjpHqFjekbB1TWr3xI3o4AqN3Spby-_uqyuSSeBDmuw,50
84
+ sqlalchemy_iris-0.10.1.dist-info/RECORD,,