Get desktop application:
View/edit binary Protocol Buffers messages
Message encapsulating metadata for a Catalog.
Used in:
Used in:
Unknown support (for forward compatibility)
COLLATE clause can be added after each grouping column
Message encapsulating metadata for a Column.
Used in:
How a column can be used in WHERE clause
Used in:
can't be used in WHERE clause
can be used in WHERE clause but only with LIKE predicate
can be used in a WHERE clause with all the comparison operators except LIKE
can be used in a WHERE clause with all the comparison operators
Whether a column can be updatable.
Used in:
Used in:
Used in:
Correlation names are not supported
Correlation names are supported, but names have to
be different from the tables they represent
Correlation names are supported without restriction
Request message to create a prepared statement. Currently prepared statement only accepts a SQL query. Query parameter support is not included in current implementation.
Response message for CreatePreparedStatementReq.
Used in:
Unknown support (for forward compatibility)
DATE literal is supported
TIME literal is supported
TIMESTAMP literal is supported
INTERVAL YEAR literal is supported
INTERVAL MONTH literal is supported
INTERVAL DAY literal is supported
INTERVAL HOUR literal is supported
INTERVAL MINUTE literal is supported
INTERVAL SECOND literal is supported
INTERVAL YEAR TO MONTH literal is supported
INTERVAL DAY TO HOUR literal is supported
INTERVAL DAY TO MINUTE literal is supported
INTERVAL DAY TO SECOND literal is supported
INTERVAL HOUR TO MINUTE literal is supported
INTERVAL HOUR TO SECOND literal is supported
INTERVAL MINUTE TO SECOND literal is supported
Request message for getting the metadata for catalogs satisfying the given optional filter.
Response message for GetCatalogReq.
Request message for getting the metadata for columns satisfying the given optional filters.
Response message for GetColumnsReq.
Request message for getting the metadata for schemas satisfying the given optional filters.
Response message for GetSchemasReq.
Request message for getting server metadata
(message has no fields)
Response message for GetServerMetaReq
Request message for getting the metadata for tables satisfying the given optional filters.
Response message for GetTablesReq.
Used in:
Group by is not supported
Group by supported with non aggregated columns in select
Group by supported with columns absent from the select list if all the non-aggregated colums from the select list are also added
Group by supported with columns absent from the select list
Used in:
Handshake is successful (including authentication if any)
Client and Server RPC versions are different
User authentication failed
Unknown failure, refer to the error message for more details
User authentication required
Used in:
Unknown support (for forward compatibility)
Mixed case identifier is treated as case insensitive and stored in lower case
Mixed case identifier is treated as case insensitive and stored in mixed case
Mixed case identifier is treated as case insensitive and stored in upper case
Mixed case identifier is treated as case sensitive and stored in mixed case
Simple filter which encapsulates the SQL LIKE ... ESCAPE function
Used in:
, , ,pattern to match
escape character (if any) present in the pattern
Used in:
Unknown support (for forward compatibility)
NULL values are sorted at the start regardless of the order
NULL values are sorted at the end regardless of the order
NULL is the highest value
NULL is the lowest value
Used in:
Unknown support (for forward compatibility)
ORDER BY supported with columns not in SELECT list
ORDER BY with expressions is supported
Used in:
Unknown support (for forward compatibility)
Left outer join is supported
Right outer join is supported
Full outer join is supported
Nested outer join is supported
Column names in the ON clause don't have to share the same order as their respective table names in the OUTER JOIN clase
Inner table can also be used in an inner join
Any comparison operator is supported in the ON clause
Prepared statement. It contains the query metadata and handle to prepared statement state on server.
Used in:
In order to execute the prepared statement, clients need to submit this object in RunQuery message.
Server state of prepared statement. Contents are opaque to client. Client just need to submit this object in RunQuery to the prepared statement.
Used in:
,Used in:
Used in:
Server will inform the client regularly on the status of the query. Once the query is completed, service will inform the client as each query chunk is made available.
Enum indicating the request status.
Used in:
, , , , ,* Request timed out. Futher attempts can change any API specific parameters and retry or just retry the request.
Metadata of a column in query result set
Used in:
Designated column's catalog name. Empty string if not applicable. Defaults to "DRILL" as drill has only one catalog.
Designated column's schema name. Not set if not applicable. Initial implementation defaults to no value as we use LIMIT 0 queries to get the schema and schema info is lost. If we derive the schema from plan, we may get the right value.
Designated column's table name. Not set if not applicable. Initial implementation defaults to no value as we use LIMIT 0 queries to get the schema and table info is lost. If we derive the schema from query plan, we may get the right value.
column name
Column label name for display or print purposes. Ex. a column named "empName" might be labeled as "Employee Name".
Data type in string format. Value is SQL standard type.
For numeric data, this is the maximum precision. For character data, this is the length in characters. For datetime datatypes, this is the length in characters of the String representation (assuming the maximum allowed precision of the fractional seconds component). For binary data, this is the length in bytes. For all other types 0 is returned where the column size is not applicable.
Column's number of digits to right of the decimal point. 0 is returned for types where the scale is not applicable
Indicates whether values in the designated column are signed numbers.
Maximum number of characters required to display data from the column.
Is the column an aliased column. Initial implementation defaults to true as we derive schema from LIMIT 0 query and not the query plan.
Defaults to READ_ONLY
whether the designated column is automatically incremented.
Whether column's case matters for collations and comparisons. Defaults to true.
whether the column can be used in ORDER BY clause
A fully-qualified name of the Java class whose instances are created if the method ResultSet.getObject is called to retrieve a value from the column. Applicable only to JDBC clients.
Is the data type a currency type? For JDBC only.
Used in:
,example: Apache Drill Server, Apache Drill C++ client
example: 1.9.0
example: 1
example: 9
example: 0
example: Tableau 9.3
example: 32
example: SNAPSHOT
//// User <-> Bit RPC ///////
Used in:
user to bit
user is submitting a new query to the drillbit
user is sending a query cancellation request to the drillbit
user is sending a query resume request to the drillbit
to get plan fragments from query
user is requesting metadata of catalog(s).
user is requesting metadata of schema(s)
user is requesting metadata of table(s)
user is requesting metadata of column(s)
user is sending a request to create prepared statement
user is sending a request to receive server metadata
bit to user
drillbit is sending a query result data batch to the user
return plan fragments
return catalogs metadata in response to GET_CATALOGS
return schema metadata in response to GET_SCHEMAS
return table metadata in response to GET_TABLES
return column metadata in response to GET_COLUMNS
return preparated statement in response to CREATE_PREPARED_STATEMENT
return server infos in respose to GET_SERVER_META
drillbit is reporting a query status change, most likely a terminal message, to the user
user to bit and bit to user
Request message for running a query.
Input for query type LOGICAL, PHYSICAL or SQL.
Input for query type EXECUTION. Input is a set of executable fragments.
Input for query type PREPARED_STATEMENT. Input is a prepared statement handle to state on server side which is returned in response to CreatePreparedStatementReq.
Input for indicating the limit on a query's result set.
Used in:
Message encapsulating metadata for a Schema.
Used in:
Type. Ex. "file", "mongodb", "hive" etc.
Used in:
True if current user can use all tables returned by GetTables
True if BLOB are included into the max row size
True if catalog name is at the start of a fully qualified table
The catalog separator
The term used to designate catalogs
COLLATE support
True if column aliasing is supported
CONVERT support
Correlation names support
Supported ODBC/JDBC Date Time scalar functions
Supported Date Time literals
Group By support
Unquoted Identifier casing
Quote string for identifiers
True if LIKE supports an ESCAPE clause
Maximum number of hexa characters for binary literals (0 if unlimited or unknown)
Maximum length of catalog names (0 if unlimited or unknown)
Maximum number of characters for string literals (0 if unlimited or unknown)
Maximum length of column names (0 if unlimited or unknown)
Maximum number of columns in GROUP BY expressions (0 if unlimited or unknown)
Maximum number of columns in ORDER BY expressions (0 if unlimited or unknown)
Maximum number of columns in SELECT expressions (0 if unlimited or unknown)
Maximum length of cursor names (0 if unlimited or unknown)
Maximum logical size for LOB types (0 if unlimited or unknown)
Maximum number of bytes for a single row (0 if unlimited or unknown)
Maximum length of schema names (0 if unlimited or unknown)
Maximum length for statements (0 if unlimited or unknown)
Maximum number of statements (0 if unlimited or unknown)
Maximum length of table names (0 if unlimited or unknown)
Maximum number of tables in a SELECT expression (0 if unlimited or unknown)
Maximum length of user names (0 if unlimited or unknown)
How NULL are sorted
True if NULL + non NULL is NULL
Supported ODBC/JDBC numeric scalar functions
Outer join suport
Outer join suport
Quoted identifier casing
True if connection access is read only
The term used to designate a schema
Characters used for escaping (empty if not suported)
True if SELECT FOR UPDATE is supported
List of extra characters that can be used in identifier names
list of SQL keywords
Supported ODBC/JDBC string scalar functions
Subquery support
Supported ODBC/JDBC systen scalar functions
The term used to designate a table
True if transaction is supported
UNION support
current schema
Used in:
Unknown support (for forward compatibility)
Correlated subquery is supported
Subquery in comparison expression is supported
Subquery in EXISTS expression is supported
Subquery in INSERT expression is supported
Subquery in quantified expression is supported
Message encapsulating metadata for a Table.
Used in:
Type. Ex. "TABLE", "VIEW" etc.
Used in:
Unknown support (for forward compatibility)
UNION is supported
UNION_ALL is supported
Used in: