summaryrefslogtreecommitdiffstats
path: root/connectivity/source/parse
diff options
context:
space:
mode:
authorFrank Schoenheit [fs] <frank.schoenheit@oracle.com>2011-01-07 13:50:28 +0100
committerFrank Schoenheit [fs] <frank.schoenheit@oracle.com>2011-01-07 13:50:28 +0100
commitcbcec4a8a16a62438238b41470eba33ed5dfc780 (patch)
tree20e665e343ecabdb5ffe01545b348a5d1e9af350 /connectivity/source/parse
parentdba34c: #i110039# 'Form Design' now known as 'Database Form' (diff)
parentdba34b: merged DEV300m96 (diff)
downloadcore-cbcec4a8a16a62438238b41470eba33ed5dfc780.tar.gz
core-cbcec4a8a16a62438238b41470eba33ed5dfc780.zip
dba34c: pulled/merged latest changes from CWS dba34b
Diffstat (limited to 'connectivity/source/parse')
-rw-r--r--connectivity/source/parse/sqlnode.cxx10
1 files changed, 9 insertions, 1 deletions
diff --git a/connectivity/source/parse/sqlnode.cxx b/connectivity/source/parse/sqlnode.cxx
index f9f348592a6f..9a3abb0d4fc2 100644
--- a/connectivity/source/parse/sqlnode.cxx
+++ b/connectivity/source/parse/sqlnode.cxx
@@ -1425,7 +1425,8 @@ OSQLParser::OSQLParser(const ::com::sun::star::uno::Reference< ::com::sun::star:
{ OSQLParseNode::parenthesized_boolean_value_expression, "parenthesized_boolean_value_expression" },
{ OSQLParseNode::character_string_type, "character_string_type" },
{ OSQLParseNode::other_like_predicate_part_2, "other_like_predicate_part_2" },
- { OSQLParseNode::between_predicate_part_2, "between_predicate_part_2" }
+ { OSQLParseNode::between_predicate_part_2, "between_predicate_part_2" },
+ { OSQLParseNode::cast_spec, "cast_spec" }
};
size_t nRuleMapCount = sizeof( aRuleDescriptions ) / sizeof( aRuleDescriptions[0] );
OSL_ENSURE( nRuleMapCount == size_t( OSQLParseNode::rule_count ), "OSQLParser::OSQLParser: added a new rule? Adjust this map!" );
@@ -2511,6 +2512,7 @@ void OSQLParseNode::parseLeaf(::rtl::OUStringBuffer& rString, const SQLParseNode
rString.append(m_aNodeValue);
rString.appendAscii("#");
break;
+
case SQL_NODE_INTNUM:
case SQL_NODE_APPROXNUM:
{
@@ -2523,6 +2525,12 @@ void OSQLParseNode::parseLeaf(::rtl::OUStringBuffer& rString, const SQLParseNode
rString.append(aTmp);
} break;
+ case SQL_NODE_PUNCTUATION:
+ if ( getParent() && SQL_ISRULE(getParent(),cast_spec) && m_aNodeValue.toChar() == '(' ) // no spaces in front of '('
+ {
+ rString.append(m_aNodeValue);
+ break;
+ }
// fall through
default:
if (rString.getLength() && m_aNodeValue.toChar() != '.' && m_aNodeValue.toChar() != ':' )