Sqlite: Value can now handle blob too

This can be quite handy if we want to handle images in the database
dynamically.

Change-Id: I76b87d6b59e999b043bb2335192c90a371187431
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Marco Bubke
2021-03-29 16:14:01 +02:00
parent 393c65e34e
commit 710b96cc89
3 changed files with 165 additions and 13 deletions

View File

@@ -57,6 +57,11 @@ public:
, m_size(static_cast<std::size_t>(bytes.size()))
{}
BlobView(Utils::span<const std::byte> bytes)
: m_data(bytes.data())
, m_size(static_cast<std::size_t>(bytes.size()))
{}
const std::byte *data() const { return m_data; }
const char *cdata() const { return reinterpret_cast<const char *>(m_data); }
std::size_t size() const { return m_size; }
@@ -85,6 +90,21 @@ public:
}
std::vector<std::byte> bytes;
friend bool operator==(const Sqlite::Blob &first, const Sqlite::Blob &second)
{
return BlobView{first.bytes} == BlobView{second.bytes};
}
friend bool operator==(const Sqlite::Blob &first, Sqlite::BlobView second)
{
return BlobView{first.bytes} == second;
}
friend bool operator==(Sqlite::BlobView first, const Sqlite::Blob &second)
{
return second == first;
}
};
class ByteArrayBlob