Date: Wednesday, November 23, 2005 @ 18:51:45
  Author: marc
    Path: /cvsroot/carob/carob

Modified: include/Request.hpp (1.1 -> 1.2) src/Request.cpp (1.1 -> 1.2)
          src/RequestWithResultSetParameters.cpp (1.1 -> 1.2)
          src/Statement.cpp (1.5 -> 1.6) test/TestBeginCommitRollback.cpp
          (1.3 -> 1.4) test/TestExecWriteRequest.cpp (1.7 -> 1.8)

Simplified Request constructor. TODO: do the same for RequestWithRSParameters


----------------------------------------+
 include/Request.hpp                    |   18 +++++++++++-------
 src/Request.cpp                        |   10 ++++------
 src/RequestWithResultSetParameters.cpp |    8 +++++++-
 src/Statement.cpp                      |    2 +-
 test/TestBeginCommitRollback.cpp       |    8 ++++----
 test/TestExecWriteRequest.cpp          |   14 ++++++++------
 6 files changed, 35 insertions(+), 25 deletions(-)


Index: carob/include/Request.hpp
diff -u carob/include/Request.hpp:1.1 carob/include/Request.hpp:1.2
--- carob/include/Request.hpp:1.1       Wed Nov 23 15:13:02 2005
+++ carob/include/Request.hpp   Wed Nov 23 18:51:45 2005
@@ -43,8 +43,7 @@
    * @param timeoutInSeconds Timeout for this request in seconds, value 0 means
    *          no timeout
    */
-  Request(wstring sql, bool nullSqlTemplate, wstring sqlTemplate,
-      bool escapeProcessing, int timeoutInSeconds);
+  Request(wstring sql);
        virtual ~Request();
   /**
    * Serializes the request on the output stream by sending only the needed
@@ -67,14 +66,19 @@
    * Sets the escapeProcessing value.
    * @param escapeProcessingPrm escapeProcessing to set.
    */
-  void              setEscapeProcessing (bool escapeProcessingPrm)
-                         { escapeProcessing = escapeProcessingPrm; }
+  Request&              setEscapeProcessing (bool escapeProcessingPrm)
+                         { escapeProcessing = escapeProcessingPrm; return 
*this;}
   /**
    * Returns the sqlQuery value.
    * @return Returns the sqlQuery.
    */
   wstring           getSqlQuery() const { return sqlQuery; }
   /**
+   * Sets the sqlTemplate.
+   */
+  Request&          setSqlTemplate(wstring sqlTemplatePrm)
+       { sqlTemplateIsNull = false; sqlTemplate = sqlTemplatePrm; return 
*this;}
+  /**
    * Sets the sqlQuery value.
    */
   void              setSqlQuery(wstring sqlQueryPrm) { sqlQuery = sqlQueryPrm; 
}
@@ -125,13 +129,13 @@
    * Sets the timeoutInSeconds value.
    * @param timeoutInSecondsPrm The timeoutInSeconds to set.
    */
-  void              setTimeoutInSeconds(int timeoutInSecondsPrm)
-                        { timeoutInSeconds = timeoutInSecondsPrm; }
+  Request&           setTimeoutInSeconds(int timeoutInSecondsPrm)
+                        { timeoutInSeconds = timeoutInSecondsPrm; return 
*this;}
 
 protected:
 
 private:
