package fit.columnar

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service ColumnarCrossService

columnar.services.proto:34

To better permit DRY, instance.executeQuery() and scope.executeQuery() are here rather than in their respective services.

service ColumnarService

columnar.services.proto:18

All RPCs related to the Columnar SDK.

enum AnalyticsProduct

columnar.caps.proto:204

Used in: FetchPerformerCapsResponse

message AsyncFetchResultsRequest.Options

columnar.query.proto:363

Used in: AsyncFetchResultsRequest

message AsyncFetchStatusResponse.QueryStatusResult

columnar.query.proto:320

Used in: AsyncFetchStatusResponse

message ClusterNewInstanceRequest.Credential

columnar.cluster_management.proto:39

Used in: ClusterNewInstanceRequest, SetCredentialRequest

message ClusterNewInstanceRequest.Credential.CertificateAuth

columnar.cluster_management.proto:53

Authenticates using a client certificate (mTLS). The SDK authenticates the client during the TLS handshake.

Used in: Credential

message ClusterNewInstanceRequest.Credential.JwtAuth

columnar.cluster_management.proto:47

Authenticates using a JSON Web Token (JWT). The SDK sets an "Authorization: Bearer <jwt>" header on every HTTP request.

Used in: Credential

message ClusterNewInstanceRequest.Credential.UsernameAndPassword

columnar.cluster_management.proto:40

Used in: Credential

message ClusterNewInstanceRequest.Options

columnar.cluster_management.proto:16

Used in: ClusterNewInstanceRequest

message ClusterNewInstanceRequest.Options.SecurityOptions

columnar.cluster_management.proto:17

Used in: Options

message ClusterNewInstanceRequest.Options.TimeoutOptions

columnar.cluster_management.proto:26

Used in: Options

message ColumnarError

columnar.errors.proto:10

An exception derived from ColumnarError

Used in: Error

message ContentAs

columnar.serialization.proto:65

ContentAs ========= Where the SDK supports a rowsAs<T> or row.contentAs<T> or similar - this controls the user setting the `T`. It's only sent to performers that declare support for ROW_DESERIALIZATION_STATIC_ROW_TYPING or ROW_DESERIALIZATION_STATIC_ROW_TYPING_INDIVIDUAL. For ROW_DESERIALIZATION_DYNAMIC_ROW_TYPING performers/SDKs, T doesn't exist, and the output type is decided purely by the Deserializer.

Used in: ExecuteQueryRequest, QueryRowRequest

message ContentWas

columnar.serialization.proto:103

"ContentWas" because this was the content the performer got from the SDK, before it serialized it up to send back to the driver.

Used in: QueryRowResponse.Row

message CredentialSupport

columnar.caps.proto:13

Used in: FetchPerformerCapsResponse

message Deserializer

columnar.serialization.proto:11

Used in: AsyncFetchResultsRequest.Options, ClusterNewInstanceRequest.Options, ExecuteQueryRequest.Options

message Deserializer.CustomDeserializer

columnar.serialization.proto:47

* **Custom Deserializer** Uses a custom `Deserializer` implementation with specific serialization and deserialization logic. **Deserialization Logic:** ```java public <T> T deserialize(Class<T> target, byte[] input) { // Parse the byte array into a JSON object JsonObject jsonObject = parseByteArrayToJsonObject(input); // Upsert the "Serialized" field to false, "Serialized" key may or may not present while deserializing. jsonObject.put("Serialized", false); // Convert the JSON object back to the target type and return return convertJsonObjectToTargetType(jsonObject, target); } ``` **Implementation Details:** - **`parseByteArrayToJsonObject(byte[] input)`**: - Deserializes the byte array into a `JsonObject`. - **`convertJsonObjectToTargetType(JsonObject jsonObject, Class<T> target)`**: - Converts the `JsonObject` to the specified target type `T`. **Notes for Performers:** - Implementations in other languages should follow the same logical steps using equivalent constructs. - Proper error handling should be included to manage deserialization exceptions. - This deserializer assumes that the row is a JSON object. If the byte array cannot be parsed into a JSON object, then the deserializer should return/raise an error.

Used in: Deserializer

(message has no fields)

message Deserializer.JsonDeserializer

columnar.serialization.proto:12

Used in: Deserializer

(message has no fields)

message Deserializer.PassthroughDeserializer

columnar.serialization.proto:14

Used in: Deserializer

(message has no fields)

message EmptyResultOrFailureResponse

columnar.result.proto:13

Used as response type in: ColumnarCrossService.AsyncCancelHandle, ColumnarCrossService.AsyncDiscardResults, ColumnarCrossService.AsyncFetchResults, ColumnarCrossService.AsyncQueryStatusResultHandle, ColumnarCrossService.CloseAllQueryResults, ColumnarCrossService.CloseQueryResult, ColumnarCrossService.QueryCancel, ColumnarCrossService.QueryResult, ColumnarService.CloseAllClusters, ColumnarService.ClusterClose, ColumnarService.ClusterNewInstance, ColumnarService.SetCredential

