| 172 | { |
| 173 | public: |
| 174 | static std::optional<SQLiteBlobStream> Open( |
| 175 | sqlite3* db, const char* schema, const char* table, const char* column, |
| 176 | int64_t rowID, bool readOnly) noexcept |
| 177 | { |
| 178 | if (db == nullptr) |
| 179 | return {}; |
| 180 | |
| 181 | sqlite3_blob* blob = nullptr; |
| 182 | |
| 183 | const int rc = sqlite3_blob_open( |
| 184 | db, schema, table, column, rowID, readOnly ? 0 : 1, &blob); |
| 185 | |
| 186 | if (rc != SQLITE_OK) |
| 187 | return {}; |
| 188 | |
| 189 | return std::make_optional<SQLiteBlobStream>(blob, readOnly); |
| 190 | } |
| 191 | |
| 192 | SQLiteBlobStream(sqlite3_blob* blob, bool readOnly) noexcept |
| 193 | : mBlob(blob) |
no outgoing calls
no test coverage detected