diff --git a/beast/module/sqdb/api/backend.h b/beast/module/sqdb/api/backend.h deleted file mode 100644 index 2bc7d33c..00000000 --- a/beast/module/sqdb/api/backend.h +++ /dev/null @@ -1,115 +0,0 @@ -//------------------------------------------------------------------------------ -/* - This file is part of Beast: https://github.com/vinniefalco/Beast - Copyright 2013, Vinnie Falco - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - Portions based on SOCI - The C++ Database Access Library: - - SOCI: http://soci.sourceforge.net/ - - This file incorporates work covered by the following copyright - and permission notice: - - Copyright (C) 2004 Maciej Sobczak, Stephen Hutton, Mateusz Loskot, - Pawel Aleksander Fedorynski, David Courtney, Rafal Bobrowski, - Julian Taylor, Henning Basold, Ilia Barahovski, Denis Arnaud, - Daniel Lidström, Matthieu Kermagoret, Artyom Beilis, Cory Bennett, - Chris Weed, Michael Davidsaver, Jakub Stachowski, Alex Ott, Rainer Bauer, - Martin Muenstermann, Philip Pemberton, Eli Green, Frederic Chateau, - Artyom Tonkikh, Roger Orr, Robert Massaioli, Sergey Nikulov, - Shridhar Daithankar, Sören Meyer-Eppler, Mario Valesco. - - Boost Software License - Version 1.0, August 17th, 2003 - - Permission is hereby granted, free of charge, to any person or organization - obtaining a copy of the software and accompanying documentation covered by - this license (the "Software") to use, reproduce, display, distribute, - execute, and transmit the Software, and to prepare derivative works of the - Software, and to permit third-parties to whom the Software is furnished to - do so, all subject to the following: - - The copyright notices in the Software and this entire statement, including - the above license grant, this restriction and the following disclaimer, - must be included in all copies of the Software, in whole or in part, and - all derivative works of the Software, unless such copies or derivative - works are solely in the form of machine-executable object code generated by - a source language processor. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ -//============================================================================== - -#ifndef BEAST_MODULE_SQDB_API_BACKEND_H_INCLUDED -#define BEAST_MODULE_SQDB_API_BACKEND_H_INCLUDED - -#include - -namespace beast { -namespace sqdb { - -namespace detail { - -//signed char -//wchar_t - -// supported standard types for intos and uses -enum exchange_type -{ - x_null, // only for input variables - - x_bool, - x_char, x_uchar, - x_short, x_ushort, - x_int, x_uint, - x_long, x_ulong, - x_longlong, x_ulonglong, - x_float, x_double, x_longdouble, - - x_cstring, // null terminated char*, only valid for use_type - x_cwstring, // null terminated wchar*, only valid for use_type - x_stdstring, - x_stdwstring, - x_beastString, - - x_stdtm, - - x_blob -}; - -} // detail - -// the enum type for indicator variables -enum indicator -{ - i_ok, - i_null, - i_truncated -}; - -// sqlite row id - -//typedef sqlite3_int64 rowid; -typedef std::int64_t rowid; - -} // sqdb -} // beast - -#endif diff --git a/beast/module/sqdb/api/blob.h b/beast/module/sqdb/api/blob.h deleted file mode 100644 index 9627f145..00000000 --- a/beast/module/sqdb/api/blob.h +++ /dev/null @@ -1,92 +0,0 @@ -//------------------------------------------------------------------------------ -/* - This file is part of Beast: https://github.com/vinniefalco/Beast - Copyright 2013, Vinnie Falco - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - Portions based on SOCI - The C++ Database Access Library: - - SOCI: http://soci.sourceforge.net/ - - This file incorporates work covered by the following copyright - and permission notice: - - Copyright (C) 2004 Maciej Sobczak, Stephen Hutton, Mateusz Loskot, - Pawel Aleksander Fedorynski, David Courtney, Rafal Bobrowski, - Julian Taylor, Henning Basold, Ilia Barahovski, Denis Arnaud, - Daniel Lidström, Matthieu Kermagoret, Artyom Beilis, Cory Bennett, - Chris Weed, Michael Davidsaver, Jakub Stachowski, Alex Ott, Rainer Bauer, - Martin Muenstermann, Philip Pemberton, Eli Green, Frederic Chateau, - Artyom Tonkikh, Roger Orr, Robert Massaioli, Sergey Nikulov, - Shridhar Daithankar, Sören Meyer-Eppler, Mario Valesco. - - Boost Software License - Version 1.0, August 17th, 2003 - - Permission is hereby granted, free of charge, to any person or organization - obtaining a copy of the software and accompanying documentation covered by - this license (the "Software") to use, reproduce, display, distribute, - execute, and transmit the Software, and to prepare derivative works of the - Software, and to permit third-parties to whom the Software is furnished to - do so, all subject to the following: - - The copyright notices in the Software and this entire statement, including - the above license grant, this restriction and the following disclaimer, - must be included in all copies of the Software, in whole or in part, and - all derivative works of the Software, unless such copies or derivative - works are solely in the form of machine-executable object code generated by - a source language processor. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ -//============================================================================== - -#ifndef BEAST_MODULE_SQDB_API_BLOB_H_INCLUDED -#define BEAST_MODULE_SQDB_API_BLOB_H_INCLUDED - -namespace beast { -namespace sqdb { - -// BLOB interface -class blob -{ -public: - blob(); - ~blob(); - - Error select(session& s, - char const* zTable, - char const* zColumn, - rowid id, - bool readAndWrite = false) noexcept; - - int get_len(); - Error read(int offset, void* buf, int toRead); - Error write(int offset, void const* buf, int toWrite); - void close(); - -private: - session* m_session; - sqlite3_blob* m_blob; -}; - -} // sqdb -} // beast - -#endif diff --git a/beast/module/sqdb/api/into.h b/beast/module/sqdb/api/into.h deleted file mode 100644 index 72a41e1b..00000000 --- a/beast/module/sqdb/api/into.h +++ /dev/null @@ -1,83 +0,0 @@ -//------------------------------------------------------------------------------ -/* - This file is part of Beast: https://github.com/vinniefalco/Beast - Copyright 2013, Vinnie Falco - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - Portions based on SOCI - The C++ Database Access Library: - - SOCI: http://soci.sourceforge.net/ - - This file incorporates work covered by the following copyright - and permission notice: - - Copyright (C) 2004 Maciej Sobczak, Stephen Hutton, Mateusz Loskot, - Pawel Aleksander Fedorynski, David Courtney, Rafal Bobrowski, - Julian Taylor, Henning Basold, Ilia Barahovski, Denis Arnaud, - Daniel Lidström, Matthieu Kermagoret, Artyom Beilis, Cory Bennett, - Chris Weed, Michael Davidsaver, Jakub Stachowski, Alex Ott, Rainer Bauer, - Martin Muenstermann, Philip Pemberton, Eli Green, Frederic Chateau, - Artyom Tonkikh, Roger Orr, Robert Massaioli, Sergey Nikulov, - Shridhar Daithankar, Sören Meyer-Eppler, Mario Valesco. - - Boost Software License - Version 1.0, August 17th, 2003 - - Permission is hereby granted, free of charge, to any person or organization - obtaining a copy of the software and accompanying documentation covered by - this license (the "Software") to use, reproduce, display, distribute, - execute, and transmit the Software, and to prepare derivative works of the - Software, and to permit third-parties to whom the Software is furnished to - do so, all subject to the following: - - The copyright notices in the Software and this entire statement, including - the above license grant, this restriction and the following disclaimer, - must be included in all copies of the Software, in whole or in part, and - all derivative works of the Software, unless such copies or derivative - works are solely in the form of machine-executable object code generated by - a source language processor. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ -//============================================================================== - -#ifndef BEAST_MODULE_SQDB_API_INTO_H_INCLUDED -#define BEAST_MODULE_SQDB_API_INTO_H_INCLUDED - -namespace beast { -namespace sqdb { - -template -detail::into_type_ptr into(T& t) -{ - return detail::do_into(t, - typename detail::exchange_traits::type_family()); -} - -template -detail::into_type_ptr into(T& t, indicator& ind) -{ - return detail::do_into(t, ind, - typename detail::exchange_traits::type_family()); -} - -} // sqdb -} // beast - -#endif \ No newline at end of file diff --git a/beast/module/sqdb/api/session.h b/beast/module/sqdb/api/session.h deleted file mode 100644 index 2cb13e9b..00000000 --- a/beast/module/sqdb/api/session.h +++ /dev/null @@ -1,151 +0,0 @@ -//------------------------------------------------------------------------------ -/* - This file is part of Beast: https://github.com/vinniefalco/Beast - Copyright 2013, Vinnie Falco - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - Portions based on SOCI - The C++ Database Access Library: - - SOCI: http://soci.sourceforge.net/ - - This file incorporates work covered by the following copyright - and permission notice: - - Copyright (C) 2004 Maciej Sobczak, Stephen Hutton, Mateusz Loskot, - Pawel Aleksander Fedorynski, David Courtney, Rafal Bobrowski, - Julian Taylor, Henning Basold, Ilia Barahovski, Denis Arnaud, - Daniel Lidström, Matthieu Kermagoret, Artyom Beilis, Cory Bennett, - Chris Weed, Michael Davidsaver, Jakub Stachowski, Alex Ott, Rainer Bauer, - Martin Muenstermann, Philip Pemberton, Eli Green, Frederic Chateau, - Artyom Tonkikh, Roger Orr, Robert Massaioli, Sergey Nikulov, - Shridhar Daithankar, Sören Meyer-Eppler, Mario Valesco. - - Boost Software License - Version 1.0, August 17th, 2003 - - Permission is hereby granted, free of charge, to any person or organization - obtaining a copy of the software and accompanying documentation covered by - this license (the "Software") to use, reproduce, display, distribute, - execute, and transmit the Software, and to prepare derivative works of the - Software, and to permit third-parties to whom the Software is furnished to - do so, all subject to the following: - - The copyright notices in the Software and this entire statement, including - the above license grant, this restriction and the following disclaimer, - must be included in all copies of the Software, in whole or in part, and - all derivative works of the Software, unless such copies or derivative - works are solely in the form of machine-executable object code generated by - a source language processor. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ -//============================================================================== - -#ifndef BEAST_MODULE_SQDB_API_SESSION_H_INCLUDED -#define BEAST_MODULE_SQDB_API_SESSION_H_INCLUDED - -#include - -namespace beast { -namespace sqdb { - -/*============================================================================*/ -/** - @brief A session for the embedded database. - - @ingroup vf_db -*/ -class session -{ -public: - session(); - ~session(); - - // DEPRECATED! - // opens the deferred clone - explicit session(session const& deferredClone); - Error clone(); - - /** - Open a database. - - The database at the specified path is opened. The connection string is - a set of "{key}={value}" pairs separated with the pipe symbol ('|'). - Choices for key and value are: - - @code - - timeout = (number) || "infinite" - - mode = "read" || "write" || "create" - - cache = "shared" || "private" - - threads = "single" || "multi" - - @endcode - */ - Error open(String fileName, - std::string options = "timeout=infinite|mode=create|threads=multi"); - - void close(); - - void begin(); - Error commit(); - void rollback(); - - bool in_transaction() - { - return m_bInTransaction; - } - - detail::once_type once(Error& error); - detail::prepare_type prepare; - - rowid last_insert_rowid(); - - std::ostringstream& get_query_stream(); - - void log_query(std::string const& query); - - void set_got_data(bool bGotData); - bool got_data() const; - - sqlite3* get_connection() - { - return m_connection; - } - -private: - Error hard_exec(std::string const& query); - -private: - bool m_bInTransaction; - sqlite3* m_connection; - String m_fileName; - std::string m_connectString; - - std::ostringstream m_query_stream; - bool m_bGotData; -}; - -} // sqdb -} // beast - -#endif diff --git a/beast/module/sqdb/api/statement.h b/beast/module/sqdb/api/statement.h deleted file mode 100644 index 147cf4e1..00000000 --- a/beast/module/sqdb/api/statement.h +++ /dev/null @@ -1,106 +0,0 @@ -//------------------------------------------------------------------------------ -/* - This file is part of Beast: https://github.com/vinniefalco/Beast - Copyright 2013, Vinnie Falco - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - Portions based on SOCI - The C++ Database Access Library: - - SOCI: http://soci.sourceforge.net/ - - This file incorporates work covered by the following copyright - and permission notice: - - Copyright (C) 2004 Maciej Sobczak, Stephen Hutton, Mateusz Loskot, - Pawel Aleksander Fedorynski, David Courtney, Rafal Bobrowski, - Julian Taylor, Henning Basold, Ilia Barahovski, Denis Arnaud, - Daniel Lidström, Matthieu Kermagoret, Artyom Beilis, Cory Bennett, - Chris Weed, Michael Davidsaver, Jakub Stachowski, Alex Ott, Rainer Bauer, - Martin Muenstermann, Philip Pemberton, Eli Green, Frederic Chateau, - Artyom Tonkikh, Roger Orr, Robert Massaioli, Sergey Nikulov, - Shridhar Daithankar, Sören Meyer-Eppler, Mario Valesco. - - Boost Software License - Version 1.0, August 17th, 2003 - - Permission is hereby granted, free of charge, to any person or organization - obtaining a copy of the software and accompanying documentation covered by - this license (the "Software") to use, reproduce, display, distribute, - execute, and transmit the Software, and to prepare derivative works of the - Software, and to permit third-parties to whom the Software is furnished to - do so, all subject to the following: - - The copyright notices in the Software and this entire statement, including - the above license grant, this restriction and the following disclaimer, - must be included in all copies of the Software, in whole or in part, and - all derivative works of the Software, unless such copies or derivative - works are solely in the form of machine-executable object code generated by - a source language processor. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ -//============================================================================== - -#ifndef BEAST_MODULE_SQDB_API_STATEMENT_H_INCLUDED -#define BEAST_MODULE_SQDB_API_STATEMENT_H_INCLUDED - -#include - -namespace beast { -namespace sqdb { - -// -// Lightweight copyable handle to a statement. This -// is just a wrapper around the actual statement implementation. -// -class statement -{ -public: - statement(session& s); - statement(detail::prepare_temp_type const& prep); - ~statement(); - - statement(statement const& o); - void operator= (statement const& o); - - void exchange(detail::into_type_ptr const& i); - void exchange(detail::use_type_ptr const& u); - - void prepare(std::string const& query, bool bRepeatable = true); - - Error execute(); - bool execute_and_fetch(Error& error); - bool fetch(Error& error); - - bool got_data() const; - rowid last_insert_rowid(); - -private: - friend class detail::ref_counted_statement; - - void clean_up(); - -private: - std::shared_ptr m_imp; -}; - -} // sqdb -} // beast - -#endif diff --git a/beast/module/sqdb/api/transaction.h b/beast/module/sqdb/api/transaction.h deleted file mode 100644 index e9d538c2..00000000 --- a/beast/module/sqdb/api/transaction.h +++ /dev/null @@ -1,85 +0,0 @@ -//------------------------------------------------------------------------------ -/* - This file is part of Beast: https://github.com/vinniefalco/Beast - Copyright 2013, Vinnie Falco - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - Portions based on SOCI - The C++ Database Access Library: - - SOCI: http://soci.sourceforge.net/ - - This file incorporates work covered by the following copyright - and permission notice: - - Copyright (C) 2004 Maciej Sobczak, Stephen Hutton, Mateusz Loskot, - Pawel Aleksander Fedorynski, David Courtney, Rafal Bobrowski, - Julian Taylor, Henning Basold, Ilia Barahovski, Denis Arnaud, - Daniel Lidström, Matthieu Kermagoret, Artyom Beilis, Cory Bennett, - Chris Weed, Michael Davidsaver, Jakub Stachowski, Alex Ott, Rainer Bauer, - Martin Muenstermann, Philip Pemberton, Eli Green, Frederic Chateau, - Artyom Tonkikh, Roger Orr, Robert Massaioli, Sergey Nikulov, - Shridhar Daithankar, Sören Meyer-Eppler, Mario Valesco. - - Boost Software License - Version 1.0, August 17th, 2003 - - Permission is hereby granted, free of charge, to any person or organization - obtaining a copy of the software and accompanying documentation covered by - this license (the "Software") to use, reproduce, display, distribute, - execute, and transmit the Software, and to prepare derivative works of the - Software, and to permit third-parties to whom the Software is furnished to - do so, all subject to the following: - - The copyright notices in the Software and this entire statement, including - the above license grant, this restriction and the following disclaimer, - must be included in all copies of the Software, in whole or in part, and - all derivative works of the Software, unless such copies or derivative - works are solely in the form of machine-executable object code generated by - a source language processor. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ -//============================================================================== - -#ifndef BEAST_MODULE_SQDB_API_TRANSACTION_H_INCLUDED -#define BEAST_MODULE_SQDB_API_TRANSACTION_H_INCLUDED - -#include - -namespace beast { -namespace sqdb { - -class transaction -{ -public: - explicit transaction(session& s); - ~transaction(); - transaction& operator= (transaction const&) = delete; - Error commit(); - void rollback(); - -private: - session& m_session; - bool m_bHandled; -}; - -} // sqdb -} // beast - -#endif diff --git a/beast/module/sqdb/api/type_conversion_traits.h b/beast/module/sqdb/api/type_conversion_traits.h deleted file mode 100644 index 9426d3d7..00000000 --- a/beast/module/sqdb/api/type_conversion_traits.h +++ /dev/null @@ -1,120 +0,0 @@ -//------------------------------------------------------------------------------ -/* - This file is part of Beast: https://github.com/vinniefalco/Beast - Copyright 2013, Vinnie Falco - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - - Portions based on SOCI - The C++ Database Access Library: - - SOCI: http://soci.sourceforge.net/ - - This file incorporates work covered by the following copyright - and permission notice: - - Copyright (C) 2004 Maciej Sobczak, Stephen Hutton, Mateusz Loskot, - Pawel Aleksander Fedorynski, David Courtney, Rafal Bobrowski, - Julian Taylor, Henning Basold, Ilia Barahovski, Denis Arnaud, - Daniel Lidström, Matthieu Kermagoret, Artyom Beilis, Cory Bennett, - Chris Weed, Michael Davidsaver, Jakub Stachowski, Alex Ott, Rainer Bauer, - Martin Muenstermann, Philip Pemberton, Eli Green, Frederic Chateau, - Artyom Tonkikh, Roger Orr, Robert Massaioli, Sergey Nikulov, - Shridhar Daithankar, Sören Meyer-Eppler, Mario Valesco. - - Boost Software License - Version 1.0, August 17th, 2003 - - Permission is hereby granted, free of charge, to any person or organization - obtaining a copy of the software and accompanying documentation covered by - this license (the "Software") to use, reproduce, display, distribute, - execute, and transmit the Software, and to prepare derivative works of the - Software, and to permit third-parties to whom the Software is furnished to - do so, all subject to the following: - - The copyright notices in the Software and this entire statement, including - the above license grant, this restriction and the following disclaimer, - must be included in all copies of the Software, in whole or in part, and - all derivative works of the Software, unless such copies or derivative - works are solely in the form of machine-executable object code generated by - a source language processor. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - DEALINGS IN THE SOFTWARE. -*/ -//============================================================================== - -#ifndef BEAST_MODULE_SQDB_API_TYPE_CONVERSION_TRAITS_H_INCLUDED -#define BEAST_MODULE_SQDB_API_TYPE_CONVERSION_TRAITS_H_INCLUDED - -#include - -#include - -namespace beast { -namespace sqdb { - -// default conversion (copy in to out) -template -struct type_conversion -{ - typedef T base_type; - - static void from_base(base_type const& in, indicator ind, T& out) - { - // null not allowed - assert (ind != i_null); - out = in; - } - - static void to_base(T const& in, base_type& out, indicator& ind) - { - out = in; - ind = i_ok; - } -}; - -// Time -template <> -struct type_conversion