message Error

columnar.errors.proto:73

Used in: AsyncFetchStatusResponse, ColumnarError, EmptyResultOrFailureResponse, QueryResultMetadataResponse, QueryRowResponse, StartQueryResponse

message ExecuteQueryRequest.Options

columnar.query.proto:47

Used in: ExecuteQueryRequest

enum ExecuteQueryRequest.Options.ScanConsistency

columnar.query.proto:48

Used in: Options

message ExecutionContext

columnar.execution_context.proto:10

Some metadata and config on how the SDK should execute the request and return responses.

Used in: CloseAllColumnarClustersRequest, ClusterNewInstanceRequest, ExecutionContextClusterLevel, ExecutionContextScopeLevel

message ExecutionContextClusterLevel

columnar.execution_context.proto:16

For operations that exist at a Cluster object level.

Used in: ClusterCloseRequest, ExecuteQueryRequest, SetCredentialRequest, StartQueryRequest

message ExecutionContextScopeLevel

columnar.execution_context.proto:25

For operations that exist at a Scope object level.

Used in: ExecuteQueryRequest, StartQueryRequest

message InvalidCredentialException

columnar.errors.proto:54

Used to represent the detailed InvalidCredentialException sub-ColumnarError type

No additional info here yet

Used in: SubColumnarError

(message has no fields)

message PerApiElementClusterClose

columnar.caps.proto:24

Currently empty.

Used in: FetchPerformerCapsResponse

(message has no fields)

message PerApiElementClusterNewInstance

columnar.caps.proto:19

Used in: FetchPerformerCapsResponse

message PerApiElementExecuteQuery

columnar.caps.proto:29

How the SDK exposes executeQuery().

Used in: FetchPerformerCapsResponse

enum PerApiElementExecuteQuery.ExecuteQueryReturns

columnar.caps.proto:32

Covers whether the SDK follows the "standard" model of an initial `executeQuery()` call returning a `QueryResult` that can then be iterated through.

Used in: PerApiElementExecuteQuery

enum PerApiElementExecuteQuery.RowDeserialization

columnar.caps.proto:91

Covers how/if SDKs allow users to convert rows directly into specific types.

Used in: PerApiElementExecuteQuery

enum PerApiElementExecuteQuery.RowIteration

columnar.caps.proto:51

Covers how a user allows users to stream and iterate rows.

Used in: PerApiElementExecuteQuery

message PerApiElementGeneric

columnar.caps.proto:9

Currently empty.

(message has no fields)

message PlatformError

columnar.errors.proto:34

Used to represent any error that does not derive from ColumnarException/ColumnarError

Used in: Error

enum PlatformErrorType

columnar.errors.proto:23

Used in: PlatformError

message QueryException

columnar.errors.proto:43

Used to represent the detailed QueryException sub-ColumnarError type

Used in: SubColumnarError

message QueryNotFoundException

columnar.errors.proto:59

Used to represent the detailed QueryNotFoundException sub-ColumnarError type

No additional info here yet

Used in: SubColumnarError

(message has no fields)

message QueryResultMetadataResponse.QueryMetadata

columnar.query.proto:228

Used in: QueryResultMetadataResponse

message QueryResultMetadataResponse.QueryMetadata.Metrics

columnar.query.proto:229

Used in: QueryMetadata

message QueryResultMetadataResponse.QueryMetadata.Warning

columnar.query.proto:237

Used in: QueryMetadata

message QueryRowResponse.Result

columnar.query.proto:184

Used in: QueryRowResponse

message QueryRowResponse.Row

columnar.query.proto:179

Used in: Result

message ResponseMetadata

columnar.metadata.proto:12

Metadata that all responses will need.

Allows the performer to report how long an operation took.

Used in: EmptyResultOrFailureResponse, ExecuteQueryResponse, QueryResultMetadataResponse, QueryRowResponse

enum SDK

columnar.caps.proto:190

Should never be sent. Included as a standard protobuf best practice.

Used in: FetchPerformerCapsResponse

message SdkConnectionError

columnar.caps.proto:143

Used in: FetchPerformerCapsResponse

enum SdkConnectionError.BootstrapErrorType

columnar.caps.proto:162

Enum to specify the type of bootstrap error.

Used in: SdkConnectionError

enum SdkConnectionError.InvalidCredentialErrorType

columnar.caps.proto:145

Enum to specify the type of invalid credential error.

Used in: SdkConnectionError

message StartQueryRequest.Options

columnar.query.proto:280

Used in: StartQueryRequest

enum StartQueryRequest.Options.ScanConsistency

columnar.query.proto:281

Used in: Options

message SubColumnarError

columnar.errors.proto:64

Represents the ColumnarError's sub types

Used in: ColumnarError

message TimeoutException

columnar.errors.proto:49

Used to represent the detailed TimeoutException sub-ColumnarError type

No additional info here yet

Used in: SubColumnarError

(message has no fields)