Kaydet (Commit) f220c391 authored tarafından Lionel Elie Mamane's avatar Lionel Elie Mamane

make SQL grammar Generalised LR

This fixes parsing failures, like e.g.
warn:legacy.osl:30429:1:dbaccess/source/core/api/SingleSelectQueryComposer.cxx:783: OSingleSelectQueryComposer::getColumns: could not parse the column retrieval statement!
when opening query "Balance" of https://bugs.freedesktop.org/attachment.cgi?id=71964

OTOH, since we have reduce/reduce conflicts, we might have true
ambiguities in our grammar. This change makes the parsing fail
in the presence of full-expression ambiguities instead of making
a ~arbitrary choice.

Change-Id: I88574da91045dd52f198f193c78d144302f298a4
üst 6eb9c378
%glr-parser
%token-table %token-table
%{ %{
/* /*
...@@ -304,7 +305,7 @@ op_schema: ...@@ -304,7 +305,7 @@ op_schema:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
; ;
...@@ -349,9 +350,9 @@ base_table_def: ...@@ -349,9 +350,9 @@ base_table_def:
$$->append($1); $$->append($1);
$$->append($2); $$->append($2);
$$->append($3); $$->append($3);
$$->append($4 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($5); $$->append($5);
$$->append($6 = newNode(")", SQL_NODE_PUNCTUATION));} $$->append(newNode(")", SQL_NODE_PUNCTUATION));}
; ;
base_table_element_commalist: base_table_element_commalist:
...@@ -424,9 +425,9 @@ column_def_opt: ...@@ -424,9 +425,9 @@ column_def_opt:
| SQL_TOKEN_CHECK '(' search_condition ')' | SQL_TOKEN_CHECK '(' search_condition ')'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION));} $$->append(newNode(")", SQL_NODE_PUNCTUATION));}
| SQL_TOKEN_REFERENCES table_node | SQL_TOKEN_REFERENCES table_node
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
...@@ -435,53 +436,53 @@ column_def_opt: ...@@ -435,53 +436,53 @@ column_def_opt:
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2); $$->append($2);
$$->append($3 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($4); $$->append($4);
$$->append($5 = newNode(")", SQL_NODE_PUNCTUATION));} $$->append(newNode(")", SQL_NODE_PUNCTUATION));}
; ;
table_constraint_def: table_constraint_def:
unique_spec '(' column_commalist ')' unique_spec '(' column_commalist ')'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION));} $$->append(newNode(")", SQL_NODE_PUNCTUATION));}
| SQL_TOKEN_FOREIGN SQL_TOKEN_KEY '(' column_commalist ')' SQL_TOKEN_REFERENCES table_node | SQL_TOKEN_FOREIGN SQL_TOKEN_KEY '(' column_commalist ')' SQL_TOKEN_REFERENCES table_node
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2); $$->append($2);
$$->append($3 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($4); $$->append($4);
$$->append($5 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
$$->append($6); $$->append($6);
$$->append($7);} $$->append($7);}
| SQL_TOKEN_FOREIGN SQL_TOKEN_KEY '(' column_commalist ')' SQL_TOKEN_REFERENCES table_node '(' column_commalist ')' | SQL_TOKEN_FOREIGN SQL_TOKEN_KEY '(' column_commalist ')' SQL_TOKEN_REFERENCES table_node '(' column_commalist ')'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2); $$->append($2);
$$->append($3 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($4); $$->append($4);
$$->append($5 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
$$->append($6); $$->append($6);
$$->append($7); $$->append($7);
$$->append($8 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($9); $$->append($9);
$$->append($10 = newNode(")", SQL_NODE_PUNCTUATION));} $$->append(newNode(")", SQL_NODE_PUNCTUATION));}
| SQL_TOKEN_CHECK '(' search_condition ')' | SQL_TOKEN_CHECK '(' search_condition ')'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION));} $$->append(newNode(")", SQL_NODE_PUNCTUATION));}
; ;
op_column_commalist: op_column_commalist:
/* empty */ {$$ = SQL_NEW_RULE;} /* empty */ {$$ = SQL_NEW_RULE;}
| '(' column_commalist ')' | '(' column_commalist ')'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
column_commalist: column_commalist:
...@@ -518,9 +519,9 @@ opt_column_commalist: ...@@ -518,9 +519,9 @@ opt_column_commalist:
/* empty */ {$$ = SQL_NEW_RULE;} /* empty */ {$$ = SQL_NEW_RULE;}
| '(' column_commalist ')' | '(' column_commalist ')'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION));} $$->append(newNode(")", SQL_NODE_PUNCTUATION));}
; ;
privilege_def: privilege_def:
...@@ -671,9 +672,9 @@ manipulative_statement: ...@@ -671,9 +672,9 @@ manipulative_statement:
| '{' odbc_call_spec '}' | '{' odbc_call_spec '}'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("{", SQL_NODE_PUNCTUATION)); $$->append(newNode("{", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode("}", SQL_NODE_PUNCTUATION)); $$->append(newNode("}", SQL_NODE_PUNCTUATION));
} }
; ;
...@@ -738,9 +739,9 @@ values_or_query_spec: ...@@ -738,9 +739,9 @@ values_or_query_spec:
SQL_TOKEN_VALUES '(' table_value_const_list ')' SQL_TOKEN_VALUES '(' table_value_const_list ')'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
...@@ -765,9 +766,9 @@ row_value_constructor: ...@@ -765,9 +766,9 @@ row_value_constructor:
/* | '(' row_value_const_list ')' /* | '(' row_value_const_list ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
*/ */
; ;
...@@ -891,7 +892,7 @@ selection: ...@@ -891,7 +892,7 @@ selection:
'*' '*'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("*", SQL_NODE_PUNCTUATION)); $$->append(newNode("*", SQL_NODE_PUNCTUATION));
} }
| scalar_exp_commalist | scalar_exp_commalist
; ;
...@@ -1033,17 +1034,17 @@ table_ref: ...@@ -1033,17 +1034,17 @@ table_ref:
| '{' SQL_TOKEN_OJ joined_table '}' | '{' SQL_TOKEN_OJ joined_table '}'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("{", SQL_NODE_PUNCTUATION)); $$->append(newNode("{", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3); $$->append($3);
$$->append($4 = newNode("}", SQL_NODE_PUNCTUATION)); $$->append(newNode("}", SQL_NODE_PUNCTUATION));
} }
| '(' joined_table ')' | '(' joined_table ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
where_clause: where_clause:
...@@ -1097,9 +1098,9 @@ boolean_primary: ...@@ -1097,9 +1098,9 @@ boolean_primary:
| '(' search_condition ')' | '(' search_condition ')'
{ // boolean_primary: rule 2 { // boolean_primary: rule 2
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| row_value_constructor_elem /*[^')' ',']*/ | row_value_constructor_elem /*[^')' ',']*/
{ {
...@@ -1130,9 +1131,9 @@ parenthesized_boolean_value_expression: ...@@ -1130,9 +1131,9 @@ parenthesized_boolean_value_expression:
'(' search_condition ')' '(' search_condition ')'
{ // boolean_primary: rule 2 { // boolean_primary: rule 2
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
boolean_test: boolean_test:
...@@ -1381,10 +1382,10 @@ opt_escape: ...@@ -1381,10 +1382,10 @@ opt_escape:
| '{' SQL_TOKEN_ESCAPE SQL_TOKEN_STRING '}' | '{' SQL_TOKEN_ESCAPE SQL_TOKEN_STRING '}'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("{", SQL_NODE_PUNCTUATION)); $$->append(newNode("{", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3); $$->append($3);
$$->append($4 = newNode("}", SQL_NODE_PUNCTUATION)); $$->append(newNode("}", SQL_NODE_PUNCTUATION));
} }
; ;
...@@ -1426,9 +1427,9 @@ in_predicate_value: ...@@ -1426,9 +1427,9 @@ in_predicate_value:
} }
| '(' value_exp_commalist ')' | '(' value_exp_commalist ')'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
in_predicate_part_2: in_predicate_part_2:
...@@ -1515,9 +1516,9 @@ unique_test: ...@@ -1515,9 +1516,9 @@ unique_test:
subquery: subquery:
'(' query_exp ')' '(' query_exp ')'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION));} $$->append(newNode(")", SQL_NODE_PUNCTUATION));}
; ;
/* scalar expressions */ /* scalar expressions */
...@@ -1538,8 +1539,8 @@ select_sublist: ...@@ -1538,8 +1539,8 @@ select_sublist:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($3 = newNode("*", SQL_NODE_PUNCTUATION)); $$->append(newNode("*", SQL_NODE_PUNCTUATION));
} }
*/ */
derived_column derived_column
...@@ -1564,14 +1565,14 @@ op_like: ...@@ -1564,14 +1565,14 @@ op_like:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("*", SQL_NODE_PUNCTUATION)); $$->append(newNode("*", SQL_NODE_PUNCTUATION));
xxx_pGLOBAL_SQLPARSER->reduceLiteral($$, sal_False); xxx_pGLOBAL_SQLPARSER->reduceLiteral($$, sal_False);
} }
| op_like '?' | op_like '?'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("?", SQL_NODE_PUNCTUATION)); $$->append(newNode("?", SQL_NODE_PUNCTUATION));
xxx_pGLOBAL_SQLPARSER->reduceLiteral($$, sal_False); xxx_pGLOBAL_SQLPARSER->reduceLiteral($$, sal_False);
} }
; ;
...@@ -1651,19 +1652,19 @@ position_exp: ...@@ -1651,19 +1652,19 @@ position_exp:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5); $$->append($5);
$$->append($6 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| SQL_TOKEN_POSITION '(' value_exp_commalist ')' | SQL_TOKEN_POSITION '(' value_exp_commalist ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
num_value_fct: num_value_fct:
...@@ -1676,17 +1677,17 @@ char_length_exp: ...@@ -1676,17 +1677,17 @@ char_length_exp:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| SQL_TOKEN_SQL_TOKEN_INTNUM '(' value_exp ')' | SQL_TOKEN_SQL_TOKEN_INTNUM '(' value_exp ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
...@@ -1695,9 +1696,9 @@ octet_length_exp: ...@@ -1695,9 +1696,9 @@ octet_length_exp:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
bit_length_exp: bit_length_exp:
...@@ -1705,9 +1706,9 @@ bit_length_exp: ...@@ -1705,9 +1706,9 @@ bit_length_exp:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
length_exp: length_exp:
...@@ -1773,11 +1774,11 @@ extract_exp: ...@@ -1773,11 +1774,11 @@ extract_exp:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5); $$->append($5);
$$->append($6 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
unsigned_value_spec: unsigned_value_spec:
...@@ -1805,63 +1806,63 @@ set_fct_spec: ...@@ -1805,63 +1806,63 @@ set_fct_spec:
| '{' odbc_fct_spec '}' | '{' odbc_fct_spec '}'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("{", SQL_NODE_PUNCTUATION)); $$->append(newNode("{", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode("}", SQL_NODE_PUNCTUATION)); $$->append(newNode("}", SQL_NODE_PUNCTUATION));
} }
| function_name '(' ')' | function_name '(' ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| function_name0 '(' ')' | function_name0 '(' ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| function_name1 '(' function_arg ')' | function_name1 '(' function_arg ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| function_name2 '(' function_arg_commalist2 ')' | function_name2 '(' function_arg_commalist2 ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| function_name3 '(' function_arg_commalist3 ')' | function_name3 '(' function_arg_commalist3 ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| string_function_4Argument '(' function_arg_commalist4 ')' | string_function_4Argument '(' function_arg_commalist4 ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| function_name '(' function_args_commalist ')' | function_name '(' function_args_commalist ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| function_name12 '(' function_args_commalist ')' | function_name12 '(' function_args_commalist ')'
{ {
...@@ -1869,9 +1870,9 @@ set_fct_spec: ...@@ -1869,9 +1870,9 @@ set_fct_spec:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
else else
YYERROR; YYERROR;
...@@ -1882,9 +1883,9 @@ set_fct_spec: ...@@ -1882,9 +1883,9 @@ set_fct_spec:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
else else
YYERROR; YYERROR;
...@@ -2024,15 +2025,15 @@ window_function_type : ...@@ -2024,15 +2025,15 @@ window_function_type :
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| SQL_TOKEN_ROW_NUMBER '(' ')' | SQL_TOKEN_ROW_NUMBER '(' ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| general_set_fct | general_set_fct
| ntile_function | ntile_function
...@@ -2045,9 +2046,9 @@ ntile_function : ...@@ -2045,9 +2046,9 @@ ntile_function :
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
dynamic_parameter_specification: dynamic_parameter_specification:
...@@ -2065,15 +2066,15 @@ opt_lead_or_lag_function: ...@@ -2065,15 +2066,15 @@ opt_lead_or_lag_function:
| ',' offset | ',' offset
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode(",", SQL_NODE_PUNCTUATION)); $$->append(newNode(",", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
} }
| ',' offset ',' default_expression | ',' offset ',' default_expression
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode(",", SQL_NODE_PUNCTUATION)); $$->append(newNode(",", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(",", SQL_NODE_PUNCTUATION)); $$->append(newNode(",", SQL_NODE_PUNCTUATION));
$$->append($4); $$->append($4);
} }
; ;
...@@ -2087,10 +2088,10 @@ lead_or_lag_function: ...@@ -2087,10 +2088,10 @@ lead_or_lag_function:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
$$->append($6); $$->append($6);
} }
; ;
...@@ -2116,9 +2117,9 @@ first_or_last_value_function: ...@@ -2116,9 +2117,9 @@ first_or_last_value_function:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
$$->append($5); $$->append($5);
} }
; ;
...@@ -2135,11 +2136,11 @@ nth_value_function: ...@@ -2135,11 +2136,11 @@ nth_value_function:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(",", SQL_NODE_PUNCTUATION)); $$->append(newNode(",", SQL_NODE_PUNCTUATION));
$$->append($5); $$->append($5);
$$->append($6 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
$$->append($7); $$->append($7);
$$->append($8); $$->append($8);
} }
...@@ -2208,9 +2209,9 @@ window_specification: ...@@ -2208,9 +2209,9 @@ window_specification:
'(' window_specification_details ')' '(' window_specification_details ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
opt_existing_window_name: opt_existing_window_name:
...@@ -2370,7 +2371,7 @@ op_parameter: ...@@ -2370,7 +2371,7 @@ op_parameter:
| '?' SQL_EQUAL | '?' SQL_EQUAL
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("?", SQL_NODE_PUNCTUATION)); $$->append(newNode("?", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
} }
; ;
...@@ -2390,9 +2391,9 @@ op_odbc_call_parameter: ...@@ -2390,9 +2391,9 @@ op_odbc_call_parameter:
| '(' odbc_parameter_commalist ')' | '(' odbc_parameter_commalist ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
...@@ -2438,27 +2439,27 @@ general_set_fct: ...@@ -2438,27 +2439,27 @@ general_set_fct:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| SQL_TOKEN_COUNT '(' '*' ')' | SQL_TOKEN_COUNT '(' '*' ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3 = newNode("*", SQL_NODE_PUNCTUATION)); $$->append(newNode("*", SQL_NODE_PUNCTUATION));
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| SQL_TOKEN_COUNT '(' opt_all_distinct function_arg ')' | SQL_TOKEN_COUNT '(' opt_all_distinct function_arg ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| ordered_set_function | ordered_set_function
| array_aggregate_function | array_aggregate_function
...@@ -2489,20 +2490,20 @@ hypothetical_set_function: ...@@ -2489,20 +2490,20 @@ hypothetical_set_function:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
$$->append($5); $$->append($5);
} }
| rank_function_type '(' hypothetical_set_function_value_expression_list SQL_TOKEN_BY value_exp_commalist ')' within_group_specification | rank_function_type '(' hypothetical_set_function_value_expression_list SQL_TOKEN_BY value_exp_commalist ')' within_group_specification
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5); $$->append($5);
$$->append($6 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
$$->append($7); $$->append($7);
} }
; ;
...@@ -2516,9 +2517,9 @@ within_group_specification: ...@@ -2516,9 +2517,9 @@ within_group_specification:
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2); $$->append($2);
$$->append($3 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($4); $$->append($4);
$$->append($5 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
hypothetical_set_function_value_expression_list: hypothetical_set_function_value_expression_list:
...@@ -2530,9 +2531,9 @@ inverse_distribution_function: ...@@ -2530,9 +2531,9 @@ inverse_distribution_function:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
inverse_distribution_function_argument: inverse_distribution_function_argument:
...@@ -2548,10 +2549,10 @@ array_aggregate_function: ...@@ -2548,10 +2549,10 @@ array_aggregate_function:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
...@@ -2646,9 +2647,9 @@ named_columns_join: ...@@ -2646,9 +2647,9 @@ named_columns_join:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
simple_table: simple_table:
...@@ -2661,9 +2662,9 @@ non_join_query_primary: ...@@ -2661,9 +2662,9 @@ non_join_query_primary:
| '(' non_join_query_exp ')' | '(' non_join_query_exp ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
non_join_query_term: non_join_query_term:
...@@ -2721,11 +2722,11 @@ cast_spec: ...@@ -2721,11 +2722,11 @@ cast_spec:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5); $$->append($5);
$$->append($6 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
value_exp_primary: value_exp_primary:
...@@ -2738,9 +2739,9 @@ value_exp_primary: ...@@ -2738,9 +2739,9 @@ value_exp_primary:
| '(' value_exp ')' | '(' value_exp ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| cast_spec | cast_spec
; ;
...@@ -2754,13 +2755,13 @@ factor: ...@@ -2754,13 +2755,13 @@ factor:
| '-' num_primary %prec SQL_TOKEN_UMINUS | '-' num_primary %prec SQL_TOKEN_UMINUS
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("-", SQL_NODE_PUNCTUATION)); $$->append(newNode("-", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
} }
| '+' num_primary %prec SQL_TOKEN_UMINUS | '+' num_primary %prec SQL_TOKEN_UMINUS
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("+", SQL_NODE_PUNCTUATION)); $$->append(newNode("+", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
} }
; ;
...@@ -2771,14 +2772,14 @@ term: ...@@ -2771,14 +2772,14 @@ term:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("*", SQL_NODE_PUNCTUATION)); $$->append(newNode("*", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
| term '/' factor | term '/' factor
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("/", SQL_NODE_PUNCTUATION)); $$->append(newNode("/", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
; ;
...@@ -2789,14 +2790,14 @@ num_value_exp: ...@@ -2789,14 +2790,14 @@ num_value_exp:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("+", SQL_NODE_PUNCTUATION)); $$->append(newNode("+", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
| num_value_exp '-' term | num_value_exp '-' term
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("-", SQL_NODE_PUNCTUATION)); $$->append(newNode("-", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
; ;
...@@ -2878,14 +2879,14 @@ interval_term: ...@@ -2878,14 +2879,14 @@ interval_term:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("*", SQL_NODE_PUNCTUATION)); $$->append(newNode("*", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
| interval_term '/' factor | interval_term '/' factor
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("/", SQL_NODE_PUNCTUATION)); $$->append(newNode("/", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
; ;
...@@ -2900,21 +2901,21 @@ datetime_value_exp: ...@@ -2900,21 +2901,21 @@ datetime_value_exp:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("+", SQL_NODE_PUNCTUATION)); $$->append(newNode("+", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
| datetime_value_exp '+' interval_term | datetime_value_exp '+' interval_term
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("+", SQL_NODE_PUNCTUATION)); $$->append(newNode("+", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
| datetime_value_exp '-' interval_term | datetime_value_exp '-' interval_term
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("-", SQL_NODE_PUNCTUATION)); $$->append(newNode("-", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
*/ ; */ ;
...@@ -2929,24 +2930,24 @@ interval_value_exp: ...@@ -2929,24 +2930,24 @@ interval_value_exp:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("+", SQL_NODE_PUNCTUATION)); $$->append(newNode("+", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
| interval_value_exp '-' interval_term | interval_value_exp '-' interval_term
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("-", SQL_NODE_PUNCTUATION)); $$->append(newNode("-", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
| '(' datetime_value_exp '-' datetime_term ')' interval_qualifier | '(' datetime_value_exp '-' datetime_term ')' interval_qualifier
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode("-", SQL_NODE_PUNCTUATION)); $$->append(newNode("-", SQL_NODE_PUNCTUATION));
$$->append($4); $$->append($4);
$$->append($5 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
$$->append($6); $$->append($6);
} }
; ;
...@@ -3117,7 +3118,7 @@ concatenation: ...@@ -3117,7 +3118,7 @@ concatenation:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("+", SQL_NODE_PUNCTUATION)); $$->append(newNode("+", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
| value_exp SQL_CONCAT value_exp | value_exp SQL_CONCAT value_exp
...@@ -3166,12 +3167,12 @@ bit_substring_fct: ...@@ -3166,12 +3167,12 @@ bit_substring_fct:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5); $$->append($5);
$$->append($6); $$->append($6);
$$->append($7 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
bit_value_exp: bit_value_exp:
...@@ -3193,7 +3194,7 @@ bit_concatenation: ...@@ -3193,7 +3194,7 @@ bit_concatenation:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("+", SQL_NODE_PUNCTUATION)); $$->append(newNode("+", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
; ;
...@@ -3251,20 +3252,20 @@ char_substring_fct: ...@@ -3251,20 +3252,20 @@ char_substring_fct:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5); $$->append($5);
$$->append($6); $$->append($6);
$$->append($7 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| SQL_TOKEN_SUBSTRING '(' value_exp_commalist ')' | SQL_TOKEN_SUBSTRING '(' value_exp_commalist ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
upper_lower: upper_lower:
...@@ -3276,9 +3277,9 @@ fold: ...@@ -3276,9 +3277,9 @@ fold:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
form_conversion: form_conversion:
...@@ -3286,21 +3287,21 @@ form_conversion: ...@@ -3286,21 +3287,21 @@ form_conversion:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5); $$->append($5);
$$->append($6 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| SQL_TOKEN_CONVERT '(' cast_operand ',' cast_target ')' | SQL_TOKEN_CONVERT '(' cast_operand ',' cast_target ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($2 = newNode(",", SQL_NODE_PUNCTUATION)); $$->append(newNode(",", SQL_NODE_PUNCTUATION));
$$->append($5); $$->append($5);
$$->append($6 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
char_translation: char_translation:
...@@ -3308,11 +3309,11 @@ char_translation: ...@@ -3308,11 +3309,11 @@ char_translation:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4); $$->append($4);
$$->append($5); $$->append($5);
$$->append($6 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
trim_fct: trim_fct:
...@@ -3320,9 +3321,9 @@ trim_fct: ...@@ -3320,9 +3321,9 @@ trim_fct:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
trim_operands: trim_operands:
...@@ -3382,14 +3383,14 @@ catalog_name: ...@@ -3382,14 +3383,14 @@ catalog_name:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
| SQL_TOKEN_NAME ':' schema_name | SQL_TOKEN_NAME ':' schema_name
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode(":", SQL_NODE_PUNCTUATION)); $$->append(newNode(":", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
; ;
...@@ -3398,7 +3399,7 @@ schema_name: ...@@ -3398,7 +3399,7 @@ schema_name:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
; ;
...@@ -3416,50 +3417,50 @@ column_ref: ...@@ -3416,50 +3417,50 @@ column_ref:
/* | table_node '.' column_val %prec '.' /* | table_node '.' column_val %prec '.'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($3);} $$->append($3);}
*/ */
| SQL_TOKEN_NAME '.' column_val %prec '.' | SQL_TOKEN_NAME '.' column_val %prec '.'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
} }
| SQL_TOKEN_NAME '.' SQL_TOKEN_NAME '.' column_val %prec '.' | SQL_TOKEN_NAME '.' SQL_TOKEN_NAME '.' column_val %prec '.'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($5);} $$->append($5);}
| SQL_TOKEN_NAME '.' SQL_TOKEN_NAME '.' SQL_TOKEN_NAME '.' column_val %prec '.' | SQL_TOKEN_NAME '.' SQL_TOKEN_NAME '.' SQL_TOKEN_NAME '.' column_val %prec '.'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2= newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($5); $$->append($5);
$$->append($6 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($7); $$->append($7);
} }
| SQL_TOKEN_NAME ':' SQL_TOKEN_NAME '.' SQL_TOKEN_NAME '.' column_val %prec '.' | SQL_TOKEN_NAME ':' SQL_TOKEN_NAME '.' SQL_TOKEN_NAME '.' column_val %prec '.'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2= newNode(":", SQL_NODE_PUNCTUATION)); $$->append(newNode(":", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($5); $$->append($5);
$$->append($6 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($7); $$->append($7);
} }
/* | SQL_TOKEN_NAME ';' SQL_TOKEN_NAME '.' SQL_TOKEN_NAME '.' column_val /* | SQL_TOKEN_NAME ';' SQL_TOKEN_NAME '.' SQL_TOKEN_NAME '.' column_val
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2= newNode(";", SQL_NODE_PUNCTUATION)); $$->append(newNode(";", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($5); $$->append($5);
$$->append($6 = newNode(".", SQL_NODE_PUNCTUATION)); $$->append(newNode(".", SQL_NODE_PUNCTUATION));
$$->append($7); $$->append($7);
} }
*/ ; */ ;
...@@ -3472,7 +3473,7 @@ column_val: ...@@ -3472,7 +3473,7 @@ column_val:
| '*' | '*'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("*", SQL_NODE_PUNCTUATION)); $$->append(newNode("*", SQL_NODE_PUNCTUATION));
} }
; ;
data_type: data_type:
...@@ -3555,9 +3556,9 @@ paren_char_length: ...@@ -3555,9 +3556,9 @@ paren_char_length:
'(' SQL_TOKEN_INTNUM ')' '(' SQL_TOKEN_INTNUM ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
opt_paren_char_large_length: opt_paren_char_large_length:
...@@ -3568,9 +3569,9 @@ paren_character_large_object_length: ...@@ -3568,9 +3569,9 @@ paren_character_large_object_length:
'(' large_object_length ')' '(' large_object_length ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
...@@ -3587,27 +3588,27 @@ opt_multiplier: ...@@ -3587,27 +3588,27 @@ opt_multiplier:
| 'K' | 'K'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("K", SQL_NODE_PUNCTUATION)); $$->append(newNode("K", SQL_NODE_PUNCTUATION));
} }
| 'M' | 'M'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("M", SQL_NODE_PUNCTUATION)); $$->append(newNode("M", SQL_NODE_PUNCTUATION));
} }
| 'G' | 'G'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("G", SQL_NODE_PUNCTUATION)); $$->append(newNode("G", SQL_NODE_PUNCTUATION));
} }
| 'T' | 'T'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("T", SQL_NODE_PUNCTUATION)); $$->append(newNode("T", SQL_NODE_PUNCTUATION));
} }
| 'P' | 'P'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("P", SQL_NODE_PUNCTUATION)); $$->append(newNode("P", SQL_NODE_PUNCTUATION));
} }
; ;
character_large_object_type: character_large_object_type:
...@@ -3752,18 +3753,18 @@ opt_paren_precision_scale: ...@@ -3752,18 +3753,18 @@ opt_paren_precision_scale:
| '(' SQL_TOKEN_INTNUM ')' | '(' SQL_TOKEN_INTNUM ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| '(' SQL_TOKEN_INTNUM ',' SQL_TOKEN_INTNUM ')' | '(' SQL_TOKEN_INTNUM ',' SQL_TOKEN_INTNUM ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode(",", SQL_NODE_PUNCTUATION)); $$->append(newNode(",", SQL_NODE_PUNCTUATION));
$$->append($4); $$->append($4);
$$->append($5 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
exact_numeric_type: exact_numeric_type:
...@@ -3795,9 +3796,9 @@ approximate_numeric_type: ...@@ -3795,9 +3796,9 @@ approximate_numeric_type:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| SQL_TOKEN_FLOAT | SQL_TOKEN_FLOAT
| SQL_TOKEN_REAL | SQL_TOKEN_REAL
...@@ -3886,25 +3887,25 @@ case_abbreviation: ...@@ -3886,25 +3887,25 @@ case_abbreviation:
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| SQL_TOKEN_COALESCE '(' value_exp ')' | SQL_TOKEN_COALESCE '(' value_exp ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
| SQL_TOKEN_COALESCE '(' value_exp_commalist ')' | SQL_TOKEN_COALESCE '(' value_exp_commalist ')'
{ {
$$ = SQL_NEW_RULE; $$ = SQL_NEW_RULE;
$$->append($1); $$->append($1);
$$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); $$->append(newNode("(", SQL_NODE_PUNCTUATION));
$$->append($3); $$->append($3);
$$->append($4 = newNode(")", SQL_NODE_PUNCTUATION)); $$->append(newNode(")", SQL_NODE_PUNCTUATION));
} }
; ;
case_specification: case_specification:
...@@ -4026,16 +4027,16 @@ module: SQL_TOKEN_NAME ...@@ -4026,16 +4027,16 @@ module: SQL_TOKEN_NAME
parameter: parameter:
':' SQL_TOKEN_NAME ':' SQL_TOKEN_NAME
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1 = newNode(":", SQL_NODE_PUNCTUATION)); $$->append(newNode(":", SQL_NODE_PUNCTUATION));
$$->append($2);} $$->append($2);}
| '?' | '?'
{$$ = SQL_NEW_RULE; // test {$$ = SQL_NEW_RULE; // test
$$->append($1 = newNode("?", SQL_NODE_PUNCTUATION));} $$->append(newNode("?", SQL_NODE_PUNCTUATION));}
| '[' SQL_TOKEN_NAME ']' | '[' SQL_TOKEN_NAME ']'
{$$ = SQL_NEW_RULE; {$$ = SQL_NEW_RULE;
$$->append($1 = newNode("[", SQL_NODE_PUNCTUATION)); $$->append(newNode("[", SQL_NODE_PUNCTUATION));
$$->append($2); $$->append($2);
$$->append($3 = newNode("]", SQL_NODE_PUNCTUATION));} $$->append(newNode("]", SQL_NODE_PUNCTUATION));}
; ;
/*** /***
...@@ -4179,7 +4180,7 @@ triggered_SQL_statement: ...@@ -4179,7 +4180,7 @@ triggered_SQL_statement:
$$->append($1); $$->append($1);
$$->append($2); $$->append($2);
$$->append($3); $$->append($3);
$$->append($4 = newNode(";", SQL_NODE_PUNCTUATION)); $$->append(newNode(";", SQL_NODE_PUNCTUATION));
$$->append($5); $$->append($5);
} }
; ;
......
...@@ -839,7 +839,7 @@ void OSQLParser::killThousandSeparator(OSQLParseNode* pLiteral) ...@@ -839,7 +839,7 @@ void OSQLParser::killThousandSeparator(OSQLParseNode* pLiteral)
} }
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
OSQLParseNode* OSQLParser::convertNode(sal_Int32 nType,OSQLParseNode*& pLiteral) OSQLParseNode* OSQLParser::convertNode(sal_Int32 nType,OSQLParseNode*const& pLiteral)
{ {
if ( !pLiteral ) if ( !pLiteral )
return NULL; return NULL;
...@@ -957,7 +957,7 @@ OSQLParseNode* OSQLParser::convertNode(sal_Int32 nType,OSQLParseNode*& pLiteral) ...@@ -957,7 +957,7 @@ OSQLParseNode* OSQLParser::convertNode(sal_Int32 nType,OSQLParseNode*& pLiteral)
return pReturn; return pReturn;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
sal_Int16 OSQLParser::buildPredicateRule(OSQLParseNode*& pAppend,OSQLParseNode* pLiteral,OSQLParseNode*& pCompare,OSQLParseNode* pLiteral2) sal_Int16 OSQLParser::buildPredicateRule(OSQLParseNode*& pAppend,OSQLParseNode* const pLiteral,OSQLParseNode*const & pCompare,OSQLParseNode* pLiteral2)
{ {
OSL_ENSURE(inPredicateCheck(),"Only in predicate check allowed!"); OSL_ENSURE(inPredicateCheck(),"Only in predicate check allowed!");
sal_Int16 nErg = 0; sal_Int16 nErg = 0;
...@@ -986,7 +986,7 @@ sal_Int16 OSQLParser::buildPredicateRule(OSQLParseNode*& pAppend,OSQLParseNode* ...@@ -986,7 +986,7 @@ sal_Int16 OSQLParser::buildPredicateRule(OSQLParseNode*& pAppend,OSQLParseNode*
return nErg; return nErg;
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
sal_Int16 OSQLParser::buildLikeRule(OSQLParseNode*& pAppend, OSQLParseNode*& pLiteral, const OSQLParseNode* pEscape) sal_Int16 OSQLParser::buildLikeRule(OSQLParseNode* const& pAppend, OSQLParseNode*& pLiteral, const OSQLParseNode* pEscape)
{ {
sal_Int16 nErg = 0; sal_Int16 nErg = 0;
sal_Int32 nType = 0; sal_Int32 nType = 0;
......
...@@ -170,7 +170,7 @@ namespace connectivity ...@@ -170,7 +170,7 @@ namespace connectivity
OSQLParseNode* buildDate(sal_Int32 _nType,OSQLParseNode*& pLiteral); OSQLParseNode* buildDate(sal_Int32 _nType,OSQLParseNode*& pLiteral);
bool extractDate(OSQLParseNode* pLiteral,double& _rfValue); bool extractDate(OSQLParseNode* pLiteral,double& _rfValue);
void killThousandSeparator(OSQLParseNode* pLiteral); void killThousandSeparator(OSQLParseNode* pLiteral);
OSQLParseNode* convertNode(sal_Int32 nType,OSQLParseNode*& pLiteral); OSQLParseNode* convertNode(sal_Int32 nType,OSQLParseNode*const& pLiteral);
// makes a string out of a number, pLiteral will be deleted // makes a string out of a number, pLiteral will be deleted
OSQLParseNode* buildNode_STR_NUM(OSQLParseNode*& pLiteral); OSQLParseNode* buildNode_STR_NUM(OSQLParseNode*& pLiteral);
OSQLParseNode* buildNode_Date(const double& fValue, sal_Int32 nType); OSQLParseNode* buildNode_Date(const double& fValue, sal_Int32 nType);
...@@ -238,9 +238,9 @@ namespace connectivity ...@@ -238,9 +238,9 @@ namespace connectivity
sal_Int16 buildComparsionRule(OSQLParseNode*& pAppend,OSQLParseNode* pLiteral); sal_Int16 buildComparsionRule(OSQLParseNode*& pAppend,OSQLParseNode* pLiteral);
// pCompre will be deleted if it is not used // pCompre will be deleted if it is not used
sal_Int16 buildPredicateRule(OSQLParseNode*& pAppend,OSQLParseNode* pLiteral,OSQLParseNode*& pCompare,OSQLParseNode* pLiteral2 = NULL); sal_Int16 buildPredicateRule(OSQLParseNode*& pAppend,OSQLParseNode* const pLiteral,OSQLParseNode*const & pCompare,OSQLParseNode* pLiteral2 = NULL);
sal_Int16 buildLikeRule(OSQLParseNode*& pAppend,OSQLParseNode*& pLiteral,const OSQLParseNode* pEscape); sal_Int16 buildLikeRule(OSQLParseNode* const& pAppend,OSQLParseNode*& pLiteral,const OSQLParseNode* pEscape);
sal_Int16 buildStringNodes(OSQLParseNode*& pLiteral); sal_Int16 buildStringNodes(OSQLParseNode*& pLiteral);
#else #else
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment