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

Reply via email to