Get desktop application:
View/edit binary Protocol Buffers messages
Execute a query / statement and retrieve its result. The result stream will always start with a result header (QueryResultHeader) and in case that data is returned the data will be streamed in chunks.
QueryParam represents a query alongside with additional options to describe the execution context, like attached databases or parameters. Additionally, the output format for data chunks can be configured
The SQL query text. See https://tableau.github.io/hyper-db/docs/sql/ for a documentation of Hyper's SQL.
Specify the list of attached databases for this query
Specify the output format for query result data chunks. Default is text output.
Settings to allow adjusting the execution of a query. See https://tableau.github.io/hyper-db/docs/hyper-api/connection#connection-settings
The result of a query, in a QueryResult stream the result header will always come first and will be followed by the configured result chunk type.
Used in:
Access path for the database
Alias for the database under which it should be availabe in SQL
Describes a column
Used in:
Error details for HyperService rpcs (defined in hyper_service.proto) This message is used in two ways: 1. by Hyper to report error information to its clients 2. by upstream services to report errors to Hyper We distuish between customer-visible information and internal ("system") information. Hyper makes sure to not expose the system-internal information via any of its public endpoints. Note for Upstream services: - Use `ErrorInfo` to enable Hyper to provide detailed error messages to customer and improved debuggability - When providing detailed information, you MUST provide both customer_detail and system_detail - If Hyper is unable to validate correctness of `ErrorInfo`, it will fallback to standard GRPC Error Model and map the error message to system_detail
The primary (terse) error message MUST NOT contain sensitive data as it will be logged and returned to user MANDATORY FIELD
The SQL state error code Treated as InternalError, if empty
A suggestion on what what to do about the problem Differs from customer_detail by offering advise rather than hard facts Can be returned to the customer but MUST NOT be logged
Error detail with customer data classification Can be returned to the customer but MUST NOT be logged
Error detail with system data classification Can be logged but MUST NOT be forwarded to untrusted clients or customers
Position information pertaining to the error This will be IGNORED for Error Info coming from upstream services of Hyper
The cause of the error ALLOWED values are "User" and "System" (case sensitive) Use "User" if and only if the error can only be caused by the end-user or customer
A result chunk which contains multiple rows encoded in the binary format requested via the `output_format` field of the `QueryParam` message
Used in:
Returned for statements, some statements additionally return the affected row count. The server will only send this message once the changes of the statement are committed successfully.
Used in:
Currently supported output formats
Used in:
Encode the result chunk in a text-based format intended for debugging gRPC on the command line. Currently, this format is the same as `QUERY_SERVICE_V1`, which encodes the result as a JSON array. However, this format might change in the future.
Do not use this format when onboarding any new workloads. `ARROW_STREAM` is strictly preferable. Encode the result chunk in a proprietary variant similar to the "Arrow IPC format". Each result chunk consists of a schema and a record batch message. This is the original format of the gRPC proxy. For the JDBC Tableau connector, this format is passed through directly to the public Data Cloud API endpoint. As such, we cannot just drop support for it.
Do not use this format when onboarding any new workloads. `ARROW_STREAM` is strictly preferable. Encode the result chunk as a JSON array of objects using the Query Service V1 SQL API convention.
Encode the result chunk as part of a single Arrow IPC stream that encompasses all result chunks of a query. This means only the first result chunk contains a schema message. The following result chunks contain one or more record batch messages.
Describes the schema of the query result
Used in:
Returned for normal queries (i.e., SELECT)
Returned when the query was of statement type
Schema of the query result
Used in:
A result chunk which contains multiple rows encoded in the textual format requested via the `output_format` field of the `QueryParam` message
Used in:
Type of a result column, provides additional information through the modifier field
Used in:
Matches hyperapi::SqlType enum
Additional type information, e.g. about precision
Only available if tag is a text type
Only available if tag is a numeric type
The precision of a numeric column
Used in:
Used in:
Positional information on the error, references the user-provided SQL text
Used in:
Start offset, measured in unicode code points
End offset, measured in unicode code points