Package com.databricks.jdbc.api.impl.streaming

## Class ColumnarResponseProcessor

- java.lang.Object
- - com.databricks.jdbc.api.impl.streaming.ColumnarResponseProcessor

All Implemented Interfaces:
  `ThriftResponseProcessor<ColumnarRowView>`

    public class ColumnarResponseProcessor
    extends Object
    implements ThriftResponseProcessor<ColumnarRowView>

Processes Thrift responses into columnar view data.

This processor converts `TFetchResultsResp` into `ColumnarRowView` for Thrift columnar result handling.

### Constructor Summary

Constructors
`ColumnarResponseProcessor()`

### Method Summary

All Methods Instance Methods Concrete Methods
`Consumer<ColumnarRowView>` `getReleaseAction()` Creates a release action for the data type.
`StreamingBatch<ColumnarRowView>` `processInitialResponse​(TFetchResultsResp response)` Processes the initial response and returns batch data.
`StreamingBatch<ColumnarRowView>` `processResponse​(TFetchResultsResp response, long batchIndex, long rowOffset)` Processes a fetched response and returns batch data.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ColumnarResponseProcessor

    public ColumnarResponseProcessor()

### Method Detail

#### processInitialResponse

    public StreamingBatch<ColumnarRowView> processInitialResponse​(TFetchResultsResp response)
                                                           throws DatabricksSQLException

Description copied from interface: `ThriftResponseProcessor`
Processes the initial response and returns batch data.

This method is called once when the streaming provider is created. It may perform additional initialization such as caching schema information.

Specified by:
  `processInitialResponse` in interface `ThriftResponseProcessor<ColumnarRowView>`
Parameters:
  `response` - The initial Thrift fetch response
Returns:
  A StreamingBatch containing the processed data
Throws:
  `DatabricksSQLException` - if processing fails

#### processResponse

    public StreamingBatch<ColumnarRowView> processResponse​(TFetchResultsResp response,
                                                           long batchIndex,
                                                           long rowOffset)
                                                    throws DatabricksSQLException

Description copied from interface: `ThriftResponseProcessor`
Processes a fetched response and returns batch data.

This method is called for each subsequent batch fetched from the server.

Specified by:
  `processResponse` in interface `ThriftResponseProcessor<ColumnarRowView>`
Parameters:
  `response` - The Thrift fetch response
  `batchIndex` - The zero-based batch index
  `rowOffset` - The starting row offset for this batch
Returns:
  A StreamingBatch containing the processed data
Throws:
  `DatabricksSQLException` - if processing fails

#### getReleaseAction

    public Consumer<ColumnarRowView> getReleaseAction()

Description copied from interface: `ThriftResponseProcessor`
Creates a release action for the data type.

This action is called when the batch is released from memory. For types that require explicit cleanup (like ArrowResultChunk with native memory), this should perform that cleanup. For types that don't need cleanup (like ColumnarRowView), this can be a no-op.

Specified by:
  `getReleaseAction` in interface `ThriftResponseProcessor<ColumnarRowView>`
Returns:
  A Consumer that releases the data