diff options
Diffstat (limited to 'src/server/database/Database/PreparedStatement.cpp')
-rw-r--r-- | src/server/database/Database/PreparedStatement.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/server/database/Database/PreparedStatement.cpp b/src/server/database/Database/PreparedStatement.cpp index 684d3ee4eb6..c0c14beec7b 100644 --- a/src/server/database/Database/PreparedStatement.cpp +++ b/src/server/database/Database/PreparedStatement.cpp @@ -100,22 +100,28 @@ void PreparedStatementBase::setDate(uint8 index, SystemTimePoint value) statement_data[index].data = value; } -void PreparedStatementBase::setString(uint8 index, std::string const& value) +void PreparedStatementBase::setString(uint8 index, std::string&& value) { ASSERT(index < statement_data.size()); - statement_data[index].data = value; + statement_data[index].data = std::move(value); } -void PreparedStatementBase::setStringView(uint8 index, std::string_view value) +void PreparedStatementBase::setString(uint8 index, std::string_view value) { ASSERT(index < statement_data.size()); statement_data[index].data.emplace<std::string>(value); } -void PreparedStatementBase::setBinary(uint8 index, std::vector<uint8> const& value) +void PreparedStatementBase::setBinary(uint8 index, std::vector<uint8>&& value) { ASSERT(index < statement_data.size()); - statement_data[index].data = value; + statement_data[index].data = std::move(value); +} + +void PreparedStatementBase::setBinary(uint8 index, std::span<uint8 const> value) +{ + ASSERT(index < statement_data.size()); + statement_data[index].data.emplace<std::vector<uint8>>(value.begin(), value.end()); } void PreparedStatementBase::setNull(uint8 index) |