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++)