@@ -1546,18 +1546,19 @@ create_clause
15461546 node->createIfNotExistsOnly = $2;
15471547 $$ = node;
15481548 }
1549- | unique_opt order_direction INDEX if_not_exists_opt symbol_index_name ON simple_table_name
1549+ | unique_opt order_direction INDEX if_not_exists_opt symbol_index_name index_active_opt ON simple_table_name
15501550 {
15511551 const auto node = newNode<CreateIndexNode>(*$5);
1552+ node->active = $6;
15521553 node->unique = $1;
15531554 node->descending = $2;
15541555 node->createIfNotExistsOnly = $4;
1555- node->relation = $7 ;
1556+ node->relation = $8 ;
15561557 $$ = node;
15571558 }
1558- index_definition(static_cast<CreateIndexNode*>($8 ))
1559+ index_definition(static_cast<CreateIndexNode*>($9 ))
15591560 {
1560- $$ = $8 ;
1561+ $$ = $9 ;
15611562 }
15621563 | FUNCTION if_not_exists_opt function_clause
15631564 {
@@ -1753,6 +1754,12 @@ alter_exception_clause
17531754
17541755// CREATE INDEX
17551756
1757+ %type <boolVal> index_active_opt
1758+ index_active_opt
1759+ : /* nothing */ { $$ = true; }
1760+ | index_active { $$ = $1; }
1761+ ;
1762+
17561763%type <boolVal> unique_opt
17571764unique_opt
17581765 : /* nothing */ { $$ = false; }
@@ -4676,8 +4683,16 @@ drop_behaviour
46764683
46774684%type <ddlNode> alter_index_clause
46784685alter_index_clause
4679- : symbol_index_name ACTIVE { $$ = newNode<AlterIndexNode>(*$1, true); }
4680- | symbol_index_name INACTIVE { $$ = newNode<AlterIndexNode>(*$1, false); }
4686+ : symbol_index_name index_active
4687+ {
4688+ $$ = newNode<AlterIndexNode>(*$1, $2);
4689+ }
4690+ ;
4691+
4692+ %type <boolVal> index_active
4693+ index_active
4694+ : ACTIVE { $$ = true; }
4695+ | INACTIVE { $$ = false; }
46814696 ;
46824697
46834698%type <ddlNode> alter_udf_clause
0 commit comments