Skip to content

Commit f415c09

Browse files
authored
fix: Changing classes to their closest Firebolt equivalent (#75)
1 parent a2e6656 commit f415c09

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

src/firebolt_db/firebolt_dialect.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
ARRAY,
1616
BIGINT,
1717
BOOLEAN,
18-
CHAR,
1918
DATE,
2019
DATETIME,
21-
FLOAT,
2220
INTEGER,
21+
NUMERIC,
22+
REAL,
23+
TEXT,
2324
TIMESTAMP,
24-
VARCHAR,
2525
)
2626

2727

@@ -31,14 +31,15 @@ class BYTEA(sqltypes.LargeBinary):
3131

3232
# Firebolt data types compatibility with sqlalchemy.sql.types
3333
type_map = {
34-
"char": CHAR,
35-
"text": VARCHAR,
36-
"varchar": VARCHAR,
37-
"string": VARCHAR,
38-
"float": FLOAT,
39-
"double": FLOAT,
40-
"double precision": FLOAT,
41-
"real": FLOAT,
34+
"text": TEXT,
35+
"varchar": TEXT,
36+
"string": TEXT,
37+
"float": REAL,
38+
"double": REAL,
39+
"double precision": REAL,
40+
"numeric": NUMERIC,
41+
"decimal": NUMERIC,
42+
"real": REAL,
4243
"boolean": BOOLEAN,
4344
"int": INTEGER,
4445
"integer": INTEGER,
@@ -76,7 +77,7 @@ def removesuffix(s: str, suffix: str) -> str:
7677
return result
7778

7879

79-
DEFAULT_TYPE = VARCHAR
80+
DEFAULT_TYPE = TEXT
8081

8182

8283
class UniversalSet(set):

tests/unit/test_firebolt_dialect.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -276,13 +276,12 @@ def test_get_is_nullable():
276276

277277

278278
def test_types():
279-
assert firebolt_db.firebolt_dialect.CHAR is sqlalchemy.sql.sqltypes.CHAR
280279
assert firebolt_db.firebolt_dialect.DATE is sqlalchemy.sql.sqltypes.DATE
281280
assert firebolt_db.firebolt_dialect.DATETIME is sqlalchemy.sql.sqltypes.DATETIME
282281
assert firebolt_db.firebolt_dialect.INTEGER is sqlalchemy.sql.sqltypes.INTEGER
283282
assert firebolt_db.firebolt_dialect.BIGINT is sqlalchemy.sql.sqltypes.BIGINT
284283
assert firebolt_db.firebolt_dialect.TIMESTAMP is sqlalchemy.sql.sqltypes.TIMESTAMP
285-
assert firebolt_db.firebolt_dialect.VARCHAR is sqlalchemy.sql.sqltypes.VARCHAR
284+
assert firebolt_db.firebolt_dialect.TEXT is sqlalchemy.sql.sqltypes.TEXT
286285
assert firebolt_db.firebolt_dialect.BOOLEAN is sqlalchemy.sql.sqltypes.BOOLEAN
287-
assert firebolt_db.firebolt_dialect.FLOAT is sqlalchemy.sql.sqltypes.FLOAT
286+
assert firebolt_db.firebolt_dialect.REAL is sqlalchemy.sql.sqltypes.REAL
288287
assert issubclass(firebolt_db.firebolt_dialect.ARRAY, sqlalchemy.types.TypeEngine)

0 commit comments

Comments
 (0)