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]
