| 110 | } |
| 111 | |
| 112 | void step() { |
| 113 | int rc = sqlite3_step(stmt_); |
| 114 | if (rc == SQLITE_BUSY) { |
| 115 | reset_flags(); |
| 116 | is_ok_ = false; |
| 117 | is_busy_ = true; |
| 118 | } else if (rc == SQLITE_DONE) { |
| 119 | reset_flags(); |
| 120 | is_done_ = true; |
| 121 | } else if (rc == SQLITE_ROW) { |
| 122 | reset_flags(); |
| 123 | is_row_ = true; |
| 124 | } else { |
| 125 | is_ok_ = false; |
| 126 | is_error_ = true; |
| 127 | std::stringstream err_msg; |
| 128 | err_msg << "Failed to step statement because " |
| 129 | << sqlite3_errmsg(db_); |
| 130 | throw std::runtime_error(err_msg.str()); |
| 131 | } |
| 132 | } |
| 133 | |
| 134 | bool is_ok() { |
| 135 | return is_ok_; |
no outgoing calls
no test coverage detected