public boolean isCompatibleWith( Partitioning right, Function<Symbol, Set<Symbol>> leftToRightMappings, Function<Symbol, Optional<NullableValue>> leftConstantMapping, Function<Symbol, Optional<NullableValue>> rightConstantMapping, Metadata metadata, Session session) { if (!handle.equals(right.handle) && !metadata.getCommonPartitioning(session, handle, right.handle).isPresent()) { return false; } if (arguments.size() != right.arguments.size()) { return false; } for (int i = 0; i < arguments.size(); i++) { ArgumentBinding leftArgument = arguments.get(i); ArgumentBinding rightArgument = right.arguments.get(i); if (!isPartitionedWith(leftArgument, leftConstantMapping, rightArgument, rightConstantMapping, leftToRightMappings)) { return false; } } return true; }
public boolean isCompatibleWith( Partitioning right, Function<Symbol, Set<Symbol>> leftToRightMappings, Function<Symbol, Optional<NullableValue>> leftConstantMapping, Function<Symbol, Optional<NullableValue>> rightConstantMapping, Metadata metadata, Session session) { if (!handle.equals(right.handle) && !metadata.getCommonPartitioning(session, handle, right.handle).isPresent()) { return false; } if (arguments.size() != right.arguments.size()) { return false; } for (int i = 0; i < arguments.size(); i++) { ArgumentBinding leftArgument = arguments.get(i); ArgumentBinding rightArgument = right.arguments.get(i); if (!isPartitionedWith(leftArgument, leftConstantMapping, rightArgument, rightConstantMapping, leftToRightMappings)) { return false; } } return true; }