Package org.apache.ignite.cache.query
Class BulkLoadContextCursor
- java.lang.Object
-
- org.apache.ignite.cache.query.BulkLoadContextCursor
-
- All Implemented Interfaces:
AutoCloseable
,Iterable<List<?>>
,FieldsQueryCursor<List<?>>
,QueryCursor<List<?>>
public class BulkLoadContextCursor extends Object implements FieldsQueryCursor<List<?>>
A special FieldsQueryCursor subclass that is used as a sentinel to transfer data from bulk load (COPY) command to the JDBC or other client-facing driver: the bulk load batch processor and parameters to send to the client.
-
-
Constructor Summary
Constructors Constructor Description BulkLoadContextCursor(org.apache.ignite.internal.processors.bulkload.BulkLoadProcessor processor, org.apache.ignite.internal.processors.bulkload.BulkLoadAckClientParameters clientParams)
Creates a cursor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.ignite.internal.processors.bulkload.BulkLoadProcessor
bulkLoadProcessor()
Returns a bulk load context.org.apache.ignite.internal.processors.bulkload.BulkLoadAckClientParameters
clientParams()
Returns the bulk load parameters to send to the client.void
close()
Closes all resources related to this cursor.List<List<?>>
getAll()
Gets all query results and stores them in the collection.int
getColumnsCount()
Gets number of columns in a row.String
getFieldName(int idx)
Gets field name.@NotNull Iterator<List<?>>
iterator()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
BulkLoadContextCursor
public BulkLoadContextCursor(org.apache.ignite.internal.processors.bulkload.BulkLoadProcessor processor, org.apache.ignite.internal.processors.bulkload.BulkLoadAckClientParameters clientParams)
Creates a cursor.- Parameters:
processor
- Bulk load context object to store.clientParams
- Parameters to send to client.
-
-
Method Detail
-
bulkLoadProcessor
public org.apache.ignite.internal.processors.bulkload.BulkLoadProcessor bulkLoadProcessor()
Returns a bulk load context.- Returns:
- a bulk load context.
-
clientParams
public org.apache.ignite.internal.processors.bulkload.BulkLoadAckClientParameters clientParams()
Returns the bulk load parameters to send to the client.- Returns:
- The bulk load parameters to send to the client.
-
getAll
public List<List<?>> getAll()
Gets all query results and stores them in the collection. Use this method when you know in advance that query result is relatively small and will not cause memory utilization issues.Since all the results will be fetched, all the resources will be closed automatically after this call, e.g. there is no need to call
QueryCursor.close()
method in this case.- Specified by:
getAll
in interfaceQueryCursor<List<?>>
- Returns:
- List containing all query results.
-
close
public void close()
Closes all resources related to this cursor. If the query execution is in progress (which is possible in case of invoking from another thread), a cancel will be attempted. Sequential calls to this method have no effect.Note: don't forget to close query cursors. Not doing so may lead to various resource leaks.
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceQueryCursor<List<?>>
-
getFieldName
public String getFieldName(int idx)
Gets field name.- Specified by:
getFieldName
in interfaceFieldsQueryCursor<List<?>>
- Parameters:
idx
- field index.- Returns:
- Field name.
-
getColumnsCount
public int getColumnsCount()
Gets number of columns in a row.- Specified by:
getColumnsCount
in interfaceFieldsQueryCursor<List<?>>
- Returns:
- row size.
-
-