diff --git a/src/firebolt_db/firebolt_dialect.py b/src/firebolt_db/firebolt_dialect.py index 4623ea6..049013c 100644 --- a/src/firebolt_db/firebolt_dialect.py +++ b/src/firebolt_db/firebolt_dialect.py @@ -15,13 +15,13 @@ ARRAY, BIGINT, BOOLEAN, - CHAR, DATE, DATETIME, - FLOAT, INTEGER, + NUMERIC, + REAL, + TEXT, TIMESTAMP, - VARCHAR, ) @@ -31,14 +31,15 @@ class BYTEA(sqltypes.LargeBinary): # Firebolt data types compatibility with sqlalchemy.sql.types type_map = { - "char": CHAR, - "text": VARCHAR, - "varchar": VARCHAR, - "string": VARCHAR, - "float": FLOAT, - "double": FLOAT, - "double precision": FLOAT, - "real": FLOAT, + "text": TEXT, + "varchar": TEXT, + "string": TEXT, + "float": REAL, + "double": REAL, + "double precision": REAL, + "numeric": NUMERIC, + "decimal": NUMERIC, + "real": REAL, "boolean": BOOLEAN, "int": INTEGER, "integer": INTEGER, @@ -76,7 +77,7 @@ def removesuffix(s: str, suffix: str) -> str: return result -DEFAULT_TYPE = VARCHAR +DEFAULT_TYPE = TEXT class UniversalSet(set): diff --git a/tests/unit/test_firebolt_dialect.py b/tests/unit/test_firebolt_dialect.py index e08f89c..8d67cf4 100644 --- a/tests/unit/test_firebolt_dialect.py +++ b/tests/unit/test_firebolt_dialect.py @@ -276,13 +276,12 @@ def test_get_is_nullable(): def test_types(): - assert firebolt_db.firebolt_dialect.CHAR is sqlalchemy.sql.sqltypes.CHAR assert firebolt_db.firebolt_dialect.DATE is sqlalchemy.sql.sqltypes.DATE assert firebolt_db.firebolt_dialect.DATETIME is sqlalchemy.sql.sqltypes.DATETIME assert firebolt_db.firebolt_dialect.INTEGER is sqlalchemy.sql.sqltypes.INTEGER assert firebolt_db.firebolt_dialect.BIGINT is sqlalchemy.sql.sqltypes.BIGINT assert firebolt_db.firebolt_dialect.TIMESTAMP is sqlalchemy.sql.sqltypes.TIMESTAMP - assert firebolt_db.firebolt_dialect.VARCHAR is sqlalchemy.sql.sqltypes.VARCHAR + assert firebolt_db.firebolt_dialect.TEXT is sqlalchemy.sql.sqltypes.TEXT assert firebolt_db.firebolt_dialect.BOOLEAN is sqlalchemy.sql.sqltypes.BOOLEAN - assert firebolt_db.firebolt_dialect.FLOAT is sqlalchemy.sql.sqltypes.FLOAT + assert firebolt_db.firebolt_dialect.REAL is sqlalchemy.sql.sqltypes.REAL assert issubclass(firebolt_db.firebolt_dialect.ARRAY, sqlalchemy.types.TypeEngine)