diff options
Diffstat (limited to 'subprojects/boost-sqlite/test/extension/simple_scalar.cpp')
-rw-r--r-- | subprojects/boost-sqlite/test/extension/simple_scalar.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/subprojects/boost-sqlite/test/extension/simple_scalar.cpp b/subprojects/boost-sqlite/test/extension/simple_scalar.cpp new file mode 100644 index 0000000..4a05afe --- /dev/null +++ b/subprojects/boost-sqlite/test/extension/simple_scalar.cpp @@ -0,0 +1,27 @@ +// +// Copyright (c) 2022 Klemens Morgenstern (klemens.morgenstern@gmx.net) +// +// Distributed under the Boost Software License, Version 1.0. (See accompanying +// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// + +#include <boost/sqlite/extension.hpp> +#include <boost/sqlite/function.hpp> + +BOOST_SQLITE_EXTENSION(simplescalar, conn) +{ + create_scalar_function( + conn, "assert", + [](boost::sqlite::context<>, boost::span<boost::sqlite::value, 1u> sp) + { + if (sp.front().get_int() == 0) + throw std::logic_error("test failed"); + }); + + create_scalar_function( + conn, "my_add", + [](boost::sqlite::context<>, boost::span<boost::sqlite::value, 2u> sp)-> sqlite3_int64 + { + return sp[0].get_int() + sp[1].get_int(); + }); +} |