public abstract class JoinTemplate extends Object implements JoinWorker
JoinWorker.JoinOutcomeTEMPLATE_DEFINITION| Constructor and Description |
|---|
JoinTemplate() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract int |
doCompare(int leftIndex,
int rightIndex)
Compare the values of the left and right join key to determine whether the left is less than, greater than
or equal to the right.
|
abstract void |
doCopyLeft(int leftIndex,
int outIndex)
Copy the data to the new record batch (if it fits).
|
abstract void |
doCopyRight(int rightIndex,
int outIndex) |
boolean |
doJoin(JoinStatus status)
Copy rows from the input record batches until the output record batch is full
|
abstract void |
doSetup(FragmentContext context,
JoinStatus status,
VectorContainer outgoing) |
void |
setupJoin(FragmentContext context,
JoinStatus status,
VectorContainer outgoing) |
public void setupJoin(FragmentContext context, JoinStatus status, VectorContainer outgoing) throws SchemaChangeException
setupJoin in interface JoinWorkerSchemaChangeExceptionpublic final boolean doJoin(JoinStatus status)
doJoin in interface JoinWorkerstatus - State of the join operation (persists across multiple record batches/schema changes)public abstract void doSetup(@Named(value="context")
FragmentContext context,
@Named(value="status")
JoinStatus status,
@Named(value="outgoing")
VectorContainer outgoing)
throws SchemaChangeException
SchemaChangeExceptionpublic abstract void doCopyLeft(@Named(value="leftIndex")
int leftIndex,
@Named(value="outIndex")
int outIndex)
leftIndex - position of batch (lower 16 bits) and record (upper 16 bits) in left SV4outIndex - position of the output record batchpublic abstract void doCopyRight(@Named(value="rightIndex")
int rightIndex,
@Named(value="outIndex")
int outIndex)
protected abstract int doCompare(@Named(value="leftIndex")
int leftIndex,
@Named(value="rightIndex")
int rightIndex)
leftIndex - rightIndex - Copyright © 2017 The Apache Software Foundation. All rights reserved.