From 393c65e34e045d45f20fca6d7fa6fff67ac82256 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Mon, 29 Mar 2021 14:12:07 +0200 Subject: [PATCH] Sqlite: Use std::byte Change-Id: Ie5bdbae67f7d0f9e533ad20ddb66d03057df2028 Reviewed-by: Thomas Hartmann --- src/libs/sqlite/sqlitebasestatement.cpp | 3 ++- src/libs/sqlite/sqliteblob.h | 12 ++++++------ src/libs/sqlite/sqliteglobal.h | 2 -- src/libs/sqlite/sqlitesessionchangeset.cpp | 2 +- tests/unit/unittest/sqlitestatement-test.cpp | 6 +++--- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/libs/sqlite/sqlitebasestatement.cpp b/src/libs/sqlite/sqlitebasestatement.cpp index 7412473dad1..7f8cd86ab4b 100644 --- a/src/libs/sqlite/sqlitebasestatement.cpp +++ b/src/libs/sqlite/sqlitebasestatement.cpp @@ -687,7 +687,8 @@ StringType textForColumn(sqlite3_stmt *sqlStatment, int column) BlobView blobForColumn(sqlite3_stmt *sqlStatment, int column) { - const byte *blob = reinterpret_cast(sqlite3_column_blob(sqlStatment, column)); + const std::byte *blob = reinterpret_cast( + sqlite3_column_blob(sqlStatment, column)); std::size_t size = std::size_t(sqlite3_column_bytes(sqlStatment, column)); return {blob, size}; diff --git a/src/libs/sqlite/sqliteblob.h b/src/libs/sqlite/sqliteblob.h index 17d9426ad04..8d9a76107a1 100644 --- a/src/libs/sqlite/sqliteblob.h +++ b/src/libs/sqlite/sqliteblob.h @@ -42,22 +42,22 @@ class BlobView public: BlobView() = default; - BlobView(const byte *data, std::size_t size) + BlobView(const std::byte *data, std::size_t size) : m_data(data) , m_size(size) {} BlobView(const QByteArray &byteArray) - : m_data(reinterpret_cast(byteArray.constData())) + : m_data(reinterpret_cast(byteArray.constData())) , m_size(static_cast(byteArray.size())) {} - BlobView(const std::vector &bytes) + BlobView(const std::vector &bytes) : m_data(bytes.data()) , m_size(static_cast(bytes.size())) {} - const byte *data() const { return m_data; } + const std::byte *data() const { return m_data; } const char *cdata() const { return reinterpret_cast(m_data); } std::size_t size() const { return m_size; } int sisize() const { return static_cast(m_size); } @@ -71,7 +71,7 @@ public: } private: - const byte *m_data{}; + const std::byte *m_data{}; std::size_t m_size{}; }; @@ -84,7 +84,7 @@ public: std::copy_n(blobView.data(), blobView.size(), std::back_inserter(bytes)); } - std::vector bytes; + std::vector bytes; }; class ByteArrayBlob diff --git a/src/libs/sqlite/sqliteglobal.h b/src/libs/sqlite/sqliteglobal.h index 6f6ecba5423..0bdb3c2aef9 100644 --- a/src/libs/sqlite/sqliteglobal.h +++ b/src/libs/sqlite/sqliteglobal.h @@ -66,8 +66,6 @@ enum class OpenMode : char enum class ChangeType : int { Delete = 9, Insert = 18, Update = 23 }; -enum class byte : unsigned char {}; - enum class CallbackControl : unsigned char { Continue, Abort }; } // namespace Sqlite diff --git a/src/libs/sqlite/sqlitesessionchangeset.cpp b/src/libs/sqlite/sqlitesessionchangeset.cpp index bc18efaed7f..76fc088f92f 100644 --- a/src/libs/sqlite/sqlitesessionchangeset.cpp +++ b/src/libs/sqlite/sqlitesessionchangeset.cpp @@ -118,7 +118,7 @@ SessionChangeSet::~SessionChangeSet() BlobView SessionChangeSet::asBlobView() const { - return {static_cast(m_data), static_cast(m_size)}; + return {static_cast(m_data), static_cast(m_size)}; } SessionChangeSetInternal::ConstIterator SessionChangeSet::begin() const diff --git a/tests/unit/unittest/sqlitestatement-test.cpp b/tests/unit/unittest/sqlitestatement-test.cpp index 065ad8d9762..c526cc3d4bc 100644 --- a/tests/unit/unittest/sqlitestatement-test.cpp +++ b/tests/unit/unittest/sqlitestatement-test.cpp @@ -323,7 +323,7 @@ TEST_F(SqliteStatement, BindBlob) { SqliteTestStatement statement("WITH T(blob) AS (VALUES (?)) SELECT blob FROM T", database); const unsigned char chars[] = "aaafdfdlll"; - auto bytePointer = reinterpret_cast(chars); + auto bytePointer = reinterpret_cast(chars); Sqlite::BlobView bytes{bytePointer, sizeof(chars) - 1}; statement.bind(1, bytes); @@ -527,7 +527,7 @@ TEST_F(SqliteStatement, WriteBlobs) SqliteTestStatement statement("INSERT INTO test VALUES ('blob', 40, ?)", database); SqliteTestStatement readStatement("SELECT value FROM test WHERE name = 'blob'", database); const unsigned char chars[] = "aaafdfdlll"; - auto bytePointer = reinterpret_cast(chars); + auto bytePointer = reinterpret_cast(chars); Sqlite::BlobView bytes{bytePointer, sizeof(chars) - 1}; statement.write(bytes); @@ -657,7 +657,7 @@ TEST_F(SqliteStatement, GetBlobValues) database.execute("INSERT INTO test VALUES ('blob', 40, x'AABBCCDD')"); ReadStatement<1> statement("SELECT value FROM test WHERE name='blob'", database); const int value = 0xDDCCBBAA; - auto bytePointer = reinterpret_cast(&value); + auto bytePointer = reinterpret_cast(&value); Sqlite::BlobView bytes{bytePointer, 4}; auto values = statement.values(1);