@@ -5638,13 +5638,27 @@ comment
56385638 { $$ = newNode<CommentOnNode>($3, *$4, *$5, *$7); }
56395639 | COMMENT ON ddl_type4 ddl_qualified_name IS ddl_desc
56405640 { $$ = newNode<CommentOnNode>($3, *$4, "", *$6); }
5641- | COMMENT ON USER symbol_user_name IS ddl_desc
5642- {
5643- CreateAlterUserNode* node =
5644- newNode<CreateAlterUserNode>(CreateAlterUserNode::USER_MOD, *$4);
5645- node->comment = $6;
5646- $$ = node;
5647- }
5641+ | comment_on_user
5642+ { $$ = $1; }
5643+ ;
5644+
5645+ %type <createAlterUserNode> comment_on_user
5646+ comment_on_user
5647+ : COMMENT ON USER symbol_user_name
5648+ {
5649+ $$ = newNode<CreateAlterUserNode>(CreateAlterUserNode::USER_MOD, *$4);
5650+ }
5651+ opt_use_plugin($5) IS ddl_desc
5652+ {
5653+ CreateAlterUserNode* node = $$ = $5;
5654+ node->comment = $8;
5655+ }
5656+ ;
5657+
5658+ %type opt_use_plugin(<createAlterUserNode>)
5659+ opt_use_plugin($node)
5660+ : // nothing
5661+ | use_plugin($node)
56485662 ;
56495663
56505664%type <intVal> ddl_type0
@@ -7160,11 +7174,16 @@ user_fixed_option($node)
71607174 | REVOKE ADMIN ROLE { setClause($node->adminRole, "ADMIN ROLE", false); }
71617175 | ACTIVE { setClause($node->active, "ACTIVE/INACTIVE", true); }
71627176 | INACTIVE { setClause($node->active, "ACTIVE/INACTIVE", false); }
7163- | USING PLUGIN valid_symbol_name
7164- { setClause($node->plugin, "USING PLUGIN", $3); }
7177+ | use_plugin($node)
71657178 | TAGS '(' user_var_list($node) ')'
71667179 ;
71677180
7181+ %type use_plugin(<createAlterUserNode>)
7182+ use_plugin($node)
7183+ : USING PLUGIN valid_symbol_name
7184+ { setClause($node->plugin, "USING PLUGIN", $3); }
7185+ ;
7186+
71687187%type user_var_list(<createAlterUserNode>)
71697188user_var_list($node)
71707189 : user_var_option($node)
0 commit comments