anchor.diff:      @init {
           cql3::role_options opts;
       }
  -    : K_ALTER K_USER username
  +    : K_ALTER K_USER u=username
         ( K_WITH K_PASSWORD v=STRING_LITERAL { opts.password = $v.text; })?
         ( K_SUPERUSER { opts.is_superuser = true; } | K_NOSUPERUSER { opts.is_superuser = false; } )?
  -      { $stmt = ::make_shared<alter_role_statement>(cql3::role_name($username.text, cql3::preserve_role_case::yes), std::move(opts)); }
  +      { $stmt = ::make_shared<alter_role_statement>(cql3::role_name(u, cql3::preserve_role_case::yes), std::move(opts)); }
       ;
   
   /**
  
positive.code:       '>' { $t = cql3::cql3_type::raw::tuple(std::move(types)); }
      ;
  
  username
      : IDENT
      | STRING_LITERAL
      | QUOTED_NAME { add_recognition_error("Quoted strings are not supported for user names"); }
      ;
  
  
negative.code:  */
  dropUserStatement returns [::shared_ptr<drop_role_statement> stmt]
      @init { bool ifExists = false; }
      : K_DROP K_USER (K_IF K_EXISTS { ifExists = true; })? u=username
        { $stmt = ::make_shared<drop_role_statement>(cql3::role_name(u, cql3::preserve_role_case::yes), ifExists); }
      ;
  
  /**
  