Mercurial > hg > orthanc-databases
comparison Framework/MySQL/MySQLStatement.cpp @ 186:6fe74f9a516e
cppcheck
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 16 Dec 2020 15:05:19 +0100 |
parents | c17f219cec42 |
children | 8a4cc1f715eb |
comparison
equal
deleted
inserted
replaced
185:7c46155b5bb4 | 186:6fe74f9a516e |
---|---|
38 namespace OrthancDatabases | 38 namespace OrthancDatabases |
39 { | 39 { |
40 class MySQLStatement::ResultField : public boost::noncopyable | 40 class MySQLStatement::ResultField : public boost::noncopyable |
41 { | 41 { |
42 private: | 42 private: |
43 IValue* CreateIntegerValue(MYSQL_BIND& bind) const | 43 IValue* CreateIntegerValue(const MYSQL_BIND& bind) const |
44 { | 44 { |
45 if (length_ != buffer_.size()) | 45 if (length_ != buffer_.size()) |
46 { | 46 { |
47 throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError); | 47 throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError); |
48 } | 48 } |
112 std::string buffer_; | 112 std::string buffer_; |
113 my_bool isNull_; | 113 my_bool isNull_; |
114 my_bool isError_; | 114 my_bool isError_; |
115 unsigned long length_; | 115 unsigned long length_; |
116 | 116 |
117 | |
118 public: | 117 public: |
119 ResultField(const MYSQL_FIELD& field) : | 118 explicit ResultField(const MYSQL_FIELD& field) : |
120 mysqlType_(field.type) | 119 mysqlType_(field.type), |
120 length_(0) | |
121 { | 121 { |
122 // https://dev.mysql.com/doc/refman/8.0/en/c-api-data-structures.html | 122 // https://dev.mysql.com/doc/refman/8.0/en/c-api-data-structures.html |
123 // https://dev.mysql.com/doc/refman/8.0/en/mysql-stmt-fetch.html => size of "buffer_" | 123 // https://dev.mysql.com/doc/refman/8.0/en/mysql-stmt-fetch.html => size of "buffer_" |
124 switch (field.type) | 124 switch (field.type) |
125 { | 125 { |
438 | 438 |
439 | 439 |
440 IResult* MySQLStatement::Execute(ITransaction& transaction, | 440 IResult* MySQLStatement::Execute(ITransaction& transaction, |
441 const Dictionary& parameters) | 441 const Dictionary& parameters) |
442 { | 442 { |
443 std::list<int> intParameters; | |
444 std::list<long long int> int64Parameters; | 443 std::list<long long int> int64Parameters; |
445 | 444 |
446 std::vector<MYSQL_BIND> inputs(formatter_.GetParametersCount()); | 445 std::vector<MYSQL_BIND> inputs(formatter_.GetParametersCount()); |
447 | 446 |
448 for (size_t i = 0; i < inputs.size(); i++) | 447 for (size_t i = 0; i < inputs.size(); i++) |