asterixdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From abdullah alamoudi <bamou...@gmail.com>
Subject ILogicalOperator.isMap
Date Sun, 03 Sep 2017 17:45:46 GMT
Dear devs,
I was going over implementations of ILogicalOperator.isMap in our code base and here is the
breakdown:

isMap()

true:
-Assign
-AbstractReplicateOperator
-AbstractUnnestOperator
-ExchangeOperator
-InsertDeleteUpsertOperator
-LimitOperator
-ProjectOperator
-SelectOperator



false:
-Order
-Aggregate
-RunningAggregate
-AbstractBinaryJoin
-AbstractOperatorWithNestedPlans
-DataSourceScanOperator
-DistinctOperator
-DistributeResultOperator
-EmptyTupleSourceOperator
-IndexInsertDeleteUpsertOperator
-IntersectOperator
-MaterializeOperator
-NestedTupleSourceOperator
-ScriptOperator
-SinkOperator
-TokenizeOperator
-UnionAllOperator
-WriteOperator
-WriteResultOperator

As I understood at some point is that isMap means (does this operator map input tuples to
output tuples without blocking?). I am not sure how accurate this description is but it clearly
introduces a problem as:

* InsertDeleteUpsertOperator.isMap() -> true
* IndexInsertDeleteUpsertOperator.isMap() -> false

Moreover, 
TokenizeOperator.isMap() -> false
AbstractUnnestOperator.isMap() -> true

while clearly, as per the definition above, these two operators should have the same output:
true

Can someone solve the mystery?
Once this is solved, I will add a wiki entry to explain this flag.

Cheers,
Abdullah.
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message