| 761 | } |
| 762 | |
| 763 | std::optional<Image> ReadImageWithName( |
| 764 | const std::string& name) const override { |
| 765 | Sqlite3StmtContext context(sql_stmt_read_image_with_name_); |
| 766 | |
| 767 | SQLITE3_CALL(sqlite3_bind_text(sql_stmt_read_image_with_name_, |
| 768 | 1, |
| 769 | name.c_str(), |
| 770 | static_cast<int>(name.size()), |
| 771 | SQLITE_STATIC)); |
| 772 | |
| 773 | std::optional<Image> image; |
| 774 | if (SQLITE3_CALL(sqlite3_step(sql_stmt_read_image_with_name_)) == |
| 775 | SQLITE_ROW) { |
| 776 | image = ReadImageRow(sql_stmt_read_image_with_name_); |
| 777 | } |
| 778 | |
| 779 | return image; |
| 780 | } |
| 781 | |
| 782 | std::vector<Image> ReadAllImages() const override { |
| 783 | Sqlite3StmtContext context(sql_stmt_read_images_); |