fix view column nullable deduce wrong
This commit is contained in:
		 18523270951@163.com
					18523270951@163.com
				
			
				
					committed by
					
						 ob-robot
						ob-robot
					
				
			
			
				
	
			
			
			 ob-robot
						ob-robot
					
				
			
						parent
						
							5ad1102423
						
					
				
				
					commit
					b5792241c1
				
			
							
								
								
									
										2
									
								
								deps/oblib/src/common/row/ob_row_store.cpp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								deps/oblib/src/common/row/ob_row_store.cpp
									
									
									
									
										vendored
									
									
								
							| @ -748,7 +748,7 @@ int ObRowStore::add_row_by_projector(const ObNewRow &row, | ||||
|         break;                  // done | ||||
|       } | ||||
|     } // end while | ||||
|     if (3 < retry) { | ||||
|     if (OB_SUCC(ret) && 3 < retry) { | ||||
|       ret = OB_ERR_UNEXPECTED; | ||||
|       OB_LOG(ERROR, "unexpected branch"); | ||||
|     } | ||||
|  | ||||
| @ -1225,9 +1225,7 @@ int ObCreateViewResolver::add_column_infos(const uint64_t tenant_id, | ||||
|   int64_t cur_column_id = OB_APP_MIN_COLUMN_ID; | ||||
|   uint64_t data_version = 0; | ||||
|   share::schema::ObSchemaGetterGuard schema_guard; | ||||
|   if (OB_FAIL(GCTX.schema_service_->get_tenant_schema_guard(tenant_id, schema_guard))) { | ||||
|     LOG_WARN("fail to get schema guard", K(ret)); | ||||
|   } else if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, data_version))) { | ||||
|   if (OB_FAIL(GET_MIN_DATA_VERSION(tenant_id, data_version))) { | ||||
|     LOG_WARN("failed to get data version", K(ret)); | ||||
|   } else if (data_version >= DATA_VERSION_4_1_0_0) { | ||||
|     if (!column_list.empty() && OB_UNLIKELY(column_list.count() != select_items.count())) { | ||||
| @ -1258,8 +1256,6 @@ int ObCreateViewResolver::add_column_infos(const uint64_t tenant_id, | ||||
|                  OB_FAIL(resolve_column_default_value(&select_stmt, select_item, column, alloc, session_info))) { | ||||
|         // oracle mode has default expr value, not support now | ||||
|         LOG_WARN("add column to table_schema failed", K(ret), K(column)); | ||||
|       } else if (OB_FAIL(resolve_columns_nullable_value(&select_stmt, select_item, column, alloc, session_info, &schema_guard))){ | ||||
|         LOG_WARN("failed to add column nullable info", K(ret)); | ||||
|       } else if (OB_FAIL(table_schema.add_column(column))) { | ||||
|         LOG_WARN("add column to table_schema failed", K(ret), K(column)); | ||||
|       } else { | ||||
| @ -1288,6 +1284,7 @@ int ObCreateViewResolver::fill_column_meta_infos(const ObRawExpr &expr, | ||||
|   column.set_collation_type(expr.get_collation_type()); | ||||
|   column.set_accuracy(expr.get_accuracy()); | ||||
|   column.set_zero_fill(expr.get_result_type().has_result_flag(ZEROFILL_FLAG)); | ||||
|   column.set_nullable(expr.get_result_type().is_not_null_for_read() ? false : true); | ||||
|   if (OB_FAIL(ret)) { | ||||
|   } else if (column.is_enum_or_set() && OB_FAIL(column.set_extended_type_info(expr.get_enum_set_values()))) { | ||||
|     LOG_WARN("set enum or set info failed", K(ret), K(expr)); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user