anchor.diff:      ;
   
   precision_part
  -    : '(' (numeric | '*') (',' numeric)? (CHAR | BYTE)? ')'
  +    : '(' (numeric | ASTERISK) (',' numeric)? (CHAR | BYTE)? ')'
       ;
   
   native_datatype_element
  
positive.code: other_function
      : over_clause_keyword function_argument_analytic over_clause?
      | /*TODO stantard_function_enabling_using*/ regular_id function_argument_modeling using_clause?
      | COUNT '(' ( '*' | (DISTINCT | UNIQUE | ALL)? concatenation) ')' over_clause?
      | (CAST | XMLCAST) '(' (MULTISET '(' subquery ')' | concatenation) AS type_spec ')'
      | COALESCE '(' table_element (',' (numeric | quoted_string))? ')'
      | COLLECT '(' (DISTINCT | UNIQUE)? concatenation collect_order_by_part? ')'
  
negative.code:     ;
  
  select_list_elements
      : tableview_name '.' ASTERISK
      | (regular_id '.')? expressions
      ;
  
  