Skip to content

Commit 7524364

Browse files
author
Hemant Dangi
committed
Bug#18803414: Corrected typo and added charsetnr in exception message
1 parent c9c33b6 commit 7524364

File tree

4 files changed

+45
-14
lines changed

4 files changed

+45
-14
lines changed

driver/mysql_ps_resultset_metadata.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ MySQL_PreparedResultSetMetaData::getColumnDisplaySize(unsigned int columnIndex)
112112
const MYSQL_FIELD * const field = getFieldMeta(columnIndex);
113113
const sql::mysql::util::OUR_CHARSET * const cs = sql::mysql::util::find_charset(field->charsetnr);
114114
if (!cs) {
115-
std::ostringstream msg("Server sent uknown charsetnr (");
115+
std::ostringstream msg("Server sent unknown charsetnr (");
116116
msg << field->charsetnr << ") . Please report";
117117
throw SQLException(msg.str());
118118
}
@@ -189,7 +189,7 @@ MySQL_PreparedResultSetMetaData::getColumnCharset(unsigned int columnIndex)
189189
const sql::mysql::util::OUR_CHARSET * const cs = sql::mysql::util::find_charset(field->charsetnr);
190190
if (!cs) {
191191
std::ostringstream msg;
192-
msg << "Server sent uknown charsetnr (" << field->charsetnr << ") . Please report";
192+
msg << "Server sent unknown charsetnr (" << field->charsetnr << ") . Please report";
193193
throw SQLException(msg.str());
194194
}
195195
return cs->name;
@@ -208,7 +208,7 @@ MySQL_PreparedResultSetMetaData::getColumnCollation(unsigned int columnIndex)
208208
const sql::mysql::util::OUR_CHARSET * const cs = sql::mysql::util::find_charset(field->charsetnr);
209209
if (!cs) {
210210
std::ostringstream msg;
211-
msg << "Server sent uknown charsetnr (" << field->charsetnr << ") . Please report";
211+
msg << "Server sent unknown charsetnr (" << field->charsetnr << ") . Please report";
212212
throw SQLException(msg.str());
213213
}
214214
return cs->collation;
@@ -305,7 +305,7 @@ MySQL_PreparedResultSetMetaData::isCaseSensitive(unsigned int columnIndex)
305305
}
306306
const sql::mysql::util::OUR_CHARSET * const cs = sql::mysql::util::find_charset(field->charsetnr);
307307
if (!cs) {
308-
std::ostringstream msg("Server sent uknown charsetnr (");
308+
std::ostringstream msg("Server sent unknown charsetnr (");
309309
msg << field->charsetnr << ") . Please report";
310310
throw SQLException(msg.str());
311311
}

driver/mysql_resultset_metadata.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ MySQL_ResultSetMetaData::getColumnDisplaySize(unsigned int columnIndex)
127127
const MYSQL_FIELD * const field = getFieldMeta(columnIndex);
128128
const sql::mysql::util::OUR_CHARSET * const cs = sql::mysql::util::find_charset(field->charsetnr);
129129
if (!cs) {
130-
std::ostringstream msg("Server sent uknown charsetnr (");
130+
std::ostringstream msg("Server sent unknown charsetnr (");
131131
msg << field->charsetnr << ") . Please report";
132132
throw SQLException(msg.str());
133133
}
@@ -203,7 +203,7 @@ MySQL_ResultSetMetaData::getColumnCharset(unsigned int columnIndex)
203203
const sql::mysql::util::OUR_CHARSET * const cs = sql::mysql::util::find_charset(field->charsetnr);
204204
if (!cs) {
205205
std::ostringstream msg;
206-
msg << "Server sent uknown charsetnr (" << field->charsetnr << ") . Please report";
206+
msg << "Server sent unknown charsetnr (" << field->charsetnr << ") . Please report";
207207
throw SQLException(msg.str());
208208
}
209209
return cs->name;
@@ -223,7 +223,7 @@ MySQL_ResultSetMetaData::getColumnCollation(unsigned int columnIndex)
223223
const sql::mysql::util::OUR_CHARSET * const cs = sql::mysql::util::find_charset(field->charsetnr);
224224
if (!cs) {
225225
std::ostringstream msg;
226-
msg << "Server sent uknown charsetnr (" << field->charsetnr << ") . Please report";
226+
msg << "Server sent unknown charsetnr (" << field->charsetnr << ") . Please report";
227227
throw SQLException(msg.str());
228228
}
229229
return cs->collation;
@@ -327,7 +327,7 @@ MySQL_ResultSetMetaData::isCaseSensitive(unsigned int columnIndex)
327327
const sql::mysql::util::OUR_CHARSET * const cs = sql::mysql::util::find_charset(field->charsetnr);
328328
if (!cs) {
329329
std::ostringstream msg;
330-
msg << "Server sent uknown charsetnr (" << field->charsetnr << ") . Please report";
330+
msg << "Server sent unknown charsetnr (" << field->charsetnr << ") . Please report";
331331
throw SQLException(msg.str());
332332
}
333333
return NULL == strstr(cs->collation, "_ci");

