| 96 | } |
| 97 | |
| 98 | void PreparedStatement::setParameter(const std::string& name, Value value) { |
| 99 | if (!parameterMap.contains(name)) { |
| 100 | throw BinderException(std::format("Parameter {} not found.", name)); |
| 101 | } |
| 102 | auto& oldValue = parameterMap.at(name); |
| 103 | if (oldValue->getDataType() != value.getDataType()) { |
| 104 | throw BinderException(std::format("Cannot update parameter {} with type {}. Expected {}.", |
| 105 | name, value.getDataType().toString(), oldValue->getDataType().toString())); |
| 106 | } |
| 107 | validateParam(name, &value, oldValue.get()); |
| 108 | *oldValue = std::move(value); |
| 109 | } |
| 110 | |
| 111 | PreparedStatement::~PreparedStatement() = default; |
| 112 |
no test coverage detected