summaryrefslogtreecommitdiff
path: root/subprojects/boost-sqlite/test/extension/simple_scalar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/boost-sqlite/test/extension/simple_scalar.cpp')
-rw-r--r--subprojects/boost-sqlite/test/extension/simple_scalar.cpp27
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();
+ });
+}