anchor.diff:      ;
   
   pivot_clause
  -    : PIVOT XML? '(' (','? pivot_element)+ pivot_for_clause pivot_in_clause ')'
  +    : PIVOT XML? '(' pivot_element (',' pivot_element)* pivot_for_clause pivot_in_clause ')'
       ;
   
   pivot_element
  
positive.code: 
  system_partitioning
      : PARTITION BY SYSTEM
         (PARTITIONS UNSIGNED_INTEGER | (','? reference_partition_desc)+)?
      ;
  
  range_partition_desc
      : PARTITION partition_name? range_values_clause table_partition_description
          ( ( '(' ( (','? range_subpartition_desc)+
                  | (','? list_subpartition_desc)+
                  | (','? individual_hash_subparts)+
                  )
              ')'
            | hash_subparts_by_quantity
  
negative.code:     ;
  
  function_argument
      : '(' argument? (',' argument)* ')' keep_clause?
      ;
  
  function_argument_analytic
      : '(' (argument respect_or_ignore_nulls?)? (',' argument respect_or_ignore_nulls?)* ')' keep_clause?
      ;
  
  function_argument_modeling
      : '(' column_name (',' (numeric | NULL_) (',' (numeric | NULL_))?)?
        USING (tableview_name '.' ASTERISK | ASTERISK | expression column_alias? (',' expression column_alias?)*)
        ')' keep_clause?
      ;
  
  