fix stmt print ignore hint bug
This commit is contained in:
		@ -112,6 +112,7 @@ int ObCreateTableExecutor::prepare_ins_arg(ObCreateTableStmt &stmt,
 | 
				
			|||||||
                                          obj_print_params,
 | 
					                                          obj_print_params,
 | 
				
			||||||
                                          param_store,
 | 
					                                          param_store,
 | 
				
			||||||
                                          true);
 | 
					                                          true);
 | 
				
			||||||
 | 
					  select_stmt_printer.set_is_root(true);  // print hint as root stmt
 | 
				
			||||||
  if (OB_ISNULL(buf)) {
 | 
					  if (OB_ISNULL(buf)) {
 | 
				
			||||||
    ret = OB_ALLOCATE_MEMORY_FAILED;
 | 
					    ret = OB_ALLOCATE_MEMORY_FAILED;
 | 
				
			||||||
    LOG_ERROR("allocate memory failed");
 | 
					    LOG_ERROR("allocate memory failed");
 | 
				
			||||||
 | 
				
			|||||||
@ -1548,6 +1548,10 @@ int ObCreateTableResolver::resolve_table_elements_from_select(const ParseNode &p
 | 
				
			|||||||
    if (OB_ISNULL(select_stmt)) {
 | 
					    if (OB_ISNULL(select_stmt)) {
 | 
				
			||||||
      ret = OB_ERR_UNEXPECTED;
 | 
					      ret = OB_ERR_UNEXPECTED;
 | 
				
			||||||
      LOG_WARN("invalid select stmt", K(select_stmt));
 | 
					      LOG_WARN("invalid select stmt", K(select_stmt));
 | 
				
			||||||
 | 
					    } else if (OB_FAIL(params_.query_ctx_->query_hint_.init_query_hint(allocator_,
 | 
				
			||||||
 | 
					                                                                       session_info_,
 | 
				
			||||||
 | 
					                                                                       select_stmt))) {
 | 
				
			||||||
 | 
					      LOG_WARN("failed to init query hint.", K(ret));
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      ObIArray<SelectItem> &select_items = select_stmt->get_select_items();
 | 
					      ObIArray<SelectItem> &select_items = select_stmt->get_select_items();
 | 
				
			||||||
      ObColumnSchemaV2 column;
 | 
					      ObColumnSchemaV2 column;
 | 
				
			||||||
 | 
				
			|||||||
@ -531,6 +531,7 @@ int ObCreateViewResolver::stmt_print(const ObSelectStmt *stmt,
 | 
				
			|||||||
                                      params_.schema_checker_->get_schema_guard(),
 | 
					                                      params_.schema_checker_->get_schema_guard(),
 | 
				
			||||||
                                      obj_print_params, true);
 | 
					                                      obj_print_params, true);
 | 
				
			||||||
      stmt_printer.set_column_list(column_list);
 | 
					      stmt_printer.set_column_list(column_list);
 | 
				
			||||||
 | 
					      stmt_printer.set_is_root(true);  // print hint as root stmt
 | 
				
			||||||
      if (OB_FAIL(stmt_printer.do_print())) {
 | 
					      if (OB_FAIL(stmt_printer.do_print())) {
 | 
				
			||||||
        if (OB_SIZE_OVERFLOW == ret && buf_len < OB_MAX_PACKET_LENGTH) {
 | 
					        if (OB_SIZE_OVERFLOW == ret && buf_len < OB_MAX_PACKET_LENGTH) {
 | 
				
			||||||
          buf_len = std::min(buf_len * 2, OB_MAX_PACKET_LENGTH);
 | 
					          buf_len = std::min(buf_len * 2, OB_MAX_PACKET_LENGTH);
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user