diff --git a/setup.py b/setup.py
index fde631b..2f85f7f 100644
--- a/setup.py
+++ b/setup.py
@@ -16,5 +16,5 @@
     package_dir={"": "src"},
     packages=["cs50"],
     url="https://github.com/cs50/python-cs50",
-    version="2.4.3"
+    version="2.4.4"
 )
diff --git a/src/cs50/sql.py b/src/cs50/sql.py
index bdd676c..27291f5 100644
--- a/src/cs50/sql.py
+++ b/src/cs50/sql.py
@@ -103,39 +103,39 @@ def process(value):
                     """Render a literal value, escaping as needed."""
 
                     # bool
-                    if isinstance(value, bool):
+                    if type(value) is bool:
                         return sqlalchemy.types.Boolean().literal_processor(dialect)(value)
 
                     # datetime.date
-                    elif isinstance(value, datetime.date):
+                    elif type(value) is datetime.date:
                         return sqlalchemy.types.String().literal_processor(dialect)(value.strftime("%Y-%m-%d"))
 
                     # datetime.datetime
-                    elif isinstance(value, datetime.datetime):
+                    elif type(value) is datetime.datetime:
                         return sqlalchemy.types.String().literal_processor(dialect)(value.strftime("%Y-%m-%d %H:%M:%S"))
 
                     # datetime.time
-                    elif isinstance(value, datetime.time):
+                    elif type(value) is datetime.time:
                         return sqlalchemy.types.String().literal_processor(dialect)(value.strftime("%H:%M:%S"))
 
                     # float
-                    elif isinstance(value, float):
+                    elif type(value) is float:
                         return sqlalchemy.types.Float().literal_processor(dialect)(value)
 
                     # int
-                    elif isinstance(value, int):
+                    elif type(value) is int:
                         return sqlalchemy.types.Integer().literal_processor(dialect)(value)
 
                     # long
-                    elif sys.version_info.major != 3 and isinstance(value, long):
+                    elif sys.version_info.major != 3 and type(value) is long:
                         return sqlalchemy.types.Integer().literal_processor(dialect)(value)
 
                     # str
-                    elif isinstance(value, str):
+                    elif type(value) is str:
                         return sqlalchemy.types.String().literal_processor(dialect)(value)
 
                     # None
-                    elif isinstance(value, sqlalchemy.sql.elements.Null):
+                    elif type(value) is sqlalchemy.sql.elements.Null:
                         return sqlalchemy.types.NullType().literal_processor(dialect)(value)
 
                     # Unsupported value
@@ -192,7 +192,7 @@ def process(value):
                 rows = [dict(row) for row in result.fetchall()]
                 for row in rows:
                     for column in row:
-                        if isinstance(row[column], decimal.Decimal):
+                        if type(row[column]) is decimal.Decimal:
                             row[column] = float(row[column])
                 ret = rows