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 and Description
`BulkLoadContextCursor(BulkLoadProcessor processor, BulkLoadAckClientParameters clientParams)` Creates a cursor.

### Method Summary

All Methods Instance Methods Concrete Methods
`BulkLoadProcessor` `bulkLoadProcessor()` Returns a bulk load context.
`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(BulkLoadProcessor processor,
                                 BulkLoadAckClientParameters clientParams)

Creates a cursor.

Parameters:
  `processor` - Bulk load context object to store.
  `clientParams` - Parameters to send to client.

### Method Detail

#### bulkLoadProcessor

    public BulkLoadProcessor bulkLoadProcessor()

Returns a bulk load context.

Returns:
  a bulk load context.

#### clientParams

    public 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 interface `QueryCursor<List<?>>`
Returns:
  List containing all query results.

#### iterator

    @NotNull
    public @NotNull Iterator<List<?>> iterator()

Specified by:
  `iterator` in interface `Iterable<List<?>>`

#### 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 interface `AutoCloseable`
Specified by:
  `close` in interface `QueryCursor<List<?>>`

#### getFieldName

    public String getFieldName(int idx)

Gets field name.

Specified by:
  `getFieldName` in interface `FieldsQueryCursor<List<?>>`
Parameters:
  `idx` - field index.
Returns:
  Field name.

#### getColumnsCount

    public int getColumnsCount()

Gets number of columns in a row.

Specified by:
  `getColumnsCount` in interface `FieldsQueryCursor<List<?>>`
Returns:
  row size.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.14.0
Release Date | : September 29 2022