-  /** SQL query (should be set in constructor). */
+  /** SQL query (should be set in constructor). TODO: should probably be const 
*/
   wstring           sqlQuery;
   /**
    * SQL query skeleton as it appears in PreparedStatements.
Index: carob/src/Request.cpp
diff -u carob/src/Request.cpp:1.1 carob/src/Request.cpp:1.2
--- carob/src/Request.cpp:1.1   Wed Nov 23 15:13:02 2005
+++ carob/src/Request.cpp       Wed Nov 23 18:51:45 2005
@@ -1,14 +1,12 @@
 #include "Request.hpp"
 
-Request::Request(wstring sql, bool nullSqlTemplate, wstring sqlTemplatePrm,
-      bool escapeProcessingPrm, int timeoutInSecondsPrm) :
+Request::Request(wstring sql) :
 sqlQuery(sql),
-sqlTemplate(sqlTemplatePrm),
-sqlTemplateIsNull(nullSqlTemplate),
+sqlTemplateIsNull(true),
 isReadOnly(false),
 isAutoCommit(true),
-timeoutInSeconds(timeoutInSecondsPrm),
-escapeProcessing(escapeProcessingPrm)
+timeoutInSeconds(0),
+escapeProcessing(true)
 {
 }
 
Index: carob/src/RequestWithResultSetParameters.cpp
diff -u carob/src/RequestWithResultSetParameters.cpp:1.1 
carob/src/RequestWithResultSetParameters.cpp:1.2
--- carob/src/RequestWithResultSetParameters.cpp:1.1    Wed Nov 23 15:13:02 2005
+++ carob/src/RequestWithResultSetParameters.cpp        Wed Nov 23 18:51:45 2005
@@ -1,13 +1,19 @@
 #include "RequestWithResultSetParameters.hpp"
 
+// TODO: use the Named Parameters Idiom just like in superclass Request
 RequestWithResultSetParameters::RequestWithResultSetParameters(wstring sql, 
     bool nullSqlTemplate, wstring sqlTemplatePrm, bool escapeProcessingPrm, 
     int timeoutInSecondsPrm) :
-Request(sql, nullSqlTemplate, sqlTemplatePrm, escapeProcessingPrm, 
timeoutInSecondsPrm),
+Request(sql),
 maxRows(0),
 fetchSize(0),
 cursorNameIsNull(true)
 {
+  if (!nullSqlTemplate)
+    setSqlTemplate(sqlTemplatePrm);
+
+  setEscapeProcessing(escapeProcessingPrm)
+  .setTimeoutInSeconds(timeoutInSecondsPrm);
 }
 
 RequestWithResultSetParameters::~RequestWithResultSetParameters()
Index: carob/src/Statement.cpp
diff -u carob/src/Statement.cpp:1.5 carob/src/Statement.cpp:1.6
--- carob/src/Statement.cpp:1.5 Wed Nov 23 16:16:46 2005
+++ carob/src/Statement.cpp     Wed Nov 23 18:51:45 2005
@@ -98,7 +98,7 @@
     resultPtr->close();
     resultPtr = NULL;
   }
-  Request request(sql, true, L"", escapeProcessing, timeout);
+  Request request = 
Request(sql).setEscapeProcessing(escapeProcessing).setTimeoutInSeconds(timeout);
   int updateCount = connectionPtr->statementExecuteUpdate(request);
   return updateCount;
 }
Index: carob/test/TestBeginCommitRollback.cpp
diff -u carob/test/TestBeginCommitRollback.cpp:1.3 
carob/test/TestBeginCommitRollback.cpp:1.4
--- carob/test/TestBeginCommitRollback.cpp:1.3  Wed Nov 23 15:16:36 2005
+++ carob/test/TestBeginCommitRollback.cpp      Wed Nov 23 18:51:45 2005
@@ -76,8 +76,8 @@
   try
   {
     connectionPtr->setAutoCommit(false);
-    Request updtReq(L"update product set name='commited' where id=0", true, 
L"",
-        false, 2);
+    Request updtReq = Request(L"update product set name='commited' where id=0")
+        .setEscapeProcessing(false).setTimeoutInSeconds(2);
     if (isDebugEnabled())
     {
       logDebug(fctName, L"Executing write");
@@ -100,8 +100,8 @@
   try
   {
     connectionPtr->setAutoCommit(false);
-    Request updtReq(L"update product set name='rollbacked' where id=0", true,
-        L"", false, 2);
+    Request updtReq = Request(L"update product set name='rollbacked' where 
id=0")
+        .setEscapeProcessing(false).setTimeoutInSeconds(2);
     if (isDebugEnabled())
     {
       logDebug(fctName, L"Executing write");
Index: carob/test/TestExecWriteRequest.cpp
diff -u carob/test/TestExecWriteRequest.cpp:1.7 
carob/test/TestExecWriteRequest.cpp:1.8
--- carob/test/TestExecWriteRequest.cpp:1.7     Wed Nov 23 15:16:36 2005
+++ carob/test/TestExecWriteRequest.cpp Wed Nov 23 18:51:45 2005
@@ -31,7 +31,8 @@
   wstring fctName(L"TestExecWriteRequest::testWriteBadRequest");
   try
   {
-    Request updtReq(L"dummy request", true, L"", false, 2);
+    Request updtReq = Request(L"dummy request")
+            .setEscapeProcessing(false).setTimeoutInSeconds(2);
     if (isDebugEnabled())
     {
       logDebug(fctName, L"Executing write");
@@ -57,8 +58,8 @@
   wstring fctName(L"TestExecWriteRequest::testWriteBadTable");
   try
   {
-    Request updtReq(L"update dummy set name='gotit' where id=0", true, L"",
-        false, 2);
+    Request updtReq = Request(L"update dummy set name='gotit' where id=0")
+                .setEscapeProcessing(false).setTimeoutInSeconds(2);
     if (isDebugEnabled())
     {
       logDebug(fctName, L"Executing write");
@@ -84,8 +85,8 @@
   wstring fctName(L"TestExecWriteRequest::testWriteGood");
   try
   {
-    Request updtReq(L"update product set name='changed' where id=0", true, L"",
-        false, 2);
+    Request updtReq = Request(L"update product set name='changed' where id=0")
+                .setEscapeProcessing(false).setTimeoutInSeconds(2);
     if (isDebugEnabled())
     {
       logDebug(fctName, L"Executing write");
@@ -114,7 +115,8 @@
     wstring requestBegin = L"UPDATE product SET cost=";
     wstring requestEnd = L" where id=";
     
-    Request updtReq(L"", true, L"", false, 2);
+    Request updtReq = Request(L"")
+            .setEscapeProcessing(false).setTimeoutInSeconds(2);
     if (isDebugEnabled())
     {
       logDebug(fctName, L"Executing 1000 writes");

_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits

Reply via email to