diff --git a/src/sql/resolver/ddl/ob_alter_table_resolver.cpp b/src/sql/resolver/ddl/ob_alter_table_resolver.cpp index 634b33d0ae..a35b2810ec 100644 --- a/src/sql/resolver/ddl/ob_alter_table_resolver.cpp +++ b/src/sql/resolver/ddl/ob_alter_table_resolver.cpp @@ -872,6 +872,7 @@ int ObAlterTableResolver::resolve_action_list(const ParseNode &node) int64_t external_table_accept_options[] = { T_ALTER_REFRESH_EXTERNAL_TABLE, T_ALTER_EXTERNAL_PARTITION_OPTION, T_TABLE_OPTION_LIST, T_ALTER_TABLE_OPTION}; for (int64_t i = 0; OB_SUCC(ret) && i < node.num_child_; ++i) { + reset(); ParseNode *action_node = node.children_[i]; if (OB_ISNULL(action_node)) { ret = OB_ERR_UNEXPECTED; @@ -2048,6 +2049,8 @@ int ObAlterTableResolver::resolve_add_index(const ParseNode &node) } } if (OB_SUCCESS == ret) { + //reset the table options before parsing + index_scope_ = NOT_SPECIFIED; if (NULL != table_option_node) { has_index_using_type_ = false; if (OB_FAIL(resolve_table_options(table_option_node, true))) {