diff options
author | rtk0c <[email protected]> | 2022-06-27 18:27:13 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2022-06-27 18:27:13 -0700 |
commit | 8f0dda5eab181b0f14f2652b4e984aaaae3f258c (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /3rdparty/sqlitecpp/source/SQLiteCpp/Column.cpp | |
parent | fad6a88a13ab1f888ab25ad0aae19c1d63aa0623 (diff) |
Start from a clean slate
Diffstat (limited to '3rdparty/sqlitecpp/source/SQLiteCpp/Column.cpp')
-rw-r--r-- | 3rdparty/sqlitecpp/source/SQLiteCpp/Column.cpp | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/3rdparty/sqlitecpp/source/SQLiteCpp/Column.cpp b/3rdparty/sqlitecpp/source/SQLiteCpp/Column.cpp deleted file mode 100644 index f5dc0d9..0000000 --- a/3rdparty/sqlitecpp/source/SQLiteCpp/Column.cpp +++ /dev/null @@ -1,122 +0,0 @@ -/** - * @file Column.cpp - * @ingroup SQLiteCpp - * @brief Encapsulation of a Column in a row of the result pointed by the prepared SQLite::Statement. - * - * Copyright (c) 2012-2021 Sebastien Rombauts ([email protected]) - * - * Distributed under the MIT License (MIT) (See accompanying file LICENSE.txt - * or copy at http://opensource.org/licenses/MIT) - */ -#include <SQLiteCpp/Column.h> - -#include <sqlite3.h> - -#include <iostream> - - -namespace SQLite -{ - -const int INTEGER = SQLITE_INTEGER; -const int FLOAT = SQLITE_FLOAT; -const int TEXT = SQLITE_TEXT; -const int BLOB = SQLITE_BLOB; -const int Null = SQLITE_NULL; - - -// Encapsulation of a Column in a row of the result pointed by the prepared Statement. -Column::Column(const Statement::TStatementPtr& aStmtPtr, int aIndex) : - mStmtPtr(aStmtPtr), - mIndex(aIndex) -{ - if (!aStmtPtr) - { - throw SQLite::Exception("Statement was destroyed"); - } -} - -// Return the named assigned to this result column (potentially aliased) -const char* Column::getName() const noexcept -{ - return sqlite3_column_name(mStmtPtr.get(), mIndex); -} - -#ifdef SQLITE_ENABLE_COLUMN_METADATA -// Return the name of the table column that is the origin of this result column -const char* Column::getOriginName() const noexcept -{ - return sqlite3_column_origin_name(mStmtPtr.get(), mIndex); -} -#endif - -// Return the integer value of the column specified by its index starting at 0 -int Column::getInt() const noexcept -{ - return sqlite3_column_int(mStmtPtr.get(), mIndex); -} - -// Return the unsigned integer value of the column specified by its index starting at 0 -unsigned Column::getUInt() const noexcept -{ - return static_cast<unsigned>(getInt64()); -} - -// Return the 64bits integer value of the column specified by its index starting at 0 -long long Column::getInt64() const noexcept -{ - return sqlite3_column_int64(mStmtPtr.get(), mIndex); -} - -// Return the double value of the column specified by its index starting at 0 -double Column::getDouble() const noexcept -{ - return sqlite3_column_double(mStmtPtr.get(), mIndex); -} - -// Return a pointer to the text value (NULL terminated string) of the column specified by its index starting at 0 -const char* Column::getText(const char* apDefaultValue /* = "" */) const noexcept -{ - auto pText = reinterpret_cast<const char*>(sqlite3_column_text(mStmtPtr.get(), mIndex)); - return (pText?pText:apDefaultValue); -} - -// Return a pointer to the blob value (*not* NULL terminated) of the column specified by its index starting at 0 -const void* Column::getBlob() const noexcept -{ - return sqlite3_column_blob(mStmtPtr.get(), mIndex); -} - -// Return a std::string to a TEXT or BLOB column -std::string Column::getString() const -{ - // Note: using sqlite3_column_blob and not sqlite3_column_text - // - no need for sqlite3_column_text to add a \0 on the end, as we're getting the bytes length directly - auto data = static_cast<const char *>(sqlite3_column_blob(mStmtPtr.get(), mIndex)); - - // SQLite docs: "The safest policy is to invoke⦠sqlite3_column_blob() followed by sqlite3_column_bytes()" - // Note: std::string is ok to pass nullptr as first arg, if length is 0 - return std::string(data, sqlite3_column_bytes(mStmtPtr.get(), mIndex)); -} - -// Return the type of the value of the column -int Column::getType() const noexcept -{ - return sqlite3_column_type(mStmtPtr.get(), mIndex); -} - -// Return the number of bytes used by the text value of the column -int Column::getBytes() const noexcept -{ - return sqlite3_column_bytes(mStmtPtr.get(), mIndex); -} - -// Standard std::ostream inserter -std::ostream& operator<<(std::ostream& aStream, const Column& aColumn) -{ - aStream.write(aColumn.getText(), aColumn.getBytes()); - return aStream; -} - - -} // namespace SQLite |