User: hr Date: 2007-09-26 14:31:30+0000 Modified: dba/connectivity/source/parse/sqlbison.y
Log: INTEGRATION: CWS dba24a (1.56.56); FILE MERGED 2007/08/28 05:28:46 oj 1.56.56.6: #i81031# impl roundmagic 2007/08/13 05:28:55 oj 1.56.56.5: RESYNC: (1.56-1.57); FILE MERGED 2007/08/10 10:43:03 oj 1.56.56.4: #i69054# fix log 2007/08/09 11:04:30 oj 1.56.56.3: #i69055# extend convert function 2007/08/09 10:38:47 oj 1.56.56.2: #i69056# add date field to extract 2007/08/06 07:26:51 oj 1.56.56.1: #i70081# impl datediff 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.57&r2=1.58 Delta lines: +22 -6 -------------------- --- sqlbison.y 2007-07-31 13:38:53+0000 1.57 +++ sqlbison.y 2007-09-26 14:31:27+0000 1.58 @@ -188,13 +188,13 @@ /* time and date functions */ %token <pParseNode> SQL_TOKEN_CURRENT_DATE SQL_TOKEN_CURRENT_TIME SQL_TOKEN_CURRENT_TIMESTAMP SQL_TOKEN_CURDATE SQL_TOKEN_CURTIME %token <pParseNode> SQL_TOKEN_DAYNAME SQL_TOKEN_DAYOFMONTH SQL_TOKEN_DAYOFWEEK SQL_TOKEN_DAYOFYEAR SQL_TOKEN_EXTRACT -%token <pParseNode> SQL_TOKEN_HOUR SQL_TOKEN_MINUTE SQL_TOKEN_MONTH SQL_TOKEN_MONTHNAME SQL_TOKEN_NOW SQL_TOKEN_QUARTER +%token <pParseNode> SQL_TOKEN_HOUR SQL_TOKEN_MINUTE SQL_TOKEN_MONTH SQL_TOKEN_MONTHNAME SQL_TOKEN_NOW SQL_TOKEN_QUARTER SQL_TOKEN_DATEDIFF %token <pParseNode> SQL_TOKEN_SECOND SQL_TOKEN_TIMESTAMPADD SQL_TOKEN_TIMESTAMPDIFF SQL_TOKEN_TIMEVALUE SQL_TOKEN_WEEK SQL_TOKEN_YEAR /* numeric functions */ %token <pParseNode> SQL_TOKEN_ABS SQL_TOKEN_ACOS SQL_TOKEN_ASIN SQL_TOKEN_ATAN SQL_TOKEN_ATAN2 SQL_TOKEN_CEILING -%token <pParseNode> SQL_TOKEN_COS SQL_TOKEN_COT SQL_TOKEN_DEGREES SQL_TOKEN_EXP SQL_TOKEN_DIV SQL_TOKEN_FLOOR SQL_TOKEN_LOGF SQL_TOKEN_LN -%token <pParseNode> SQL_TOKEN_LOG10 SQL_TOKEN_MOD SQL_TOKEN_PI SQL_TOKEN_POWER SQL_TOKEN_RADIANS SQL_TOKEN_RAND +%token <pParseNode> SQL_TOKEN_COS SQL_TOKEN_COT SQL_TOKEN_DEGREES SQL_TOKEN_EXP SQL_TOKEN_DIV SQL_TOKEN_FLOOR SQL_TOKEN_LOGF SQL_TOKEN_LOG SQL_TOKEN_LN +%token <pParseNode> SQL_TOKEN_LOG10 SQL_TOKEN_MOD SQL_TOKEN_PI SQL_TOKEN_POWER SQL_TOKEN_RADIANS SQL_TOKEN_RAND SQL_TOKEN_ROUNDMAGIC %token <pParseNode> SQL_TOKEN_ROUND SQL_TOKEN_SIGN SQL_TOKEN_SIN SQL_TOKEN_SQRT SQL_TOKEN_TAN SQL_TOKEN_TRUNCATE @@ -252,7 +252,7 @@ %type <pParseNode> form_conversion char_translation trim_fct trim_operands trim_spec bit_value_fct bit_substring_fct op_column_commalist %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 +%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> /*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 @@ -1688,6 +1688,7 @@ ; extract_field: time_zone_field + | datetime_field | value_exp ; time_zone_field: @@ -1844,12 +1845,14 @@ SQL_TOKEN_ROUND | SQL_TOKEN_WEEK | SQL_TOKEN_LOGF + | SQL_TOKEN_LOG ; function_name23: SQL_TOKEN_LOCATE ; function_name3: string_function_3Argument + | date_function_3Argument ; function_name: string_function @@ -1907,6 +1910,8 @@ | SQL_TOKEN_TIMEVALUE | SQL_TOKEN_DATEVALUE ; +date_function_3Argument: + SQL_TOKEN_DATEDIFF date_function: SQL_TOKEN_TIMESTAMPADD @@ -1933,6 +1938,7 @@ | SQL_TOKEN_LOG10 | SQL_TOKEN_LN | SQL_TOKEN_RADIANS + | SQL_TOKEN_ROUNDMAGIC ; numeric_function_2Argument: SQL_TOKEN_ATAN2 @@ -2805,6 +2811,16 @@ $$->append($5); $$->append($6 = newNode(")", SQL_NODE_PUNCTUATION)); } + | SQL_TOKEN_CONVERT '(' cast_operand ',' cast_target ')' + { + $$ = SQL_NEW_RULE; + $$->append($1); + $$->append($2 = newNode("(", SQL_NODE_PUNCTUATION)); + $$->append($3); + $$->append($2 = newNode(",", SQL_NODE_PUNCTUATION)); + $$->append($5); + $$->append($6 = newNode(")", SQL_NODE_PUNCTUATION)); + } ; char_translation: SQL_TOKEN_TRANSLATE '(' string_value_exp SQL_TOKEN_USING table_node ')' --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
