From c11a0e411d62db6f2ad4153579af254081a0e6f0 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 26 Oct 2016 16:41:51 +0200 Subject: Implement support for mixed auto/manual id assignment in SQLite Now one can do: #pragma db id auto odb::nullable id; And then set the id to NULL to get auto-assignment or to the actual value to use a manual id. --- sqlite/auto/test.hxx | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 sqlite/auto/test.hxx (limited to 'sqlite/auto/test.hxx') diff --git a/sqlite/auto/test.hxx b/sqlite/auto/test.hxx new file mode 100644 index 0000000..1ee8dbe --- /dev/null +++ b/sqlite/auto/test.hxx @@ -0,0 +1,33 @@ +// file : sqlite/auto/test.hxx +// copyright : Copyright (c) 2009-2015 Code Synthesis Tools CC +// license : GNU GPL v2; see accompanying LICENSE file + +#ifndef TEST_HXX +#define TEST_HXX + +#include +#include + +#include + +#include + +#pragma db object +struct object +{ + explicit + object (const std::string& str): str_ (str) {} + object (unsigned long id, const std::string& str): id_ (id), str_ (str) {} + + #pragma db auto id + odb::nullable id_; + + std::string str_; + +private: + object () {} + + friend class odb::access; +}; + +#endif // TEST_HXX -- cgit v1.1