exposed IHyracksTaskContext to op callbacks through IOperationCallbackProvider
git-svn-id: https://hyracks.googlecode.com/svn/branches/hyracks_lsm_tree@1909 123451ca-8445-de46-9d55-352943316053
diff --git a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/api/IOperationCallbackProvider.java b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/api/IOperationCallbackProvider.java
index d3919e3..f579af5 100644
--- a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/api/IOperationCallbackProvider.java
+++ b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/api/IOperationCallbackProvider.java
@@ -2,8 +2,10 @@
import java.io.Serializable;
-public interface IOperationCallbackProvider extends Serializable {
- public IModificationOperationCallback getModificationOperationCallback(long resourceId);
+import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
- public ISearchOperationCallback getSearchOperationCallback(long resourceId);
+public interface IOperationCallbackProvider extends Serializable {
+ public IModificationOperationCallback getModificationOperationCallback(long resourceId, IHyracksTaskContext ctx);
+
+ public ISearchOperationCallback getSearchOperationCallback(long resourceId, IHyracksTaskContext ctx);
}
diff --git a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/IndexInsertUpdateDeleteOperatorNodePushable.java b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/IndexInsertUpdateDeleteOperatorNodePushable.java
index 2ccfdc7..12358a5 100644
--- a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/IndexInsertUpdateDeleteOperatorNodePushable.java
+++ b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/IndexInsertUpdateDeleteOperatorNodePushable.java
@@ -67,7 +67,8 @@
indexHelper.open();
IIndex index = indexHelper.getIndexInstance();
try {
- modCallback = opDesc.getOpCallbackProvider().getModificationOperationCallback(indexHelper.getResourceID());
+ modCallback = opDesc.getOpCallbackProvider().getModificationOperationCallback(indexHelper.getResourceID(),
+ ctx);
indexAccessor = index.createAccessor(modCallback, NoOpOperationCallback.INSTANCE);
ITupleFilterFactory tupleFilterFactory = opDesc.getTupleFilterFactory();
if (tupleFilterFactory != null) {
diff --git a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java
index 390cbbc..1771140 100644
--- a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java
+++ b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/IndexSearchOperatorNodePushable.java
@@ -87,7 +87,7 @@
appender = new FrameTupleAppender(ctx.getFrameSize());
appender.reset(writeBuffer, true);
ISearchOperationCallback searchCallback = opDesc.getOpCallbackProvider().getSearchOperationCallback(
- indexHelper.getResourceID());
+ indexHelper.getResourceID(), ctx);
indexAccessor = index.createAccessor(NoOpOperationCallback.INSTANCE, searchCallback);
cursor = createCursor();
if (retainInput) {
diff --git a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java
index e8e5410..540a43e 100644
--- a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java
+++ b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/dataflow/TreeIndexDiskOrderScanOperatorNodePushable.java
@@ -53,7 +53,7 @@
ITreeIndexFrame cursorFrame = treeIndex.getLeafFrameFactory().createFrame();
ITreeIndexCursor cursor = treeIndexHelper.createDiskOrderScanCursor(cursorFrame);
ISearchOperationCallback searchCallback = opDesc.getOpCallbackProvider().getSearchOperationCallback(
- treeIndexHelper.getResourceID());
+ treeIndexHelper.getResourceID(), ctx);
ITreeIndexAccessor indexAccessor = (ITreeIndexAccessor) treeIndex.createAccessor(
NoOpOperationCallback.INSTANCE, searchCallback);
writer.open();
diff --git a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/impls/NoOpOperationCallbackProvider.java b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/impls/NoOpOperationCallbackProvider.java
index 102beec..25c2fdb 100644
--- a/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/impls/NoOpOperationCallbackProvider.java
+++ b/hyracks-storage-am-common/src/main/java/edu/uci/ics/hyracks/storage/am/common/impls/NoOpOperationCallbackProvider.java
@@ -1,5 +1,6 @@
package edu.uci.ics.hyracks.storage.am.common.impls;
+import edu.uci.ics.hyracks.api.context.IHyracksTaskContext;
import edu.uci.ics.hyracks.storage.am.common.api.IModificationOperationCallback;
import edu.uci.ics.hyracks.storage.am.common.api.IOperationCallbackProvider;
import edu.uci.ics.hyracks.storage.am.common.api.ISearchOperationCallback;
@@ -14,12 +15,12 @@
INSTANCE;
@Override
- public IModificationOperationCallback getModificationOperationCallback(long resourceId) {
+ public IModificationOperationCallback getModificationOperationCallback(long resourceId, IHyracksTaskContext ctx) {
return NoOpOperationCallback.INSTANCE;
}
@Override
- public ISearchOperationCallback getSearchOperationCallback(long resourceId) {
+ public ISearchOperationCallback getSearchOperationCallback(long resourceId, IHyracksTaskContext ctx) {
return NoOpOperationCallback.INSTANCE;
}
}