summaryrefslogtreecommitdiff
path: root/libodb-boost/odb/boost/uuid/mssql/uuid-mapping.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'libodb-boost/odb/boost/uuid/mssql/uuid-mapping.hxx')
-rw-r--r--libodb-boost/odb/boost/uuid/mssql/uuid-mapping.hxx22
1 files changed, 22 insertions, 0 deletions
diff --git a/libodb-boost/odb/boost/uuid/mssql/uuid-mapping.hxx b/libodb-boost/odb/boost/uuid/mssql/uuid-mapping.hxx
new file mode 100644
index 0000000..8da4c7d
--- /dev/null
+++ b/libodb-boost/odb/boost/uuid/mssql/uuid-mapping.hxx
@@ -0,0 +1,22 @@
+// file : odb/boost/uuid/mssql/uuid-mapping.hxx
+// license : GNU GPL v2; see accompanying LICENSE file
+
+#ifndef ODB_BOOST_UUID_MSSQL_UUID_MAPPING_HXX
+#define ODB_BOOST_UUID_MSSQL_UUID_MAPPING_HXX
+
+#include <boost/version.hpp>
+
+// UUID library is available since 1.42.0.
+//
+#if BOOST_VERSION >= 104200
+
+#include <boost/uuid/uuid.hpp>
+
+// By default map boost::uuids::uuid to SQL Server UNIQUEIDENTIFIER and
+// use NULL to represent nil UUIDs. If NULL is disabled (e.g., at the
+// member level), then we store the nil UUID (i.e., all bytes are zero).
+//
+#pragma db value(boost::uuids::uuid) type("UNIQUEIDENTIFIER") null
+
+#endif // BOOST_VERSION
+#endif // ODB_BOOST_UUID_MSSQL_UUID_MAPPING_HXX