diff --git a/pynuodb/datatype.py b/pynuodb/datatype.py index 62ad2ac..510382e 100644 --- a/pynuodb/datatype.py +++ b/pynuodb/datatype.py @@ -154,8 +154,9 @@ def __cmp__(self, other): NUMBER = TypeObject(int, decimal.Decimal) DATETIME = TypeObject(Timestamp, Date, Time) ROWID = TypeObject() +NULL = TypeObject(None) -TYPEMAP = {"": None, +TYPEMAP = {"": NULL, "string": STRING, "char": STRING, "varchar": STRING, diff --git a/tests/nuodb_types_test.py b/tests/nuodb_types_test.py index cfe740a..ea71984 100644 --- a/tests/nuodb_types_test.py +++ b/tests/nuodb_types_test.py @@ -112,3 +112,16 @@ def test_datetime_types(self): assert row[1] == datetime.time(5, 44, 33, 221100) assert row[2] == datetime.datetime(2000, 1, 1, 5, 44, 33, 221100) assert row[3] == datetime.datetime(2000, 1, 1, 5, 44, 33, 221100) + + def test_null_type(self): + con = self._connect() + cursor = con.cursor() + + null_type = self.driver.TypeObjectFromNuodb('') + + cursor.execute("SELECT NULL from dual") + row = cursor.fetchone() + + assert len(row) == 1 + assert cursor.description[0][1] == null_type + assert row[0] is None