summaryrefslogtreecommitdiff
path: root/libodb-qt/odb/qt/basic/mssql/default-mapping.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'libodb-qt/odb/qt/basic/mssql/default-mapping.hxx')
-rw-r--r--libodb-qt/odb/qt/basic/mssql/default-mapping.hxx29
1 files changed, 29 insertions, 0 deletions
diff --git a/libodb-qt/odb/qt/basic/mssql/default-mapping.hxx b/libodb-qt/odb/qt/basic/mssql/default-mapping.hxx
new file mode 100644
index 0000000..19fd43b
--- /dev/null
+++ b/libodb-qt/odb/qt/basic/mssql/default-mapping.hxx
@@ -0,0 +1,29 @@
+// file : odb/qt/basic/mssql/default-mapping.hxx
+// license : GNU GPL v2; see accompanying LICENSE file
+
+#ifndef ODB_QT_BASIC_MSSQL_DEFAULT_MAPPING_HXX
+#define ODB_QT_BASIC_MSSQL_DEFAULT_MAPPING_HXX
+
+#include <QtCore/QString>
+#include <QtCore/QByteArray>
+#include <QtCore/QUuid>
+
+// By default map QString to SQL Server VARCHAR(512) for non-id members
+// and to VARCHAR(256) for id members (the same as the default mapping
+// for std::string). Allow NULL values by default as QString provides
+// a null representation.
+//
+#pragma db value(QString) type("VARCHAR(512)") id_type("VARCHAR(256)") null
+
+// By default map QByteArray to SQL Server VARBINARY(max). Allow NULL
+// values by default as QByteArray provides a null representation.
+//
+#pragma db value(QByteArray) type("VARBINARY(max)") null
+
+// By default map QUuid to SQL Server UNIQUEIDENTIFIER and use NULL to
+// represent null UUIDs. If NULL is disabled (e.g., at the member level),
+// then we store the null UUID (i.e., all bytes are zero).
+//
+#pragma db value(QUuid) type("UNIQUEIDENTIFIER") null
+
+#endif // ODB_QT_BASIC_MSSQL_DEFAULT_MAPPING_HXX