aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-07-19 13:42:18 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-07-19 13:42:18 +0200
commit3ccd52b46db124086345f3c7b8e95e435d500903 (patch)
treeb39be3a9c2154a8b35b8ed2e438ce0b9d8cd5891
parente10e8aab78cd70edc606b475d7feca2f0845f780 (diff)
New design for NULL semantics
Now, instead of being specified as part of the SQL type with the type pragma, there are separate null and not_null pragmas. The not_null pragma was used to control NULL-ness of object pointers. Now the two pragmas are used consistently for object pointers and simple values (and in the future will work for composite values and containers).
-rw-r--r--odb/qt/basic/mysql/default-mapping.hxx5
-rw-r--r--odb/qt/basic/sqlite/default-mapping.hxx4
-rw-r--r--odb/qt/date-time/mysql/default-mapping.hxx6
-rw-r--r--odb/qt/date-time/sqlite/default-mapping.hxx6
4 files changed, 10 insertions, 11 deletions
diff --git a/odb/qt/basic/mysql/default-mapping.hxx b/odb/qt/basic/mysql/default-mapping.hxx
index d111a08..e26e73e 100644
--- a/odb/qt/basic/mysql/default-mapping.hxx
+++ b/odb/qt/basic/mysql/default-mapping.hxx
@@ -12,12 +12,11 @@
// By default, map QString to MySQL TEXT for non-id and to VARCHAR(256) for
// id members. MySQL cannot have primary keys of the TEXT type.
//
-#pragma db value(QString) type("TEXT NOT NULL") \
- id_type("VARCHAR(256) NOT NULL")
+#pragma db value(QString) type("TEXT") id_type("VARCHAR(256)")
// Map QByteArray to MySQL BLOB by default. Allow NULL values by default as
// QByteArray provides a null representation.
//
-#pragma db value(QByteArray) type("BLOB")
+#pragma db value(QByteArray) type("BLOB") null
#endif // ODB_QT_BASIC_MYSQL_DEFAULT_MAPPING_HXX
diff --git a/odb/qt/basic/sqlite/default-mapping.hxx b/odb/qt/basic/sqlite/default-mapping.hxx
index cc04ddd..2526121 100644
--- a/odb/qt/basic/sqlite/default-mapping.hxx
+++ b/odb/qt/basic/sqlite/default-mapping.hxx
@@ -12,11 +12,11 @@
// Map QString to SQLite TEXT by default. Allow NULL values by default as
// QString provides a null representation.
//
-#pragma db value(QString) type("TEXT")
+#pragma db value(QString) type("TEXT") null
// Map QByteArray to SQLite BLOB by default. Allow NULL values by default as
// QByteArray provides a null representation.
//
-#pragma db value(QByteArray) type("BLOB")
+#pragma db value(QByteArray) type("BLOB") null
#endif // ODB_QT_BASIC_SQLITE_DEFAULT_MAPPING_HXX
diff --git a/odb/qt/date-time/mysql/default-mapping.hxx b/odb/qt/date-time/mysql/default-mapping.hxx
index 250d668..ba94108 100644
--- a/odb/qt/date-time/mysql/default-mapping.hxx
+++ b/odb/qt/date-time/mysql/default-mapping.hxx
@@ -13,16 +13,16 @@
// Map QDate to MySQL DATE by default. QDate provides a null
// representation so allow NULL values by default.
//
-#pragma db value(QDate) type("DATE")
+#pragma db value(QDate) type("DATE") null
// Map QTime to MySQL TIME by default. QTime provides a null
// representation so allow NULL values by default.
//
-#pragma db value(QTime) type("TIME")
+#pragma db value(QTime) type("TIME") null
// Map QDateTime to MySQL DATETIME by default. QDateTime provides a null
// representation so allow NULL values by default.
//
-#pragma db value(QDateTime) type("DATETIME")
+#pragma db value(QDateTime) type("DATETIME") null
#endif // ODB_QT_DATE_TIME_MYSQL_DEFAULT_MAPPING_HXX
diff --git a/odb/qt/date-time/sqlite/default-mapping.hxx b/odb/qt/date-time/sqlite/default-mapping.hxx
index e497e96..fa10996 100644
--- a/odb/qt/date-time/sqlite/default-mapping.hxx
+++ b/odb/qt/date-time/sqlite/default-mapping.hxx
@@ -13,16 +13,16 @@
// Map QDate to SQLite TEXT by default. QDate provides a null representation
// so allow NULL values by default.
//
-#pragma db value(QDate) type("TEXT")
+#pragma db value(QDate) type("TEXT") null
// Map QTime to SQLite TEXT by default. QTime provides a null representation
// so allow NULL values by default.
//
-#pragma db value(QTime) type("TEXT")
+#pragma db value(QTime) type("TEXT") null
// Map QDateTime to SQLite TEXT by default. QDateTime provides a null
// representation so allow NULL values by default.
//
-#pragma db value(QDateTime) type("TEXT")
+#pragma db value(QDateTime) type("TEXT") null
#endif // ODB_QT_DATE_TIME_SQLITE_DEFAULT_MAPPING_HXX