private class BufferImpl.FillWorker
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private logical |
fillOk
FILL result
|
private boolean |
isAppend
FILL in append mode flag
|
private boolean |
isMerge
FILL in merge mode flag
|
private boolean |
isReplace
FILL in replace mode flag
|
private RecordBuffer |
recBuf
Target record buffer
|
private handle |
self
Buffer handle
|
private BufferImpl |
selfBuf
Buffer reference
|
private int |
srcBufCount
Number of source buffers
|
private BufferImpl[] |
srcBuffs
Source buffers
|
| Modifier | Constructor and Description |
|---|---|
private |
FillWorker() |
| Modifier and Type | Method and Description |
|---|---|
logical |
fill()
Fill the target DATA-SET.
|
private boolean |
fillRow(P2JQuery fillQuery,
logical hasMore,
RecordBuffer dstBuffer,
java.util.Map<java.lang.String,BufferImpl.FieldStructure> fields)
Populate the target record by iterating the data-source mapping and copying values between paired
fields.
|
private void |
flushAll()
Flush buffers
|
private void |
initBuffers()
Initialize buffers
|
private void |
processDataSource(P2JQuery fillQuery,
java.util.List<DataRelation> childRelations,
boolean open,
boolean close)
Process the DATA-SOURCE.
|
private java.lang.Boolean |
secondPassRequired(DataRelation relation,
P2JQuery fillQuery)
Check if second pass is required (for recursive relation)
|
private final BufferImpl selfBuf
private final handle self
private final logical fillOk
private final boolean isAppend
private final boolean isMerge
private final boolean isReplace
private int srcBufCount
private BufferImpl[] srcBuffs
private RecordBuffer recBuf
public logical fill()
private java.lang.Boolean secondPassRequired(DataRelation relation, P2JQuery fillQuery)
relation - The relation to be processed.fillQuery - The source query for the FILL operation.Boolean.TRUE if second pass is required.private void processDataSource(P2JQuery fillQuery, java.util.List<DataRelation> childRelations, boolean open, boolean close)
fillQuery - The source query for the FILL operation.childRelations - The list of child relations.open - Flag indicating that the fill query needs to be opened.close - Flag indicating that the fill query needs to be closed.private void initBuffers()
private boolean fillRow(P2JQuery fillQuery, logical hasMore, RecordBuffer dstBuffer, java.util.Map<java.lang.String,BufferImpl.FieldStructure> fields)
fillQuery - The source query.hasMore - Flag indicating that more records are available.dstBuffer - The destination record buffer.fields - A map of resolved BufferImpl.FieldStructure for each destination field.true on success.private void flushAll()