Fix ps prepare stage error 4016
This commit is contained in:
		| @ -449,11 +449,17 @@ int ObRawExprDeduceType::calc_result_type(ObNonTerminalRawExpr &expr, | |||||||
|     } |     } | ||||||
|     if (OB_FAIL(ret) && my_session_->is_ps_prepare_stage()) { |     if (OB_FAIL(ret) && my_session_->is_ps_prepare_stage()) { | ||||||
|       // the ps prepare stage does not do type deduction, and directly gives a default type. |       // the ps prepare stage does not do type deduction, and directly gives a default type. | ||||||
|       result_type.set_type(ObVarcharType); |       result_type.set_varchar(); | ||||||
|       result_type.set_calc_type(ObVarcharType); |       result_type.set_default_collation_type(); | ||||||
|  |       result_type.set_collation_level(CS_LEVEL_IMPLICIT); | ||||||
|  |       result_type.set_calc_type_default_varchar(); | ||||||
|  |       result_type.set_calc_collation_level(CS_LEVEL_IMPLICIT); | ||||||
|       for (int64_t i = 0; i < types.count(); i++) { |       for (int64_t i = 0; i < types.count(); i++) { | ||||||
|         types.at(i).set_type(ObVarcharType); |         types.at(i).set_varchar(); | ||||||
|         types.at(i).set_calc_type(ObVarcharType); |         types.at(i).set_default_collation_type(); | ||||||
|  |         types.at(i).set_collation_level(CS_LEVEL_IMPLICIT); | ||||||
|  |         types.at(i).set_calc_type_default_varchar(); | ||||||
|  |         types.at(i).set_calc_collation_level(CS_LEVEL_IMPLICIT); | ||||||
|       } |       } | ||||||
|       expr.set_result_type(result_type); |       expr.set_result_type(result_type); | ||||||
|       expr.set_input_types(types); |       expr.set_input_types(types); | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 obdev
					obdev