Added the ability for connectors to indicate source partitions that make it to a given target
git-svn-id: https://hyracks.googlecode.com/svn/branches/hyracks_dev_next@1212 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/dataflow/IConnectorDescriptor.java b/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/dataflow/IConnectorDescriptor.java
index c816d26..0ac3658 100644
--- a/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/dataflow/IConnectorDescriptor.java
+++ b/hyracks-api/src/main/java/edu/uci/ics/hyracks/api/dataflow/IConnectorDescriptor.java
@@ -105,6 +105,12 @@
BitSet targetBitmap);
/**
+ * Indicate which producer partitions are required for the given receiver.
+ */
+ public void indicateSourcePartitions(int nProducerPartitions, int nConsumerPartitions, int consumerIndex,
+ BitSet sourceBitmap);
+
+ /**
* Gets the display name.
*/
public String getDisplayName();
diff --git a/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractMToNConnectorDescriptor.java b/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractMToNConnectorDescriptor.java
index aa550ae..ae1ead5 100644
--- a/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractMToNConnectorDescriptor.java
+++ b/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractMToNConnectorDescriptor.java
@@ -31,4 +31,11 @@
targetBitmap.clear();
targetBitmap.set(0, nConsumerPartitions);
}
+
+ @Override
+ public void indicateSourcePartitions(int nProducerPartitions, int nConsumerPartitions, int consumerIndex,
+ BitSet sourceBitmap) {
+ sourceBitmap.clear();
+ sourceBitmap.set(0, nProducerPartitions);
+ }
}
\ No newline at end of file
diff --git a/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/connectors/OneToOneConnectorDescriptor.java b/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/connectors/OneToOneConnectorDescriptor.java
index 67130c9..7c227e2 100644
--- a/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/connectors/OneToOneConnectorDescriptor.java
+++ b/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/connectors/OneToOneConnectorDescriptor.java
@@ -72,4 +72,11 @@
targetBitmap.clear();
targetBitmap.set(producerIndex);
}
+
+ @Override
+ public void indicateSourcePartitions(int nProducerPartitions, int nConsumerPartitions, int consumerIndex,
+ BitSet sourceBitmap) {
+ sourceBitmap.clear();
+ sourceBitmap.set(consumerIndex);
+ }
}
\ No newline at end of file