User: rt      
Date: 2008-06-16 12:11:33+0000
Modified:
   dba/connectivity/source/parse/sqlbison.y

Log:
 INTEGRATION: CWS rptchart02 (1.63.18); FILE MERGED
 2008/05/23 08:26:43 oj 1.63.18.2: #i84290# change sql rule table_ref
 2008/05/20 08:29:11 oj 1.63.18.1: #i84290# range_variable changed

File Changes:

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

File [changed]: sqlbison.y
Url: 
http://dba.openoffice.org/source/browse/dba/connectivity/source/parse/sqlbison.y?r1=1.64&r2=1.65
Delta lines:  +33 -43
---------------------
--- sqlbison.y  2008-06-06 16:32:36+0000        1.64
+++ sqlbison.y  2008-06-16 12:11:30+0000        1.65
@@ -268,11 +268,11 @@
 %type <pParseNode> /*bit_concatenation*/ bit_value_exp bit_factor bit_primary 
collate_clause char_value_fct unique_spec value_exp_commalist 
in_predicate_value unique_test update_source 
 %type <pParseNode> function_arg_commalist3 string_function_3Argument 
function_arg_commalist4 string_function_4Argument function_arg_commalist2 
string_function_1Argument string_function_2Argument
 %type <pParseNode> date_function_0Argument date_function_1Argument 
function_name12 function_name23 function_name1 function_name2 function_name3 
function_name0 numeric_function_0Argument numeric_function_1Argument 
numeric_function_2Argument date_function_3Argument
-%type <pParseNode> all query_primary as sql_not for_length upper_lower 
comparison column_val  cross_union /*opt_schema_element_list*/
+%type <pParseNode> all query_primary sql_not for_length upper_lower comparison 
column_val  cross_union /*opt_schema_element_list*/
 %type <pParseNode> /*op_authorization op_schema*/ nil_fkt schema_element 
base_table_def base_table_element base_table_element_commalist
 %type <pParseNode> column_def odbc_fct_spec    odbc_call_spec odbc_fct_type 
op_parameter union_statement
 %type <pParseNode> op_odbc_call_parameter odbc_parameter_commalist 
odbc_parameter function_args_commalist function_arg
-%type <pParseNode> catalog_name schema_name table_node numeric_function 
string_function function_name date_function
+%type <pParseNode> catalog_name schema_name table_node numeric_function 
string_function function_name date_function table_primary_as_range_column opt_as
 %%
 
 /* Parse Tree an OSQLParser zurueckliefern
@@ -904,12 +904,7 @@
                        $$ = SQL_NEW_RULE;
                        $$->append($1);
                }
-/*      | joined_table
-               {
-                       $$ = SQL_NEW_RULE;
-                       $$->append($1);
-               }
-*/     ;
+    ;
 /* SELECT STATEMENT */
 select_statement:
                SQL_TOKEN_SELECT opt_all_distinct selection table_exp
@@ -953,6 +948,7 @@
        ;
 
 table_ref_commalist:
+
                table_ref
                        {$$ = SQL_NEW_COMMALISTRULE;
                        $$->append($1);}
@@ -960,38 +956,34 @@
                        {$1->append($3);
                        $$ = $1;}
        ;
-as:
-               {$$ = SQL_NEW_RULE;}
+
+opt_as:
+               /* empty */ {$$ = SQL_NEW_RULE;}
        |       SQL_TOKEN_AS
-               {
-                       $$ = SQL_NEW_RULE;
+       ;
+table_primary_as_range_column:
+        {$$ = SQL_NEW_RULE;}
+       |   opt_as SQL_TOKEN_NAME op_column_commalist
+               {$$ = SQL_NEW_RULE;
+                   $$->append($1);
+                   $$->append($2);
+                       $$->append($3);
                }
        ;
 table_ref:
-               table_node
+        table_node table_primary_as_range_column
                {
                        $$ = SQL_NEW_RULE;
                        $$->append($1);
+                       $$->append($2);
                }
-       |       table_node as range_variable op_column_commalist
+       |   subquery range_variable op_column_commalist
                {
                        $$ = SQL_NEW_RULE;
                        $$->append($1);
                        $$->append($2);
                        $$->append($3);
-                       $$->append($4);
-               }
-       |       '(' joined_table ')' as range_variable op_column_commalist
-               {
-                       $$ = SQL_NEW_RULE;
-                       $$->append($1 = newNode("(", SQL_NODE_PUNCTUATION));
-                       $$->append($2);
-                       $$->append($3 = newNode(")", SQL_NODE_PUNCTUATION));
-                       $$->append($4);
-                       $$->append($5);
-                       $$->append($6);
                }
-       |       joined_table
        |       '{' SQL_TOKEN_OJ joined_table '}'
                {
                        $$ = SQL_NEW_RULE;
@@ -1000,12 +992,14 @@
                        $$->append($3);
                        $$->append($4 = newNode("}", SQL_NODE_PUNCTUATION));
                }
-       |   subquery as range_variable
+    |  '(' joined_table ')' range_variable op_column_commalist
                {
                        $$ = SQL_NEW_RULE;
-                       $$->append($1);
+                       $$->append($1 = newNode("(", SQL_NODE_PUNCTUATION));
                        $$->append($2);
-                       $$->append($3);
+                       $$->append($3 = newNode(")", SQL_NODE_PUNCTUATION));
+                       $$->append($4);
+                       $$->append($5);
                }
        ;
 where_clause:
@@ -2116,15 +2110,6 @@
        ;
 joined_table:
                qualified_join
-/*     |       query_exp*/
-       |       '(' joined_table ')'
-               {
-                       $$ = SQL_NEW_RULE;
-                       $$->append($1 = newNode("(", SQL_NODE_PUNCTUATION));
-                       $$->append($2);
-                       $$->append($3 = newNode(")", SQL_NODE_PUNCTUATION));
-               }
-
        ;
 named_columns_join:
                SQL_TOKEN_USING '(' column_commalist ')'
@@ -2164,7 +2149,6 @@
        ;
 query_primary:
                non_join_query_primary
-        /*|    joined_table*/
        ;
 non_join_query_exp:
                non_join_query_term
@@ -3090,7 +3074,13 @@
        ;
 ***/
 
-range_variable: SQL_TOKEN_NAME
+range_variable: 
+        {$$ = SQL_NEW_RULE;}
+    |   opt_as SQL_TOKEN_NAME
+        {$$ = SQL_NEW_RULE;
+        $$->append($1);
+        $$->append($2);
+        }
        ;
 
 user:  SQL_TOKEN_NAME




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

Reply via email to