public interface UploadMatcher
The details of the methods are specified so that input can be streamed and output can be stored, with a final result table re-using table data from a reference input table that may have columns other than those represented by the cone sequence. It is also amenable to chunking the queries and responses.
Modifier and Type | Method and Description |
---|---|
ColumnPlan |
getColumnPlan(ColumnInfo[] resultCols,
ColumnInfo[] uploadCols)
Returns an object that understands what columns are where in an
output table generated from the raw result produced by this matcher.
|
boolean |
streamRawResult(ConeQueryRowSequence coneSeq,
TableSink rawResultSink,
RowMapper<?> rowMapper,
long maxrec)
Scans a sequence of positional queries, uploads it to a remote service,
and writes the returned values to a given sink.
|
boolean streamRawResult(ConeQueryRowSequence coneSeq, TableSink rawResultSink, RowMapper<?> rowMapper, long maxrec) throws IOException
Both the read and the write should ideally be streamed (read as uploaded and written as received) so that progress can be logged properly.
The result is written to the given rawResultSink
(which will probably be a RowStore
).
To make sense of the table thus written, it is necessary to
use the RowMapper
supplied to this method and the
ColumnPlan
available from this object.
The RowMapper associates result rows with queries from the input
row sequence, and the ColumnPlan knows where the special and other
columns are in the result table.
coneSeq
- sequence of cone-like positional queriesrawResultSink
- destination for result rows obtained from
the target matcher servicerowMapper
- used to label rows; queries are labelled with the
value returned from the getIndex
method of coneSeq
maxrec
- user-supplied limit on the maximum number of
output rows, though the service may truncate
the result; if <0, no limit is requestedIOException
ColumnPlan getColumnPlan(ColumnInfo[] resultCols, ColumnInfo[] uploadCols)
resultCols
- columns in the raw result table written by
this object's streamRawResult
methoduploadCols
- columns from the table that will be joined to
the raw result to get the output tableCopyright © 2025 Central Laboratory of the Research Councils. All Rights Reserved.