User: vg      
Date: 2008-01-29 08:38:46+0000
Modified:
   dba/connectivity/source/parse/sqlnode.cxx

Log:
 INTEGRATION: CWS dba24e_SRC680 (1.50.4); FILE MERGED
 2007/12/03 11:09:56 lla 1.50.4.1: #i78988# add EscapeDateTime property

File Changes:

Directory: /dba/connectivity/source/parse/
==========================================

File [changed]: sqlnode.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/parse/sqlnode.cxx?r1=1.50&r2=1.51
Delta lines:  +39 -8
--------------------
--- sqlnode.cxx 2007-11-21 15:09:38+0000        1.50
+++ sqlnode.cxx 2008-01-29 08:38:43+0000        1.51
@@ -1801,7 +1801,7 @@
 sal_Bool OSQLParseNode::addDateValue(::rtl::OUString& rString, const 
SQLParseNodeParameter& rParam) const
 {
     // special display for date/time values
-    if (rParam.bPredicate && SQL_ISRULE(this,set_fct_spec) && 
SQL_ISPUNCTUATION(m_aChilds[0],"{"))
+    if (SQL_ISRULE(this,set_fct_spec) && SQL_ISPUNCTUATION(m_aChilds[0],"{"))
     {
         const OSQLParseNode* pODBCNode = m_aChilds[1];
         const OSQLParseNode* pODBCNodeChild = pODBCNode->m_aChilds[0];
@@ -1811,17 +1811,48 @@
             SQL_ISTOKEN(pODBCNodeChild, T) ||
             SQL_ISTOKEN(pODBCNodeChild, TS) ))
         {
+                       ::rtl::OUString 
suQuote(::rtl::OUString::createFromAscii("'"));
+                       if (rParam.bPredicate)
+                       {
+                                if (rParam.aMetaData.shouldEscapeDateTime())
+                                {
+                                        suQuote = 
::rtl::OUString::createFromAscii("#");
+                                }
+                                else
+                                {
+                                        suQuote = 
::rtl::OUString::createFromAscii("'");
+                                }
+                       }
+                       else
+                       {
+                                if (rParam.aMetaData.shouldEscapeDateTime())
+                                {
+                                        // suQuote = 
::rtl::OUString::createFromAscii("'");
+                                        return sal_False;
+                                }
+                                else
+                                {
+                                        suQuote = 
::rtl::OUString::createFromAscii("'");
+                                }
+                       }
+
             if (rString.getLength())
                 rString += ::rtl::OUString::createFromAscii(" ");
-            rString += ::rtl::OUString::createFromAscii("#");
+                       rString += suQuote;
+                       const ::rtl::OUString sTokenValue = 
pODBCNode->m_aChilds[1]->getTokenValue();
             if (SQL_ISTOKEN(pODBCNodeChild, D))
-                rString += convertDateString(rParam, 
pODBCNode->m_aChilds[1]->getTokenValue());
+                       {
+                               rString += rParam.bPredicate ? 
convertDateString(rParam, sTokenValue) : sTokenValue;
+                       }
             else if (SQL_ISTOKEN(pODBCNodeChild, T))
-                rString += convertTimeString(rParam, 
pODBCNode->m_aChilds[1]->getTokenValue());
+                       {
+                               rString += rParam.bPredicate ? 
convertTimeString(rParam, sTokenValue) : sTokenValue;
+                       }
             else
-                rString += convertDateTimeString(rParam, 
pODBCNode->m_aChilds[1]->getTokenValue());
-
-            rString += ::rtl::OUString::createFromAscii("#");
+                       {
+                               rString += rParam.bPredicate ? 
convertDateTimeString(rParam, sTokenValue) : sTokenValue;
+                       }
+                       rString += suQuote;
             return sal_True;
         }
     }




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to