| 720 | } |
| 721 | |
| 722 | Frame ReadFrame(const frame_t frame_id) const override { |
| 723 | Sqlite3StmtContext context(sql_stmt_read_frame_); |
| 724 | |
| 725 | SQLITE3_CALL(sqlite3_bind_int64(sql_stmt_read_frame_, 1, frame_id)); |
| 726 | |
| 727 | Frame frame; |
| 728 | ReadFrameRows(sql_stmt_read_frame_, [&frame](Frame new_frame) { |
| 729 | THROW_CHECK_EQ(frame.FrameId(), kInvalidFrameId); |
| 730 | frame = std::move(new_frame); |
| 731 | }); |
| 732 | |
| 733 | return frame; |
| 734 | } |
| 735 | |
| 736 | std::vector<Frame> ReadAllFrames() const override { |
| 737 | Sqlite3StmtContext context(sql_stmt_read_frames_); |