Author: wyoung
Date: Sat Nov 10 05:06:42 2007
New Revision: 1845
URL: http://svn.gna.org/viewcvs/mysqlpp?rev=1845&view=rev
Log:
Added a 'processed' flag to the SQLTypeAdapter parameters taking a
string used by the stream manipulators so we don't have to create a
named temporary just to set the flag in a separate step.
Modified:
trunk/lib/manip.cpp
trunk/lib/stadapter.cpp
trunk/lib/stadapter.h
Modified: trunk/lib/manip.cpp
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/manip.cpp?rev=1845&r1=1844&r2=1845&view=diff
==============================================================================
--- trunk/lib/manip.cpp (original)
+++ trunk/lib/manip.cpp Sat Nov 10 05:06:42 2007
@@ -53,9 +53,7 @@
temp.append(escaped, len);
delete[] escaped;
temp.append("'", 1);
- SQLTypeAdapter in2(temp);
- in2.set_processed();
- *p.qparms << in2;
+ *p.qparms << SQLTypeAdapter(temp, true);
return *p.qparms;
}
else {
@@ -195,9 +193,7 @@
string temp("'", 1);
temp.append(in.data(), in.length());
temp.append("'", 1);
- SQLTypeAdapter in2(temp);
- in2.set_processed();
- return *p.qparms << in2;
+ return *p.qparms << SQLTypeAdapter(temp, true);
}
else {
in.set_processed();
@@ -234,9 +230,7 @@
string temp("\"", 1);
temp.append(in.data(), in.length());
temp.append("\"", 1);
- SQLTypeAdapter in2(temp);
- in2.set_processed();
- return *p.qparms << in2;
+ return *p.qparms << SQLTypeAdapter(temp, true);
}
else {
in.set_processed();
@@ -266,9 +260,7 @@
char* escaped = new char[in.length() * 2 + 1];
size_t len = mysql_escape_string(escaped, in.data(),
in.length());
- SQLTypeAdapter in2(escaped, len);
- in2.set_processed();
- *p.qparms << in2;
+ *p.qparms << SQLTypeAdapter(escaped, len, true);
delete[] escaped;
return *p.qparms;
Modified: trunk/lib/stadapter.cpp
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/stadapter.cpp?rev=1845&r1=1844&r2=1845&view=diff
==============================================================================
--- trunk/lib/stadapter.cpp (original)
+++ trunk/lib/stadapter.cpp Sat Nov 10 05:06:42 2007
@@ -41,33 +41,33 @@
{
}
-SQLTypeAdapter::SQLTypeAdapter(const string& str) :
+SQLTypeAdapter::SQLTypeAdapter(const string& str, bool processed) :
string(str),
is_string_(true),
-is_processed_(false)
-{
-}
-
-#if !defined(DOXYGEN_IGNORE)
-SQLTypeAdapter::SQLTypeAdapter(const Null<string>& str) :
+is_processed_(processed)
+{
+}
+
+#if !defined(DOXYGEN_IGNORE)
+SQLTypeAdapter::SQLTypeAdapter(const Null<string>& str, bool processed) :
string(str.is_null ? null_str : str.data),
is_string_(!str.is_null),
-is_processed_(false)
-{
-}
-#endif
-
-SQLTypeAdapter::SQLTypeAdapter(const char* str) :
+is_processed_(processed)
+{
+}
+#endif
+
+SQLTypeAdapter::SQLTypeAdapter(const char* str, bool processed) :
string(str),
is_string_(true),
-is_processed_(false)
-{
-}
-
-SQLTypeAdapter::SQLTypeAdapter(const char* str, size_t len) :
+is_processed_(processed)
+{
+}
+
+SQLTypeAdapter::SQLTypeAdapter(const char* str, int len, bool processed) :
string(str, len),
is_string_(true),
-is_processed_(false)
+is_processed_(processed)
{
}
Modified: trunk/lib/stadapter.h
URL:
http://svn.gna.org/viewcvs/mysqlpp/trunk/lib/stadapter.h?rev=1845&r1=1844&r2=1845&view=diff
==============================================================================
--- trunk/lib/stadapter.h (original)
+++ trunk/lib/stadapter.h Sat Nov 10 05:06:42 2007
@@ -71,13 +71,13 @@
SQLTypeAdapter();
/// \brief Create a copy of a C++ string
- SQLTypeAdapter(const std::string& str);
+ SQLTypeAdapter(const std::string& str, bool processed = false);
/// \brief Create a copy of a null-terminated C string
- SQLTypeAdapter(const char* str);
+ SQLTypeAdapter(const char* str, bool processed = false);
/// \brief Create a copy of an arbitrary block of data
- SQLTypeAdapter(const char* str, size_t len);
+ SQLTypeAdapter(const char* str, int len, bool processed = false);
/// \brief Create a single-character string
///
@@ -174,7 +174,7 @@
#if !defined(DOXYGEN_IGNORE)
// Parallel interface for Null<>-wrapped versions of types we
// support above. No need for parallel documentation.
- SQLTypeAdapter(const Null<std::string>& str);
+ SQLTypeAdapter(const Null<std::string>& str, bool processed = false);
SQLTypeAdapter(Null<char> c);
SQLTypeAdapter(Null<sql_tinyint> i);
SQLTypeAdapter(Null<sql_tinyint_unsigned> i);
_______________________________________________
Mysqlpp-commits mailing list
[email protected]
https://mail.gna.org/listinfo/mysqlpp-commits