Skip to content

Commit b855941

Browse files
committed
add LONGVARCHAR type support and corresponding tests
1 parent 4e0562c commit b855941

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

sqlalchemy_iris/base.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -774,6 +774,9 @@ def visit_TEXT(self, type_, **kw):
774774
def visit_LONGVARBINARY(self, type_, **kw):
775775
return "LONGVARBINARY"
776776

777+
def visit_LONGVARCHAR(self, type_, **kw):
778+
return "LONGVARCHAR"
779+
777780
def visit_DOUBLE(self, type_, **kw):
778781
return "DOUBLE"
779782

tests/test_alembic.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
from sqlalchemy_iris import LONGVARCHAR
2+
3+
14
try:
25
import alembic # noqa
36
except: # noqa
@@ -128,3 +131,29 @@ def test_str_to_blob(self, connection, ops_context):
128131
assert col["name"] == "col"
129132
assert isinstance(col["type"], LONGVARBINARY)
130133
assert not col["nullable"]
134+
135+
class TestIRISLONGVARCHAR(TestBase):
136+
137+
@fixture
138+
def tables(self, connection):
139+
self.meta = MetaData()
140+
self.tbl = Table(
141+
"longvarbinary_test",
142+
self.meta,
143+
Column("id", Integer, primary_key=True),
144+
Column("data", LONGVARCHAR),
145+
)
146+
self.meta.create_all(connection)
147+
yield
148+
self.meta.drop_all(connection)
149+
150+
def test_longvarchar(self, connection, tables):
151+
connection.execute(
152+
self.tbl.insert(),
153+
[
154+
{"data": "test data"},
155+
{"data": "more test data"},
156+
],
157+
)
158+
result = connection.execute(self.tbl.select()).fetchall()
159+
assert result == [(1, "test data"), (2, "more test data")]

0 commit comments

Comments
 (0)