summaryrefslogtreecommitdiffstats
path: root/ml/dlib/dlib/sqlite/sqlite_tools.h
diff options
context:
space:
mode:
Diffstat (limited to 'ml/dlib/dlib/sqlite/sqlite_tools.h')
-rw-r--r--ml/dlib/dlib/sqlite/sqlite_tools.h189
1 files changed, 0 insertions, 189 deletions
diff --git a/ml/dlib/dlib/sqlite/sqlite_tools.h b/ml/dlib/dlib/sqlite/sqlite_tools.h
deleted file mode 100644
index 062a6b2c8..000000000
--- a/ml/dlib/dlib/sqlite/sqlite_tools.h
+++ /dev/null
@@ -1,189 +0,0 @@
-// Copyright (C) 2011 Davis E. King (davis@dlib.net)
-// License: Boost Software License See LICENSE.txt for the full license.
-#ifndef DLIB_SQLiTE_TOOLS_H_
-#define DLIB_SQLiTE_TOOLS_H_
-
-
-#include "sqlite_tools_abstract.h"
-#include "sqlite.h"
-
-// ----------------------------------------------------------------------------------------
-
-namespace dlib
-{
-
- class transaction : noncopyable
- {
- public:
- transaction (
- database& db_
- ) :
- db(db_),
- committed(false)
- {
- db.exec("begin transaction");
- }
-
- void commit ()
- {
- if (!committed)
- {
- committed = true;
- db.exec("commit");
- }
- }
-
- ~transaction() throw (std::exception)
- {
- if (!committed)
- db.exec("rollback");
- }
-
- private:
- database& db;
- bool committed;
-
- };
-
-// ----------------------------------------------------------------------------------------
-
-
- template <
- typename T
- >
- void query_object (
- database& db,
- const std::string& query,
- T& item
- )
- {
- statement st(db, query);
- st.exec();
- if (st.move_next() && st.get_num_columns() == 1)
- {
- st.get_column_as_object(0,item);
- if (st.move_next())
- throw sqlite_error("query doesn't result in exactly 1 element");
- }
- else
- {
- throw sqlite_error("query doesn't result in exactly 1 element");
- }
- }
-
-// ----------------------------------------------------------------------------------------
-
- inline std::string query_text (
- database& db,
- const std::string& query
- )
- {
- statement st(db, query);
- st.exec();
- if (st.move_next() && st.get_num_columns() == 1)
- {
- const std::string& temp = st.get_column_as_text(0);
- if (st.move_next())
- throw sqlite_error("query doesn't result in exactly 1 element");
- return temp;
- }
- else
- {
- throw sqlite_error("query doesn't result in exactly 1 element");
- }
- }
-
-// ----------------------------------------------------------------------------------------
-
- inline double query_double (
- database& db,
- const std::string& query
- )
- {
- statement st(db, query);
- st.exec();
- if (st.move_next() && st.get_num_columns() == 1)
- {
- double temp = st.get_column_as_double(0);
- if (st.move_next())
- throw sqlite_error("query doesn't result in exactly 1 element");
- return temp;
- }
- else
- {
- throw sqlite_error("query doesn't result in exactly 1 element");
- }
- }
-
-// ----------------------------------------------------------------------------------------
-
- inline int query_int (
- database& db,
- const std::string& query
- )
- {
- statement st(db, query);
- st.exec();
- if (st.move_next() && st.get_num_columns() == 1)
- {
- int temp = st.get_column_as_int(0);
- if (st.move_next())
- throw sqlite_error("query doesn't result in exactly 1 element");
- return temp;
- }
- else
- {
- throw sqlite_error("query doesn't result in exactly 1 element");
- }
- }
-
-// ----------------------------------------------------------------------------------------
-
- inline int64 query_int64 (
- database& db,
- const std::string& query
- )
- {
- statement st(db, query);
- st.exec();
- if (st.move_next() && st.get_num_columns() == 1)
- {
- int64 temp = st.get_column_as_int64(0);
- if (st.move_next())
- throw sqlite_error("query doesn't result in exactly 1 element");
- return temp;
- }
- else
- {
- throw sqlite_error("query doesn't result in exactly 1 element");
- }
- }
-
-// ----------------------------------------------------------------------------------------
-
- inline const std::vector<char> query_blob (
- database& db,
- const std::string& query
- )
- {
- statement st(db, query);
- st.exec();
- if (st.move_next() && st.get_num_columns() == 1)
- {
- const std::vector<char>& temp = st.get_column_as_blob(0);
- if (st.move_next())
- throw sqlite_error("query doesn't result in exactly 1 element");
- return temp;
- }
- else
- {
- throw sqlite_error("query doesn't result in exactly 1 element");
- }
- }
-
-// ----------------------------------------------------------------------------------------
-
-}
-
-#endif // DLIB_SQLiTE_TOOLS_H_
-