driver/mysql_util.cpp

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
2727
#include <string.h>
2828
#include <stdlib.h>
2929
#include <memory>
30+
#include <sstream>
3031

3132
#include <cppconn/datatype.h>
3233
#include <cppconn/exception.h>
@@ -376,7 +377,9 @@ mysql_type_to_datatype(const MYSQL_FIELD * const field)
376377
const sql::mysql::util::OUR_CHARSET * const cs =
377378
sql::mysql::util::find_charset(field->charsetnr);
378379
if (!cs) {
379-
throw SQLException("Server sent uknown charsetnr. Please report");
380+
std::ostringstream msg("Server sent unknown charsetnr (");
381+
msg << field->charsetnr << ") . Please report";
382+
throw SQLException(msg.str());
380383
}
381384
return isBinary ? sql::DataType::VARBINARY : sql::DataType::VARCHAR;
382385
}
@@ -389,7 +392,9 @@ mysql_type_to_datatype(const MYSQL_FIELD * const field)
389392
const sql::mysql::util::OUR_CHARSET * const cs =
390393
sql::mysql::util::find_charset(field->charsetnr);
391394
if (!cs) {
392-
throw SQLException("Server sent uknown charsetnr. Please report");
395+
std::ostringstream msg("Server sent unknown charsetnr (");
396+
msg << field->charsetnr << ") . Please report";
397+
throw SQLException(msg.str());
393398
}
394399
return isBinary ? sql::DataType::LONGVARBINARY : sql::DataType::LONGVARCHAR;
395400
}
@@ -541,7 +546,9 @@ mysql_type_to_string(const MYSQL_FIELD * const field, boost::shared_ptr< sql::my
541546
if (!isBinary) {
542547
const sql::mysql::util::OUR_CHARSET * cset = find_charset(field->charsetnr);
543548
if (!cset) {
544-
throw SQLException("Server sent uknown charsetnr. Please report");
549+
std::ostringstream msg("Server sent unknown charsetnr (");
550+
msg << field->charsetnr << ") . Please report";
551+
throw SQLException(msg.str());
545552
}
546553
char_maxlen = cset->char_maxlen;
547554
}
@@ -556,7 +563,9 @@ mysql_type_to_string(const MYSQL_FIELD * const field, boost::shared_ptr< sql::my
556563
if (!isBinary) {
557564
const sql::mysql::util::OUR_CHARSET * cset = find_charset(field->charsetnr);
558565
if (!cset) {
559-
throw SQLException("Server sent uknown charsetnr. Please report");
566+
std::ostringstream msg("Server sent unknown charsetnr (");
567+
msg << field->charsetnr << ") . Please report";
568+
throw SQLException(msg.str());
560569
}
561570
char_maxlen = cset->char_maxlen;
562571
}
@@ -571,7 +580,9 @@ mysql_type_to_string(const MYSQL_FIELD * const field, boost::shared_ptr< sql::my
571580
if (!isBinary) {
572581
const sql::mysql::util::OUR_CHARSET * cset = find_charset(field->charsetnr);
573582
if (!cset) {
574-
throw SQLException("Server sent uknown charsetnr. Please report");
583+
std::ostringstream msg("Server sent unknown charsetnr (");
584+
msg << field->charsetnr << ") . Please report";
585+
throw SQLException(msg.str());
575586
}
576587
char_maxlen = cset->char_maxlen;
577588
}
@@ -586,7 +597,9 @@ mysql_type_to_string(const MYSQL_FIELD * const field, boost::shared_ptr< sql::my
586597
if (!isBinary) {
587598
const sql::mysql::util::OUR_CHARSET * cset = find_charset(field->charsetnr);
588599
if (!cset) {
589-
throw SQLException("Server sent uknown charsetnr. Please report");
600+
std::ostringstream msg("Server sent unknown charsetnr (");
601+
msg << field->charsetnr << ") . Please report";
602+
throw SQLException(msg.str());
590603
}
591604
char_maxlen = cset->char_maxlen;
592605
}

test/unit/bugs/bugs.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -515,6 +515,24 @@ void bugs::bug72700()
515515
{
516516
return; /* Everything is fine */
517517
}
518+
519+
stmt->execute("DROP TABLE IF EXISTS bug72700");
520+
stmt->execute("CREATE TABLE bug72700(valtext longtext)");
521+
ASSERT(stmt->execute("SELECT valtext FROM bug72700"));
522+
try
523+
{
524+
res.reset(stmt->getResultSet());
525+
checkResultSetScrolling(res);
526+
ResultSetMetaData * meta=res->getMetaData();
527+
ASSERT_EQUALS(meta->getColumnType(1), 15);
528+
ASSERT_EQUALS(meta->getColumnTypeName(1), "TEXT");
529+
}
530+
catch (::sql::SQLException & /*e*/)
531+
{
532+
return; /* Everything is fine */
533+
}
534+
535+
stmt->execute("DROP TABLE IF EXISTS bug72700");
518536
}
519537

520538

0 commit comments

Comments
 (0)