Skip to content

Commit fb27dbc

Browse files
committed
fixed information schema definitions
1 parent f8a557f commit fb27dbc

File tree

2 files changed

+24
-21
lines changed

2 files changed

+24
-21
lines changed

sqlalchemy_iris/information_schema.py

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,31 @@
1+
from sqlalchemy.types import TypeDecorator
12
from sqlalchemy import Column
23
from sqlalchemy import MetaData
34
from sqlalchemy import Table
4-
from sqlalchemy.types import Boolean
55
from sqlalchemy.types import Integer
66
from sqlalchemy.types import String
77

88

99
ischema = MetaData()
1010

1111

12+
class YESNO(TypeDecorator):
13+
impl = String
14+
15+
cache_ok = True
16+
17+
def __init__(self, length=None, **kwargs):
18+
super().__init__(length, **kwargs)
19+
20+
def process_literal_param(self, value, dialect):
21+
return 'YES' if value else 'NO'
22+
23+
process_bind_param = process_literal_param
24+
25+
def process_result_value(self, value, dialect):
26+
return value == 'YES'
27+
28+
1229
schemata = Table(
1330
"SCHEMATA",
1431
ischema,
@@ -37,17 +54,17 @@
3754
Column("COLUMN_NAME", String, key="column_name"),
3855
Column("ORDINAL_POSITION", Integer, key="ordinal_position"),
3956
Column("COLUMN_DEFAULT", Integer, key="column_default"),
40-
Column("IS_NULLABLE", Integer, key="is_nullable"),
57+
Column("IS_NULLABLE", YESNO, key="is_nullable"),
4158
Column("DATA_TYPE", String, key="data_type"),
4259
Column(
4360
"CHARACTER_MAXIMUM_LENGTH", Integer, key="character_maximum_length"
4461
),
4562
Column("NUMERIC_PRECISION", Integer, key="numeric_precision"),
4663
Column("NUMERIC_SCALE", Integer, key="numeric_scale"),
4764
Column("COLLATION_NAME", String, key="collation_name"),
48-
Column("AUTO_INCREMENT", Boolean, key="auto_increment"),
49-
Column("UNIQUE_COLUMN", Boolean, key="unique_column"),
50-
Column("PRIMARY_KEY", Boolean, key="primary_key"),
65+
Column("AUTO_INCREMENT", YESNO, key="auto_increment"),
66+
Column("UNIQUE_COLUMN", YESNO, key="unique_column"),
67+
Column("PRIMARY_KEY", YESNO, key="primary_key"),
5168
Column("DESCIPTION", String, key="desciption"),
5269
schema="INFORMATION_SCHEMA",
5370
)
@@ -58,14 +75,14 @@
5875
Column("TABLE_CATALOG", String, key="table_catalog"),
5976
Column("TABLE_SCHEMA", String, key="table_schema"),
6077
Column("TABLE_NAME", String, key="table_name"),
61-
Column("NON_UNIQUE", Boolean, key="non_unique"),
78+
Column("NON_UNIQUE", YESNO, key="non_unique"),
6279
Column("INDEX_CATALOG", String, key="index_catalog"),
6380
Column("INDEX_SCHEMA", String, key="index_schema"),
6481
Column("INDEX_NAME", String, key="index_name"),
6582
Column("ORDINAL_POSITION", Integer, key="ordinal_position"),
6683
Column("COLUMN_NAME", String, key="column_name"),
6784
Column("ASC_OR_DESC", String, key="asc_or_desc"),
68-
Column("PRIMARY_KEY", Boolean, key="primary_key"),
85+
Column("PRIMARY_KEY", YESNO, key="primary_key"),
6986
schema="INFORMATION_SCHEMA",
7087
)
7188

sqlalchemy_iris/requirements.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1110,17 +1110,3 @@ def autoincrement_without_sequence(self):
11101110
"""
11111111
return exclusions.open()
11121112
# return exclusions.closed()
1113-
1114-
#
1115-
# SQLAlchemy Tests
1116-
# pytest --dburi iris://_SYSTEM:SYS@localhost:1972/USER \
1117-
# --requirements sqlalchemy_iris.requirements:Requirements
1118-
#
1119-
1120-
@property
1121-
def memory_process_intensive(self):
1122-
return exclusions.closed()
1123-
1124-
@property
1125-
def array_type(self):
1126-
return exclusions.closed()

0 commit comments

Comments
 (0)