From 3ccd52b46db124086345f3c7b8e95e435d500903 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 19 Jul 2011 13:42:18 +0200 Subject: 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). --- odb/qt/basic/mysql/default-mapping.hxx | 5 ++--- odb/qt/basic/sqlite/default-mapping.hxx | 4 ++-- odb/qt/date-time/mysql/default-mapping.hxx | 6 +++--- odb/qt/date-time/sqlite/default-mapping.hxx | 6 +++--- 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 -- cgit v1.1