You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by li...@apache.org on 2022/04/08 15:32:18 UTC
[arrow] branch master updated: ARROW-14698: [Docs][FlightRPC] Add API docs for Flight SQL
This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow.git
The following commit(s) were added to refs/heads/master by this push:
new dd52b384cb ARROW-14698: [Docs][FlightRPC] Add API docs for Flight SQL
dd52b384cb is described below
commit dd52b384cbc177291937372d9e9bc1ebb2c97a3e
Author: David Li <li...@gmail.com>
AuthorDate: Fri Apr 8 11:31:54 2022 -0400
ARROW-14698: [Docs][FlightRPC] Add API docs for Flight SQL
This improves the protocol docs and adds C++ API documentation. Java already has Javadocs so this PR doesn't touch anything there.
Closes #12616 from lidavidm/arrow-14698
Authored-by: David Li <li...@gmail.com>
Signed-off-by: David Li <li...@gmail.com>
---
cpp/src/arrow/flight/sql/client.h | 25 +-
cpp/src/arrow/flight/sql/server.h | 131 ++-
cpp/src/arrow/flight/sql/types.h | 1235 ++++++++++----------
docs/source/cpp/api.rst | 1 +
docs/source/cpp/{api.rst => api/flightsql.rst} | 64 +-
docs/source/format/FlightSql.rst | 15 +
docs/source/format/FlightSql/CommandGetTables.mmd | 29 +
.../format/FlightSql/CommandGetTables.mmd.svg | 1 +
.../FlightSql/CommandPreparedStatementQuery.mmd | 39 +
.../CommandPreparedStatementQuery.mmd.svg | 1 +
.../format/FlightSql/CommandStatementQuery.mmd | 31 +
.../format/FlightSql/CommandStatementQuery.mmd.svg | 1 +
format/FlightSql.proto | 56 +-
13 files changed, 898 insertions(+), 731 deletions(-)
diff --git a/cpp/src/arrow/flight/sql/client.h b/cpp/src/arrow/flight/sql/client.h
index 212f25c2fa..78c162e4cd 100644
--- a/cpp/src/arrow/flight/sql/client.h
+++ b/cpp/src/arrow/flight/sql/client.h
@@ -33,6 +33,8 @@ namespace sql {
class PreparedStatement;
/// \brief Flight client with Flight SQL semantics.
+///
+/// Wraps a Flight client to provide the Flight SQL RPC calls.
class ARROW_EXPORT FlightSqlClient {
friend class PreparedStatement;
@@ -199,18 +201,12 @@ class ARROW_EXPORT FlightSqlClient {
}
};
-/// \brief PreparedStatement class from flight sql.
+/// \brief A prepared statement that can be executed.
class ARROW_EXPORT PreparedStatement {
- FlightSqlClient* client_;
- FlightCallOptions options_;
- std::string handle_;
- std::shared_ptr<Schema> dataset_schema_;
- std::shared_ptr<Schema> parameter_schema_;
- std::shared_ptr<RecordBatch> parameter_binding_;
- bool is_closed_;
-
public:
- /// \brief Constructor for the PreparedStatement class.
+ /// \brief Create a new prepared statement. However, applications
+ /// should generally use FlightSqlClient::Prepare.
+ ///
/// \param[in] client Client object used to make the RPC requests.
/// \param[in] handle Handle for this prepared statement.
/// \param[in] dataset_schema Schema of the resulting dataset.
@@ -256,6 +252,15 @@ class ARROW_EXPORT PreparedStatement {
/// \brief Check if the prepared statement is closed.
/// \return The state of the prepared statement.
bool IsClosed() const;
+
+ private:
+ FlightSqlClient* client_;
+ FlightCallOptions options_;
+ std::string handle_;
+ std::shared_ptr<Schema> dataset_schema_;
+ std::shared_ptr<Schema> parameter_schema_;
+ std::shared_ptr<RecordBatch> parameter_binding_;
+ bool is_closed_;
};
} // namespace sql
diff --git a/cpp/src/arrow/flight/sql/server.h b/cpp/src/arrow/flight/sql/server.h
index b5137fd9f4..4e6ddce239 100644
--- a/cpp/src/arrow/flight/sql/server.h
+++ b/cpp/src/arrow/flight/sql/server.h
@@ -33,117 +33,149 @@ namespace arrow {
namespace flight {
namespace sql {
+/// \defgroup flight-sql-protocol-messages Flight SQL Protocol Messages
+/// Simple struct wrappers for various protocol messages, used to
+/// avoid exposing Protobuf types in the API.
+/// @{
+
+/// \brief A SQL query.
struct StatementQuery {
+ /// \brief The SQL query.
std::string query;
};
+/// \brief A SQL update query.
struct StatementUpdate {
+ /// \brief The SQL query.
std::string query;
};
+/// \brief A request to execute a query.
struct StatementQueryTicket {
+ /// \brief The server-generated opaque identifier for the query.
std::string statement_handle;
};
+/// \brief A prepared query statement.
struct PreparedStatementQuery {
+ /// \brief The server-generated opaque identifier for the statement.
std::string prepared_statement_handle;
};
+/// \brief A prepared update statement.
struct PreparedStatementUpdate {
+ /// \brief The server-generated opaque identifier for the statement.
std::string prepared_statement_handle;
};
+/// \brief A request to fetch server metadata.
struct GetSqlInfo {
+ /// \brief A list of metadata IDs to fetch.
std::vector<int32_t> info;
};
+/// \brief A request to list database schemas.
struct GetDbSchemas {
+ /// \brief An optional database catalog to filter on.
util::optional<std::string> catalog;
+ /// \brief An optional database schema to filter on.
util::optional<std::string> db_schema_filter_pattern;
};
+/// \brief A request to list database tables.
struct GetTables {
+ /// \brief An optional database catalog to filter on.
util::optional<std::string> catalog;
+ /// \brief An optional database schema to filter on.
util::optional<std::string> db_schema_filter_pattern;
+ /// \brief An optional table name to filter on.
util::optional<std::string> table_name_filter_pattern;
+ /// \brief A list of table types to filter on.
std::vector<std::string> table_types;
+ /// \brief Whether to include the Arrow schema in the response.
bool include_schema;
};
+/// \brief A request to get SQL data type information.
struct GetXdbcTypeInfo {
+ /// \brief A specific SQL type ID to fetch information about.
util::optional<int> data_type;
};
+/// \brief A request to list primary keys of a table.
struct GetPrimaryKeys {
+ /// \brief The given table.
TableRef table_ref;
};
+/// \brief A request to list foreign key columns referencing primary key
+/// columns of a table.
struct GetExportedKeys {
+ /// \brief The given table.
TableRef table_ref;
};
+/// \brief A request to list foreign keys of a table.
struct GetImportedKeys {
+ /// \brief The given table.
TableRef table_ref;
};
+/// \brief A request to list foreign key columns of a table that
+/// reference columns in a given parent table.
struct GetCrossReference {
+ /// \brief The parent table (the one containing referenced columns).
TableRef pk_table_ref;
+ /// \brief The foreign table (for which foreign key columns will be listed).
TableRef fk_table_ref;
};
+/// \brief A request to create a new prepared statement.
struct ActionCreatePreparedStatementRequest {
+ /// \brief The SQL query.
std::string query;
};
+/// \brief A request to close a prepared statement.
struct ActionClosePreparedStatementRequest {
+ /// \brief The server-generated opaque identifier for the statement.
std::string prepared_statement_handle;
};
+/// \brief The result of creating a new prepared statement.
struct ActionCreatePreparedStatementResult {
+ /// \brief The schema of the query results, if applicable.
std::shared_ptr<Schema> dataset_schema;
+ /// \brief The schema of the query parameters, if applicable.
std::shared_ptr<Schema> parameter_schema;
+ /// \brief The server-generated opaque identifier for the statement.
std::string prepared_statement_handle;
};
-/// \brief A utility function to create a ticket (a opaque binary token that the server
-/// uses to identify this query) for a statement query.
-/// Intended for Flight SQL server implementations.
+/// @}
+
+/// \brief A utility function to create a ticket (a opaque binary
+/// token that the server uses to identify this query) for a statement
+/// query. Intended for Flight SQL server implementations.
+///
/// \param[in] statement_handle The statement handle that will originate the ticket.
/// \return The parsed ticket as an string.
arrow::Result<std::string> CreateStatementQueryTicket(
const std::string& statement_handle);
+/// \brief The base class for Flight SQL servers.
+///
+/// Applications should subclass this class and override the virtual
+/// methods declared on this class.
class ARROW_EXPORT FlightSqlServerBase : public FlightServerBase {
private:
SqlInfoResultMap sql_info_id_to_result_;
public:
- Status GetFlightInfo(const ServerCallContext& context, const FlightDescriptor& request,
- std::unique_ptr<FlightInfo>* info) override;
-
- Status DoGet(const ServerCallContext& context, const Ticket& request,
- std::unique_ptr<FlightDataStream>* stream) override;
-
- Status DoPut(const ServerCallContext& context,
- std::unique_ptr<FlightMessageReader> reader,
- std::unique_ptr<FlightMetadataWriter> writer) override;
-
- const ActionType kCreatePreparedStatementActionType =
- ActionType{"CreatePreparedStatement",
- "Creates a reusable prepared statement resource on the server.\n"
- "Request Message: ActionCreatePreparedStatementRequest\n"
- "Response Message: ActionCreatePreparedStatementResult"};
- const ActionType kClosePreparedStatementActionType =
- ActionType{"ClosePreparedStatement",
- "Closes a reusable prepared statement resource on the server.\n"
- "Request Message: ActionClosePreparedStatementRequest\n"
- "Response Message: N/A"};
-
- Status ListActions(const ServerCallContext& context,
- std::vector<ActionType>* actions) override;
-
- Status DoAction(const ServerCallContext& context, const Action& action,
- std::unique_ptr<ResultStream>* result) override;
+ /// \name Flight SQL methods
+ /// Applications should override these methods to implement the
+ /// Flight SQL endpoints.
+ /// @{
/// \brief Get a FlightInfo for executing a SQL query.
/// \param[in] context Per-call context.
@@ -408,10 +440,51 @@ class ARROW_EXPORT FlightSqlServerBase : public FlightServerBase {
const ServerCallContext& context, const PreparedStatementUpdate& command,
FlightMessageReader* reader);
+ /// @}
+
+ /// \name Utility methods
+ /// @{
+
/// \brief Register a new SqlInfo result, making it available when calling GetSqlInfo.
/// \param[in] id the SqlInfo identifier.
/// \param[in] result the result.
void RegisterSqlInfo(int32_t id, const SqlInfoResult& result);
+
+ /// @}
+
+ /// \name Flight RPC handlers
+ /// Applications should not override these methods; they implement
+ /// the Flight SQL protocol.
+ /// @{
+
+ Status GetFlightInfo(const ServerCallContext& context, const FlightDescriptor& request,
+ std::unique_ptr<FlightInfo>* info) final;
+
+ Status DoGet(const ServerCallContext& context, const Ticket& request,
+ std::unique_ptr<FlightDataStream>* stream) final;
+
+ Status DoPut(const ServerCallContext& context,
+ std::unique_ptr<FlightMessageReader> reader,
+ std::unique_ptr<FlightMetadataWriter> writer) final;
+
+ const ActionType kCreatePreparedStatementActionType =
+ ActionType{"CreatePreparedStatement",
+ "Creates a reusable prepared statement resource on the server.\n"
+ "Request Message: ActionCreatePreparedStatementRequest\n"
+ "Response Message: ActionCreatePreparedStatementResult"};
+ const ActionType kClosePreparedStatementActionType =
+ ActionType{"ClosePreparedStatement",
+ "Closes a reusable prepared statement resource on the server.\n"
+ "Request Message: ActionClosePreparedStatementRequest\n"
+ "Response Message: N/A"};
+
+ Status ListActions(const ServerCallContext& context,
+ std::vector<ActionType>* actions) final;
+
+ Status DoAction(const ServerCallContext& context, const Action& action,
+ std::unique_ptr<ResultStream>* result) final;
+
+ /// @}
};
/// \brief Auxiliary class containing all Schemas used on Flight SQL.
diff --git a/cpp/src/arrow/flight/sql/types.h b/cpp/src/arrow/flight/sql/types.h
index 44b8bca471..ebfb2ef0ea 100644
--- a/cpp/src/arrow/flight/sql/types.h
+++ b/cpp/src/arrow/flight/sql/types.h
@@ -30,6 +30,10 @@ namespace arrow {
namespace flight {
namespace sql {
+/// \defgroup flight-sql-common-types Common protocol types for Flight SQL
+///
+/// @{
+
/// \brief Variant supporting all possible types on SQL info.
using SqlInfoResult =
arrow::util::Variant<std::string, bool, int64_t, int32_t, std::vector<std::string>,
@@ -40,813 +44,764 @@ using SqlInfoResultMap = std::unordered_map<int32_t, SqlInfoResult>;
/// \brief Options to be set in the SqlInfo.
struct SqlInfoOptions {
+ /// \brief Predefined info values for GetSqlInfo.
enum SqlInfo {
- // Server Information [0-500): Provides basic information about the Flight SQL Server.
+ /// \name Server Information
+ /// Values [0-500): Provides basic information about the Flight SQL Server.
+ /// @{
- // Retrieves a UTF-8 string with the name of the Flight SQL Server.
+ /// Retrieves a UTF-8 string with the name of the Flight SQL Server.
FLIGHT_SQL_SERVER_NAME = 0,
- // Retrieves a UTF-8 string with the native version of the Flight SQL Server.
+ /// Retrieves a UTF-8 string with the native version of the Flight SQL
+ /// Server.
FLIGHT_SQL_SERVER_VERSION = 1,
- // Retrieves a UTF-8 string with the Arrow format version of the Flight SQL Server.
+ /// Retrieves a UTF-8 string with the Arrow format version of the Flight
+ /// SQL Server.
FLIGHT_SQL_SERVER_ARROW_VERSION = 2,
- /*
- * Retrieves a boolean value indicating whether the Flight SQL Server is read only.
- *
- * Returns:
- * - false: if read-write
- * - true: if read only
- */
+ /// Retrieves a boolean value indicating whether the Flight SQL Server is
+ /// read only.
+ ///
+ /// Returns:
+ /// - false: if read-write
+ /// - true: if read only
FLIGHT_SQL_SERVER_READ_ONLY = 3,
- // SQL Syntax Information [500-1000): provides information about SQL syntax supported
- // by the Flight SQL Server.
-
- /*
- * Retrieves a boolean value indicating whether the Flight SQL Server supports CREATE
- * and DROP of catalogs.
- *
- * Returns:
- * - false: if it doesn't support CREATE and DROP of catalogs.
- * - true: if it supports CREATE and DROP of catalogs.
- */
+ /// @}
+
+ /// \name SQL Syntax Information
+ /// Values [500-1000): provides information about SQL syntax supported
+ /// by the Flight SQL Server.
+ /// @{
+
+ /// Retrieves a boolean value indicating whether the Flight SQL
+ /// Server supports CREATE and DROP of catalogs.
+ ///
+ /// Returns:
+ /// - false: if it doesn't support CREATE and DROP of catalogs.
+ /// - true: if it supports CREATE and DROP of catalogs.
SQL_DDL_CATALOG = 500,
- /*
- * Retrieves a boolean value indicating whether the Flight SQL Server supports CREATE
- * and DROP of schemas.
- *
- * Returns:
- * - false: if it doesn't support CREATE and DROP of schemas.
- * - true: if it supports CREATE and DROP of schemas.
- */
+ /// Retrieves a boolean value indicating whether the Flight SQL
+ /// Server supports CREATE and DROP of schemas.
+ ///
+ /// Returns:
+ /// - false: if it doesn't support CREATE and DROP of schemas.
+ /// - true: if it supports CREATE and DROP of schemas.
SQL_DDL_SCHEMA = 501,
- /*
- * Indicates whether the Flight SQL Server supports CREATE and DROP of tables.
- *
- * Returns:
- * - false: if it doesn't support CREATE and DROP of tables.
- * - true: if it supports CREATE and DROP of tables.
- */
+ /// Indicates whether the Flight SQL Server supports CREATE and DROP of
+ /// tables.
+ ///
+ /// Returns:
+ /// - false: if it doesn't support CREATE and DROP of tables.
+ /// - true: if it supports CREATE and DROP of tables.
SQL_DDL_TABLE = 502,
- /*
- * Retrieves a uint32 value representing the enu uint32 ordinal for the case
- * sensitivity of catalog, table and schema names.
- *
- * The possible values are listed in
- * `arrow.flight.protocol.sql.SqlSupportedCaseSensitivity`.
- */
+ /// Retrieves a int32 value representing the enum ordinal for the
+ /// case sensitivity of catalog, table and schema names.
+ ///
+ /// The possible values are listed in
+ /// `arrow.flight.protocol.sql.SqlSupportedCaseSensitivity`.
SQL_IDENTIFIER_CASE = 503,
- // Retrieves a UTF-8 string with the supported character(s) used to surround a
- // delimited identifier.
+ /// Retrieves a UTF-8 string with the supported character(s) used
+ /// to surround a delimited identifier.
SQL_IDENTIFIER_QUOTE_CHAR = 504,
- /*
- * Retrieves a uint32 value representing the enu uint32 ordinal for the case
- * sensitivity of quoted identifiers.
- *
- * The possible values are listed in
- * `arrow.flight.protocol.sql.SqlSupportedCaseSensitivity`.
- */
+ /// Retrieves a int32 value representing the enum ordinal
+ /// for the case sensitivity of quoted identifiers.
+ ///
+ /// The possible values are listed in
+ /// `arrow.flight.protocol.sql.SqlSupportedCaseSensitivity`.
SQL_QUOTED_IDENTIFIER_CASE = 505,
- /*
- * Retrieves a boolean value indicating whether all tables are selectable.
- *
- * Returns:
- * - false: if not all tables are selectable or if none are;
- * - true: if all tables are selectable.
- */
+ /// Retrieves a boolean value indicating whether all tables are
+ /// selectable.
+ ///
+ /// Returns:
+ /// - false: if not all tables are selectable or if none are;
+ /// - true: if all tables are selectable.
SQL_ALL_TABLES_ARE_SELECTABLE = 506,
- /*
- * Retrieves the null ordering.
- *
- * Returns a uint32 ordinal for the null ordering being used, as described in
- * `arrow.flight.protocol.sql.SqlNullOrdering`.
- */
+ /// Retrieves the null ordering used by the database as a int32
+ /// ordinal value.
+ ///
+ /// Returns a int32 ordinal for the null ordering being used, as
+ /// described in `arrow.flight.protocol.sql.SqlNullOrdering`.
SQL_NULL_ORDERING = 507,
- // Retrieves a UTF-8 string list with values of the supported keywords.
+ /// Retrieves a UTF-8 string list with values of the supported keywords.
SQL_KEYWORDS = 508,
- // Retrieves a UTF-8 string list with values of the supported numeric functions.
+ /// Retrieves a UTF-8 string list with values of the supported numeric functions.
SQL_NUMERIC_FUNCTIONS = 509,
- // Retrieves a UTF-8 string list with values of the supported string functions.
+ /// Retrieves a UTF-8 string list with values of the supported string functions.
SQL_STRING_FUNCTIONS = 510,
- // Retrieves a UTF-8 string list with values of the supported system functions.
+ /// Retrieves a UTF-8 string list with values of the supported system functions.
SQL_SYSTEM_FUNCTIONS = 511,
- // Retrieves a UTF-8 string list with values of the supported datetime functions.
+ /// Retrieves a UTF-8 string list with values of the supported datetime functions.
SQL_DATETIME_FUNCTIONS = 512,
- /*
- * Retrieves the UTF-8 string that can be used to escape wildcard characters.
- * This is the string that can be used to escape '_' or '%' in the catalog search
- * parameters that are a pattern (and therefore use one of the wildcard characters).
- * The '_' character represents any single character; the '%' character represents any
- * sequence of zero or more characters.
- */
+ /// Retrieves the UTF-8 string that can be used to escape wildcard characters.
+ /// This is the string that can be used to escape '_' or '%' in the catalog search
+ /// parameters that are a pattern (and therefore use one of the wildcard characters).
+ /// The '_' character represents any single character; the '%' character represents
+ /// any
+ /// sequence of zero or more characters.
SQL_SEARCH_STRING_ESCAPE = 513,
- /*
- * Retrieves a UTF-8 string with all the "extra" characters that can be used in
- * unquoted identifier names (those beyond a-z, A-Z, 0-9 and _).
- */
+ /// Retrieves a UTF-8 string with all the "extra" characters that can be used in
+ /// unquoted identifier names (those beyond a-z, A-Z, 0-9 and _).
SQL_EXTRA_NAME_CHARACTERS = 514,
- /*
- * Retrieves a boolean value indicating whether column aliasing is supported.
- * If so, the SQL AS clause can be used to provide names for computed columns or to
- * provide alias names for columns as required.
- *
- * Returns:
- * - false: if column aliasing is unsupported;
- * - true: if column aliasing is supported.
- */
+ /// Retrieves a boolean value indicating whether column aliasing is supported.
+ /// If so, the SQL AS clause can be used to provide names for computed columns or to
+ /// provide alias names for columns as required.
+ ///
+ /// Returns:
+ /// - false: if column aliasing is unsupported;
+ /// - true: if column aliasing is supported.
SQL_SUPPORTS_COLUMN_ALIASING = 515,
- /*
- * Retrieves a boolean value indicating whether concatenations between null and
- * non-null values being null are supported.
- *
- * - Returns:
- * - false: if concatenations between null and non-null values being null are
- * unsupported;
- * - true: if concatenations between null and non-null values being null are
- * supported.
- */
+ /// Retrieves a boolean value indicating whether concatenations between null and
+ /// non-null values being null are supported.
+ ///
+ /// - Returns:
+ /// - false: if concatenations between null and non-null values being null are
+ /// unsupported;
+ /// - true: if concatenations between null and non-null values being null are
+ /// supported.
SQL_NULL_PLUS_NULL_IS_NULL = 516,
- /*
- * Retrieves a map where the key is the type to convert from and the value is a list
- * with the types to convert to, indicating the supported conversions. Each key and
- * each item on the list value is a value to a predefined type on SqlSupportsConvert
- * enum. The returned map will be: map<int32, list<int32>>
- */
+ /// Retrieves a map where the key is the type to convert from and the value is a list
+ /// with the types to convert to, indicating the supported conversions. Each key and
+ /// each item on the list value is a value to a predefined type on SqlSupportsConvert
+ /// enum. The returned map will be: map<int32, list<int32>>
SQL_SUPPORTS_CONVERT = 517,
- /*
- * Retrieves a boolean value indicating whether, when table correlation names are
- * supported, they are restricted to being different from the names of the tables.
- *
- * Returns:
- * - false: if table correlation names are unsupported;
- * - true: if table correlation names are supported.
- */
+ /// Retrieves a boolean value indicating whether, when table correlation names are
+ /// supported, they are restricted to being different from the names of the tables.
+ ///
+ /// Returns:
+ /// - false: if table correlation names are unsupported;
+ /// - true: if table correlation names are supported.
SQL_SUPPORTS_TABLE_CORRELATION_NAMES = 518,
- /*
- * Retrieves a boolean value indicating whether, when table correlation names are
- * supported, they are restricted to being different from the names of the tables.
- *
- * Returns:
- * - false: if different table correlation names are unsupported;
- * - true: if different table correlation names are supported
- */
+ /// Retrieves a boolean value indicating whether, when table correlation names are
+ /// supported, they are restricted to being different from the names of the tables.
+ ///
+ /// Returns:
+ /// - false: if different table correlation names are unsupported;
+ /// - true: if different table correlation names are supported
SQL_SUPPORTS_DIFFERENT_TABLE_CORRELATION_NAMES = 519,
- /*
- * Retrieves a boolean value indicating whether expressions in ORDER BY lists are
- * supported.
- *
- * Returns:
- * - false: if expressions in ORDER BY are unsupported;
- * - true: if expressions in ORDER BY are supported;
- */
+ /// Retrieves a boolean value indicating whether expressions in ORDER BY lists are
+ /// supported.
+ ///
+ /// Returns:
+ /// - false: if expressions in ORDER BY are unsupported;
+ /// - true: if expressions in ORDER BY are supported;
SQL_SUPPORTS_EXPRESSIONS_IN_ORDER_BY = 520,
- /*
- * Retrieves a boolean value indicating whether using a column that is not in the
- * SELECT statement in a GROUP BY clause is supported.
- *
- * Returns:
- * - false: if using a column that is not in the SELECT statement in a GROUP BY clause
- * is unsupported;
- * - true: if using a column that is not in the SELECT statement in a GROUP BY clause
- * is supported.
- */
+ /// Retrieves a boolean value indicating whether using a column that is not in the
+ /// SELECT statement in a GROUP BY clause is supported.
+ ///
+ /// Returns:
+ /// - false: if using a column that is not in the SELECT statement in a GROUP BY
+ /// clause
+ /// is unsupported;
+ /// - true: if using a column that is not in the SELECT statement in a GROUP BY clause
+ /// is supported.
SQL_SUPPORTS_ORDER_BY_UNRELATED = 521,
- /*
- * Retrieves the supported GROUP BY commands;
- *
- * Returns an int32 bitmask value representing the supported commands.
- * The returned bitmask should be parsed in order to retrieve the supported commands.
- *
- * For instance:
- * - return 0 (\b0) => [] (GROUP BY is unsupported);
- * - return 1 (\b1) => [SQL_GROUP_BY_UNRELATED];
- * - return 2 (\b10) => [SQL_GROUP_BY_BEYOND_SELECT];
- * - return 3 (\b11) => [SQL_GROUP_BY_UNRELATED, SQL_GROUP_BY_BEYOND_SELECT].
- * Valid GROUP BY types are described under
- * `arrow.flight.protocol.sql.SqlSupportedGroupBy`.
- */
+ /// Retrieves the supported GROUP BY commands as an int32 bitmask.
+ /// The returned bitmask should be parsed in order to retrieve the supported commands.
+ ///
+ /// - return 0 (0b0) => [] (GROUP BY is unsupported);
+ /// - return 1 (0b1) => [SQL_GROUP_BY_UNRELATED];
+ /// - return 2 (0b10) => [SQL_GROUP_BY_BEYOND_SELECT];
+ /// - return 3 (0b11) => [SQL_GROUP_BY_UNRELATED, SQL_GROUP_BY_BEYOND_SELECT].
+ ///
+ /// Valid GROUP BY types are described under
+ /// `arrow.flight.protocol.sql.SqlSupportedGroupBy`.
SQL_SUPPORTED_GROUP_BY = 522,
- /*
- * Retrieves a boolean value indicating whether specifying a LIKE escape clause is
- * supported.
- *
- * Returns:
- * - false: if specifying a LIKE escape clause is unsupported;
- * - true: if specifying a LIKE escape clause is supported.
- */
+ /// Retrieves a boolean value indicating whether specifying a LIKE escape clause is
+ /// supported.
+ ///
+ /// Returns:
+ /// - false: if specifying a LIKE escape clause is unsupported;
+ /// - true: if specifying a LIKE escape clause is supported.
SQL_SUPPORTS_LIKE_ESCAPE_CLAUSE = 523,
- /*
- * Retrieves a boolean value indicating whether columns may be defined as
- * non-nullable.
- *
- * Returns:
- * - false: if columns cannot be defined as non-nullable;
- * - true: if columns may be defined as non-nullable.
- */
+ /// Retrieves a boolean value indicating whether columns may be defined as
+ /// non-nullable.
+ ///
+ /// Returns:
+ /// - false: if columns cannot be defined as non-nullable;
+ /// - true: if columns may be defined as non-nullable.
SQL_SUPPORTS_NON_NULLABLE_COLUMNS = 524,
- /*
- * Retrieves the supported SQL grammar level as per the ODBC specification.
- *
- * Returns an int32 bitmask value representing the supported SQL grammar level.
- * The returned bitmask should be parsed in order to retrieve the supported grammar
- * levels.
- *
- * For instance:
- * - return 0 (\b0) => [] (SQL grammar is unsupported);
- * - return 1 (\b1) => [SQL_MINIMUM_GRAMMAR];
- * - return 2 (\b10) => [SQL_CORE_GRAMMAR];
- * - return 3 (\b11) => [SQL_MINIMUM_GRAMMAR, SQL_CORE_GRAMMAR];
- * - return 4 (\b100) => [SQL_EXTENDED_GRAMMAR];
- * - return 5 (\b101) => [SQL_MINIMUM_GRAMMAR, SQL_EXTENDED_GRAMMAR];
- * - return 6 (\b110) => [SQL_CORE_GRAMMAR, SQL_EXTENDED_GRAMMAR];
- * - return 7 (\b111) => [SQL_MINIMUM_GRAMMAR, SQL_CORE_GRAMMAR,
- * SQL_EXTENDED_GRAMMAR]. Valid SQL grammar levels are described under
- * `arrow.flight.protocol.sql.SupportedSqlGrammar`.
- */
+ /// Retrieves the supported SQL grammar level as per the ODBC
+ /// specification.
+ ///
+ /// Returns an int32 bitmask value representing the supported SQL grammar
+ /// level. The returned bitmask should be parsed in order to retrieve the
+ /// supported grammar levels.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (SQL grammar is unsupported);
+ /// - return 1 (0b1) => [SQL_MINIMUM_GRAMMAR];
+ /// - return 2 (0b10) => [SQL_CORE_GRAMMAR];
+ /// - return 3 (0b11) => [SQL_MINIMUM_GRAMMAR, SQL_CORE_GRAMMAR];
+ /// - return 4 (0b100) => [SQL_EXTENDED_GRAMMAR];
+ /// - return 5 (0b101) => [SQL_MINIMUM_GRAMMAR, SQL_EXTENDED_GRAMMAR];
+ /// - return 6 (0b110) => [SQL_CORE_GRAMMAR, SQL_EXTENDED_GRAMMAR];
+ /// - return 7 (0b111) => [SQL_MINIMUM_GRAMMAR, SQL_CORE_GRAMMAR,
+ /// SQL_EXTENDED_GRAMMAR].
+ ///
+ /// Valid SQL grammar levels are described under
+ /// `arrow.flight.protocol.sql.SupportedSqlGrammar`.
SQL_SUPPORTED_GRAMMAR = 525,
- /*
- * Retrieves the supported ANSI92 SQL grammar level.
- *
- * Returns an int32 bitmask value representing the supported ANSI92 SQL grammar level.
- * The returned bitmask should be parsed in order to retrieve the supported commands.
- *
- * For instance:
- * - return 0 (\b0) => [] (ANSI92 SQL grammar is unsupported);
- * - return 1 (\b1) => [ANSI92_ENTRY_SQL];
- * - return 2 (\b10) => [ANSI92_INTERMEDIATE_SQL];
- * - return 3 (\b11) => [ANSI92_ENTRY_SQL, ANSI92_INTERMEDIATE_SQL];
- * - return 4 (\b100) => [ANSI92_FULL_SQL];
- * - return 5 (\b101) => [ANSI92_ENTRY_SQL, ANSI92_FULL_SQL];
- * - return 6 (\b110) => [ANSI92_INTERMEDIATE_SQL, ANSI92_FULL_SQL];
- * - return 7 (\b111) => [ANSI92_ENTRY_SQL, ANSI92_INTERMEDIATE_SQL, ANSI92_FULL_SQL].
- * Valid ANSI92 SQL grammar levels are described under
- * `arrow.flight.protocol.sql.SupportedAnsi92SqlGrammarLevel`.
- */
+ /// Retrieves the supported ANSI92 SQL grammar level as per the ODBC
+ /// specification.
+ ///
+ /// Returns an int32 bitmask value representing the supported ANSI92 SQL
+ /// grammar level. The returned bitmask should be parsed in order to
+ /// retrieve the supported grammar levels.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (ANSI92 SQL grammar is unsupported);
+ /// - return 1 (0b1) => [ANSI92_ENTRY_SQL];
+ /// - return 2 (0b10) => [ANSI92_INTERMEDIATE_SQL];
+ /// - return 3 (0b11) => [ANSI92_ENTRY_SQL, ANSI92_INTERMEDIATE_SQL];
+ /// - return 4 (0b100) => [ANSI92_FULL_SQL];
+ /// - return 5 (0b101) => [ANSI92_ENTRY_SQL, ANSI92_FULL_SQL];
+ /// - return 6 (0b110) => [ANSI92_INTERMEDIATE_SQL, ANSI92_FULL_SQL];
+ /// - return 7 (0b111) => [ANSI92_ENTRY_SQL, ANSI92_INTERMEDIATE_SQL,
+ /// ANSI92_FULL_SQL].
+ ///
+ /// Valid ANSI92 SQL grammar levels are described under
+ /// `arrow.flight.protocol.sql.SupportedAnsi92SqlGrammarLevel`.
SQL_ANSI92_SUPPORTED_LEVEL = 526,
- /*
- * Retrieves a boolean value indicating whether the SQL Integrity Enhancement Facility
- * is supported.
- *
- * Returns:
- * - false: if the SQL Integrity Enhancement Facility is supported;
- * - true: if the SQL Integrity Enhancement Facility is supported.
- */
+ /// Retrieves a boolean value indicating whether the SQL Integrity
+ /// Enhancement Facility is supported.
+ ///
+ /// Returns:
+ /// - false: if the SQL Integrity Enhancement Facility is supported;
+ /// - true: if the SQL Integrity Enhancement Facility is supported.
SQL_SUPPORTS_INTEGRITY_ENHANCEMENT_FACILITY = 527,
- /*
- * Retrieves the support level for SQL OUTER JOINs.
- *
- * Returns a uint3 uint32 ordinal for the SQL ordering being used, as described in
- * `arrow.flight.protocol.sql.SqlOuterJoinsSupportLevel`.
- */
+ /// Retrieves the support level for SQL OUTER JOINs as an int32 ordinal, as
+ /// described in `arrow.flight.protocol.sql.SqlOuterJoinsSupportLevel`.
SQL_OUTER_JOINS_SUPPORT_LEVEL = 528,
- // Retrieves a UTF-8 string with the preferred term for "schema".
+ /// Retrieves a UTF-8 string with the preferred term for "schema".
SQL_SCHEMA_TERM = 529,
- // Retrieves a UTF-8 string with the preferred term for "procedure".
+ /// Retrieves a UTF-8 string with the preferred term for "procedure".
SQL_PROCEDURE_TERM = 530,
- // Retrieves a UTF-8 string with the preferred term for "catalog".
+ /// Retrieves a UTF-8 string with the preferred term for "catalog".
SQL_CATALOG_TERM = 531,
- /*
- * Retrieves a boolean value indicating whether a catalog appears at the start of a
- * fully qualified table name.
- *
- * - false: if a catalog does not appear at the start of a fully qualified table name;
- * - true: if a catalog appears at the start of a fully qualified table name.
- */
+ /// Retrieves a boolean value indicating whether a catalog appears at the
+ /// start of a fully qualified table name.
+ ///
+ /// - false: if a catalog does not appear at the start of a fully qualified table
+ /// name;
+ /// - true: if a catalog appears at the start of a fully qualified table name.
SQL_CATALOG_AT_START = 532,
- /*
- * Retrieves the supported actions for a SQL schema.
- *
- * Returns an int32 bitmask value representing the supported actions for a SQL schema.
- * The returned bitmask should be parsed in order to retrieve the supported actions
- * for a SQL schema.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported actions for SQL schema);
- * - return 1 (\b1) => [SQL_ELEMENT_IN_PROCEDURE_CALLS];
- * - return 2 (\b10) => [SQL_ELEMENT_IN_INDEX_DEFINITIONS];
- * - return 3 (\b11) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
- * SQL_ELEMENT_IN_INDEX_DEFINITIONS];
- * - return 4 (\b100) => [SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
- * - return 5 (\b101) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
- * SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
- * - return 6 (\b110) => [SQL_ELEMENT_IN_INDEX_DEFINITIONS,
- * SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
- * - return 7 (\b111) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
- * SQL_ELEMENT_IN_INDEX_DEFINITIONS, SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS]. Valid
- * actions for a SQL schema described under
- * `arrow.flight.protocol.sql.SqlSupportedElementActions`.
- */
+ /// Retrieves the supported actions for a SQL database schema as an int32
+ /// bitmask value.
+ ///
+ /// Returns an int32 bitmask value representing the supported actions for a
+ /// SQL schema. The returned bitmask should be parsed in order to retrieve
+ /// the supported actions for a SQL schema.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported actions for SQL schema);
+ /// - return 1 (0b1) => [SQL_ELEMENT_IN_PROCEDURE_CALLS];
+ /// - return 2 (0b10) => [SQL_ELEMENT_IN_INDEX_DEFINITIONS];
+ /// - return 3 (0b11) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
+ /// SQL_ELEMENT_IN_INDEX_DEFINITIONS];
+ /// - return 4 (0b100) => [SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
+ /// - return 5 (0b101) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
+ /// SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
+ /// - return 6 (0b110) => [SQL_ELEMENT_IN_INDEX_DEFINITIONS,
+ /// SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
+ /// - return 7 (0b111) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
+ /// SQL_ELEMENT_IN_INDEX_DEFINITIONS, SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS].
+ ///
+ /// Valid actions for a SQL schema described under
+ /// `arrow.flight.protocol.sql.SqlSupportedElementActions`.
SQL_SCHEMAS_SUPPORTED_ACTIONS = 533,
- /*
- * Retrieves the supported actions for a SQL schema.
- *
- * Returns an int32 bitmask value representing the supported actions for a SQL
- * catalog. The returned bitmask should be parsed in order to retrieve the supported
- * actions for a SQL catalog.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported actions for SQL catalog);
- * - return 1 (\b1) => [SQL_ELEMENT_IN_PROCEDURE_CALLS];
- * - return 2 (\b10) => [SQL_ELEMENT_IN_INDEX_DEFINITIONS];
- * - return 3 (\b11) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
- * SQL_ELEMENT_IN_INDEX_DEFINITIONS];
- * - return 4 (\b100) => [SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
- * - return 5 (\b101) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
- * SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
- * - return 6 (\b110) => [SQL_ELEMENT_IN_INDEX_DEFINITIONS,
- * SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
- * - return 7 (\b111) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
- * SQL_ELEMENT_IN_INDEX_DEFINITIONS, SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS]. Valid
- * actions for a SQL catalog are described under
- * `arrow.flight.protocol.sql.SqlSupportedElementActions`.
- */
+ /// Retrieves the supported actions for a SQL catalog as an int32 bitmask
+ /// value.
+ ///
+ /// Returns an int32 bitmask value representing the supported actions for a SQL
+ /// catalog. The returned bitmask should be parsed in order to retrieve the supported
+ /// actions for a SQL catalog.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported actions for SQL catalog);
+ /// - return 1 (0b1) => [SQL_ELEMENT_IN_PROCEDURE_CALLS];
+ /// - return 2 (0b10) => [SQL_ELEMENT_IN_INDEX_DEFINITIONS];
+ /// - return 3 (0b11) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
+ /// SQL_ELEMENT_IN_INDEX_DEFINITIONS];
+ /// - return 4 (0b100) => [SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
+ /// - return 5 (0b101) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
+ /// SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
+ /// - return 6 (0b110) => [SQL_ELEMENT_IN_INDEX_DEFINITIONS,
+ /// SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS];
+ /// - return 7 (0b111) => [SQL_ELEMENT_IN_PROCEDURE_CALLS,
+ /// SQL_ELEMENT_IN_INDEX_DEFINITIONS, SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS].
+ ///
+ /// Valid actions for a SQL catalog are described under
+ /// `arrow.flight.protocol.sql.SqlSupportedElementActions`.
SQL_CATALOGS_SUPPORTED_ACTIONS = 534,
- /*
- * Retrieves the supported SQL positioned commands.
- *
- * Returns an int32 bitmask value representing the supported SQL positioned commands.
- * The returned bitmask should be parsed in order to retrieve the supported SQL
- * positioned commands.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported SQL positioned commands);
- * - return 1 (\b1) => [SQL_POSITIONED_DELETE];
- * - return 2 (\b10) => [SQL_POSITIONED_UPDATE];
- * - return 3 (\b11) => [SQL_POSITIONED_DELETE, SQL_POSITIONED_UPDATE].
- * Valid SQL positioned commands are described under
- * `arrow.flight.protocol.sql.SqlSupportedPositionedCommands`.
- */
+ /// Retrieves the supported SQL positioned commands as an int32 bitmask
+ /// value.
+ ///
+ /// Returns an int32 bitmask value representing the supported SQL positioned commands.
+ /// The returned bitmask should be parsed in order to retrieve the supported SQL
+ /// positioned commands.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported SQL positioned commands);
+ /// - return 1 (0b1) => [SQL_POSITIONED_DELETE];
+ /// - return 2 (0b10) => [SQL_POSITIONED_UPDATE];
+ /// - return 3 (0b11) => [SQL_POSITIONED_DELETE, SQL_POSITIONED_UPDATE].
+ ///
+ /// Valid SQL positioned commands are described under
+ /// `arrow.flight.protocol.sql.SqlSupportedPositionedCommands`.
SQL_SUPPORTED_POSITIONED_COMMANDS = 535,
- /*
- * Retrieves a boolean value indicating whether SELECT FOR UPDATE statements are
- * supported.
- *
- * Returns:
- * - false: if SELECT FOR UPDATE statements are unsupported;
- * - true: if SELECT FOR UPDATE statements are supported.
- */
+ /// Retrieves a boolean value indicating whether SELECT FOR UPDATE
+ /// statements are supported.
+ ///
+ /// Returns:
+ /// - false: if SELECT FOR UPDATE statements are unsupported;
+ /// - true: if SELECT FOR UPDATE statements are supported.
SQL_SELECT_FOR_UPDATE_SUPPORTED = 536,
- /*
- * Retrieves a boolean value indicating whether stored procedure calls that use the
- * stored procedure escape syntax are supported.
- *
- * Returns:
- * - false: if stored procedure calls that use the stored procedure escape syntax are
- * unsupported;
- * - true: if stored procedure calls that use the stored procedure escape syntax are
- * supported.
- */
+ /// Retrieves a boolean value indicating whether stored procedure calls
+ /// that use the stored procedure escape syntax are supported.
+ ///
+ /// Returns:
+ /// - false: if stored procedure calls that use the stored procedure escape syntax are
+ /// unsupported;
+ /// - true: if stored procedure calls that use the stored procedure escape syntax are
+ /// supported.
SQL_STORED_PROCEDURES_SUPPORTED = 537,
- /*
- * Retrieves the supported SQL subqueries.
- *
- * Returns an int32 bitmask value representing the supported SQL subqueries.
- * The returned bitmask should be parsed in order to retrieve the supported SQL
- * subqueries.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported SQL subqueries);
- * - return 1 (\b1) => [SQL_SUBQUERIES_IN_COMPARISONS];
- * - return 2 (\b10) => [SQL_SUBQUERIES_IN_EXISTS];
- * - return 3 (\b11) => [SQL_SUBQUERIES_IN_COMPARISONS,
- * SQL_SUBQUERIES_IN_EXISTS];
- * - return 4 (\b100) => [SQL_SUBQUERIES_IN_INS];
- * - return 5 (\b101) => [SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_INS];
- * - return 6 (\b110) => [SQL_SUBQUERIES_IN_COMPARISONS,
- * SQL_SUBQUERIES_IN_EXISTS];
- * - return 7 (\b111) => [SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_EXISTS,
- * SQL_SUBQUERIES_IN_INS];
- * - return 8 (\b1000) => [SQL_SUBQUERIES_IN_QUANTIFIEDS];
- * - return 9 (\b1001) => [SQL_SUBQUERIES_IN_COMPARISONS,
- * SQL_SUBQUERIES_IN_QUANTIFIEDS];
- * - return 10 (\b1010) => [SQL_SUBQUERIES_IN_EXISTS,
- * SQL_SUBQUERIES_IN_QUANTIFIEDS];
- * - return 11 (\b1011) => [SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_EXISTS,
- * SQL_SUBQUERIES_IN_QUANTIFIEDS];
- * - return 12 (\b1100) => [SQL_SUBQUERIES_IN_INS, SQL_SUBQUERIES_IN_QUANTIFIEDS];
- * - return 13 (\b1101) => [SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_INS,
- * SQL_SUBQUERIES_IN_QUANTIFIEDS];
- * - return 14 (\b1110) => [SQL_SUBQUERIES_IN_EXISTS, SQL_SUBQUERIES_IN_INS,
- * SQL_SUBQUERIES_IN_QUANTIFIEDS];
- * - return 15 (\b1111) => [SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_EXISTS,
- * SQL_SUBQUERIES_IN_INS, SQL_SUBQUERIES_IN_QUANTIFIEDS];
- * - ...
- * Valid SQL subqueries are described under
- * `arrow.flight.protocol.sql.SqlSupportedSubqueries`.
- */
+ /// Retrieves the types of supported SQL subqueries as an int32 bitmask
+ /// value.
+ ///
+ /// Returns an int32 bitmask value representing the supported SQL
+ /// subqueries. The returned bitmask should be parsed in order to retrieve
+ /// the supported SQL subqueries.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported SQL subqueries);
+ /// - return 1 (0b1) => [SQL_SUBQUERIES_IN_COMPARISONS];
+ /// - return 2 (0b10) => [SQL_SUBQUERIES_IN_EXISTS];
+ /// - return 3 (0b11) => [SQL_SUBQUERIES_IN_COMPARISONS,
+ /// SQL_SUBQUERIES_IN_EXISTS];
+ /// - return 4 (0b100) => [SQL_SUBQUERIES_IN_INS];
+ /// - return 5 (0b101) => [SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_INS];
+ /// - return 6 (0b110) => [SQL_SUBQUERIES_IN_COMPARISONS,
+ /// SQL_SUBQUERIES_IN_EXISTS];
+ /// - return 7 (0b111) => [SQL_SUBQUERIES_IN_COMPARISONS,
+ /// SQL_SUBQUERIES_IN_EXISTS,
+ /// SQL_SUBQUERIES_IN_INS];
+ /// - return 8 (0b1000) => [SQL_SUBQUERIES_IN_QUANTIFIEDS];
+ /// - return 9 (0b1001) => [SQL_SUBQUERIES_IN_COMPARISONS,
+ /// SQL_SUBQUERIES_IN_QUANTIFIEDS];
+ /// - return 10 (0b1010) => [SQL_SUBQUERIES_IN_EXISTS,
+ /// SQL_SUBQUERIES_IN_QUANTIFIEDS];
+ /// - return 11 (0b1011) => [SQL_SUBQUERIES_IN_COMPARISONS,
+ /// SQL_SUBQUERIES_IN_EXISTS,
+ /// SQL_SUBQUERIES_IN_QUANTIFIEDS];
+ /// - return 12 (0b1100) => [SQL_SUBQUERIES_IN_INS, SQL_SUBQUERIES_IN_QUANTIFIEDS];
+ /// - return 13 (0b1101) => [SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_INS,
+ /// SQL_SUBQUERIES_IN_QUANTIFIEDS];
+ /// - return 14 (0b1110) => [SQL_SUBQUERIES_IN_EXISTS, SQL_SUBQUERIES_IN_INS,
+ /// SQL_SUBQUERIES_IN_QUANTIFIEDS];
+ /// - return 15 (0b1111) => [SQL_SUBQUERIES_IN_COMPARISONS,
+ /// SQL_SUBQUERIES_IN_EXISTS,
+ /// SQL_SUBQUERIES_IN_INS, SQL_SUBQUERIES_IN_QUANTIFIEDS];
+ /// - ...
+ ///
+ /// Valid SQL subqueries are described under
+ /// `arrow.flight.protocol.sql.SqlSupportedSubqueries`.
SQL_SUPPORTED_SUBQUERIES = 538,
- /*
- * Retrieves a boolean value indicating whether correlated subqueries are supported.
- *
- * Returns:
- * - false: if correlated subqueries are unsupported;
- * - true: if correlated subqueries are supported.
- */
+ /// Retrieves a boolean value indicating whether correlated subqueries are
+ /// supported.
+ ///
+ /// Returns:
+ /// - false: if correlated subqueries are unsupported;
+ /// - true: if correlated subqueries are supported.
SQL_CORRELATED_SUBQUERIES_SUPPORTED = 539,
- /*
- * Retrieves the supported SQL UNIONs.
- *
- * Returns an int32 bitmask value representing the supported SQL UNIONs.
- * The returned bitmask should be parsed in order to retrieve the supported SQL
- * UNIONs.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported SQL positioned commands);
- * - return 1 (\b1) => [SQL_UNION];
- * - return 2 (\b10) => [SQL_UNION_ALL];
- * - return 3 (\b11) => [SQL_UNION, SQL_UNION_ALL].
- * Valid SQL positioned commands are described under
- * `arrow.flight.protocol.sql.SqlSupportedUnions`.
- */
+ /// Retrieves the supported SQL UNION features as an int32 bitmask
+ /// value.
+ ///
+ /// Returns an int32 bitmask value representing the supported SQL UNIONs.
+ /// The returned bitmask should be parsed in order to retrieve the supported SQL
+ /// UNIONs.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported SQL positioned commands);
+ /// - return 1 (0b1) => [SQL_UNION];
+ /// - return 2 (0b10) => [SQL_UNION_ALL];
+ /// - return 3 (0b11) => [SQL_UNION, SQL_UNION_ALL].
+ ///
+ /// Valid SQL union operators are described under
+ /// `arrow.flight.protocol.sql.SqlSupportedUnions`.
SQL_SUPPORTED_UNIONS = 540,
- // Retrieves a uint32 value representing the maximum number of hex characters allowed
- // in an inline binary literal.
+ /// Retrieves a int64 value representing the maximum number of hex
+ /// characters allowed in an inline binary literal.
SQL_MAX_BINARY_LITERAL_LENGTH = 541,
- // Retrieves a uint32 value representing the maximum number of characters allowed for
- // a character literal.
+ /// Retrieves a int64 value representing the maximum number of characters
+ /// allowed for a character literal.
SQL_MAX_CHAR_LITERAL_LENGTH = 542,
- // Retrieves a uint32 value representing the maximum number of characters allowed for
- // a column name.
+ /// Retrieves a int64 value representing the maximum number of characters
+ /// allowed for a column name.
SQL_MAX_COLUMN_NAME_LENGTH = 543,
- // Retrieves a uint32 value representing the the maximum number of columns allowed in
- // a GROUP BY clause.
+ /// Retrieves a int64 value representing the the maximum number of columns
+ /// allowed in a GROUP BY clause.
SQL_MAX_COLUMNS_IN_GROUP_BY = 544,
- // Retrieves a uint32 value representing the maximum number of columns allowed in an
- // index.
+ /// Retrieves a int64 value representing the maximum number of columns
+ /// allowed in an index.
SQL_MAX_COLUMNS_IN_INDEX = 545,
- // Retrieves a uint32 value representing the maximum number of columns allowed in an
- // ORDER BY clause.
+ /// Retrieves a int64 value representing the maximum number of columns
+ /// allowed in an ORDER BY clause.
SQL_MAX_COLUMNS_IN_ORDER_BY = 546,
- // Retrieves a uint32 value representing the maximum number of columns allowed in a
- // SELECT list.
+ /// Retrieves a int64 value representing the maximum number of columns
+ /// allowed in a SELECT list.
SQL_MAX_COLUMNS_IN_SELECT = 547,
- // Retrieves a uint32 value representing the maximum number of columns allowed in a
- // table.
+ /// Retrieves a int64 value representing the maximum number of columns
+ /// allowed in a table.
SQL_MAX_COLUMNS_IN_TABLE = 548,
- // Retrieves a uint32 value representing the maximum number of concurrent connections
- // possible.
+ /// Retrieves a int64 value representing the maximum number of concurrent
+ /// connections possible.
SQL_MAX_CONNECTIONS = 549,
- // Retrieves a uint32 value the maximum number of characters allowed in a cursor name.
+ /// Retrieves a int64 value the maximum number of characters allowed in a
+ /// cursor name.
SQL_MAX_CURSOR_NAME_LENGTH = 550,
- /*
- * Retrieves a uint32 value representing the maximum number of bytes allowed for an
- * index, including all of the parts of the index.
- */
+ /// Retrieves a int64 value representing the maximum number of bytes
+ /// allowed for an index, including all of the parts of the index.
SQL_MAX_INDEX_LENGTH = 551,
- // Retrieves a uint32 value representing the maximum number of characters allowed in a
- // procedure name.
+ /// Retrieves a int64 value representing the maximum number of characters
+ /// allowed in a procedure name.
SQL_SCHEMA_NAME_LENGTH = 552,
- // Retrieves a uint32 value representing the maximum number of bytes allowed in a
- // single row.
+ /// Retrieves a int64 value representing the maximum number of bytes
+ /// allowed in a single row.
SQL_MAX_PROCEDURE_NAME_LENGTH = 553,
- // Retrieves a uint32 value representing the maximum number of characters allowed in a
- // catalog name.
+ /// Retrieves a int64 value representing the maximum number of characters
+ /// allowed in a catalog name.
SQL_MAX_CATALOG_NAME_LENGTH = 554,
- // Retrieves a uint32 value representing the maximum number of bytes allowed in a
- // single row.
+ /// Retrieves a int64 value representing the maximum number of bytes
+ /// allowed in a single row.
SQL_MAX_ROW_SIZE = 555,
- /*
- * Retrieves a boolean indicating whether the return value for the JDBC method
- * getMaxRowSize includes the SQL data types LONGVARCHAR and LONGVARBINARY.
- *
- * Returns:
- * - false: if return value for the JDBC method getMaxRowSize does
- * not include the SQL data types LONGVARCHAR and LONGVARBINARY;
- * - true: if return value for the JDBC method getMaxRowSize includes
- * the SQL data types LONGVARCHAR and LONGVARBINARY.
- */
+ /// Retrieves a boolean indicating whether the return value for the JDBC
+ /// method getMaxRowSize includes the SQL data types LONGVARCHAR and
+ /// LONGVARBINARY.
+ ///
+ /// Returns:
+ /// - false: if return value for the JDBC method getMaxRowSize does
+ /// not include the SQL data types LONGVARCHAR and LONGVARBINARY;
+ /// - true: if return value for the JDBC method getMaxRowSize includes
+ /// the SQL data types LONGVARCHAR and LONGVARBINARY.
SQL_MAX_ROW_SIZE_INCLUDES_BLOBS = 556,
- /*
- * Retrieves a uint32 value representing the maximum number of characters allowed for
- * an SQL statement; a result of 0 (zero) means that there is no limit or the limit is
- * not known.
- */
+ /// Retrieves a int32 value representing the maximum number of characters
+ /// allowed for an SQL statement; a result of 0 (zero) means that there is
+ /// no limit or the limit is not known.
SQL_MAX_STATEMENT_LENGTH = 557,
- // Retrieves a uint32 value representing the maximum number of active statements that
- // can be open at the same time.
+ /// Retrieves a int32 value representing the maximum number of active
+ /// statements that can be open at the same time.
SQL_MAX_STATEMENTS = 558,
- // Retrieves a uint32 value representing the maximum number of characters allowed in a
- // table name.
+ /// Retrieves a int32 value representing the maximum number of characters
+ /// allowed in a table name.
SQL_MAX_TABLE_NAME_LENGTH = 559,
- // Retrieves a uint32 value representing the maximum number of tables allowed in a
- // SELECT statement.
+ /// Retrieves a int32 value representing the maximum number of tables
+ /// allowed in a SELECT statement.
SQL_MAX_TABLES_IN_SELECT = 560,
- // Retrieves a uint32 value representing the maximum number of characters allowed in a
- // user name.
+ /// Retrieves a int32 value representing the maximum number of characters
+ /// allowed in a user name.
SQL_MAX_USERNAME_LENGTH = 561,
- /*
- * Retrieves this database's default transaction isolation level as described in
- * `arrow.flight.protocol.sql.SqlTransactionIsolationLevel`.
- *
- * Returns a uint32 ordinal for the SQL transaction isolation level.
- */
+ /// Retrieves this database's default transaction isolation level as
+ /// described in `arrow.flight.protocol.sql.SqlTransactionIsolationLevel`.
+ ///
+ /// Returns a int32 ordinal for the SQL transaction isolation level.
SQL_DEFAULT_TRANSACTION_ISOLATION = 562,
- /*
- * Retrieves a boolean value indicating whether transactions are supported. If not,
- * invoking the method commit is a noop, and the isolation level is
- * `arrow.flight.protocol.sql.SqlTransactionIsolationLevel.TRANSACTION_NONE`.
- *
- * Returns:
- * - false: if transactions are unsupported;
- * - true: if transactions are supported.
- */
+ /// Retrieves a boolean value indicating whether transactions are
+ /// supported. If not, invoking the method commit is a noop, and the
+ /// isolation level is
+ /// `arrow.flight.protocol.sql.SqlTransactionIsolationLevel.TRANSACTION_NONE`.
+ ///
+ /// Returns:
+ /// - false: if transactions are unsupported;
+ /// - true: if transactions are supported.
SQL_TRANSACTIONS_SUPPORTED = 563,
- /*
- * Retrieves the supported transactions isolation levels.
- *
- * Returns an int32 bitmask value representing the supported transactions isolation
- * levels. The returned bitmask should be parsed in order to retrieve the supported
- * transactions isolation levels.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported SQL transactions isolation levels);
- * - return 1 (\b1) => [SQL_TRANSACTION_NONE];
- * - return 2 (\b10) => [SQL_TRANSACTION_READ_UNCOMMITTED];
- * - return 3 (\b11) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED];
- * - return 4 (\b100) => [SQL_TRANSACTION_REPEATABLE_READ];
- * - return 5 (\b101) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_REPEATABLE_READ];
- * - return 6 (\b110) => [SQL_TRANSACTION_READ_UNCOMMITTED,
- * SQL_TRANSACTION_REPEATABLE_READ];
- * - return 7 (\b111) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED,
- * SQL_TRANSACTION_REPEATABLE_READ];
- * - return 8 (\b1000) => [SQL_TRANSACTION_REPEATABLE_READ];
- * - return 9 (\b1001) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_REPEATABLE_READ];
- * - return 10 (\b1010) => [SQL_TRANSACTION_READ_UNCOMMITTED,
- * SQL_TRANSACTION_REPEATABLE_READ];
- * - return 11 (\b1011) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED,
- * SQL_TRANSACTION_REPEATABLE_READ];
- * - return 12 (\b1100) => [SQL_TRANSACTION_REPEATABLE_READ,
- * SQL_TRANSACTION_REPEATABLE_READ];
- * - return 13 (\b1101) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_REPEATABLE_READ,
- * SQL_TRANSACTION_REPEATABLE_READ];
- * - return 14 (\b1110) => [SQL_TRANSACTION_READ_UNCOMMITTED,
- * SQL_TRANSACTION_REPEATABLE_READ, SQL_TRANSACTION_REPEATABLE_READ];
- * - return 15 (\b1111) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED,
- * SQL_TRANSACTION_REPEATABLE_READ, SQL_TRANSACTION_REPEATABLE_READ];
- * - return 16 (\b10000) => [SQL_TRANSACTION_SERIALIZABLE];
- * - ...
- * Valid SQL positioned commands are described under
- * `arrow.flight.protocol.sql.SqlTransactionIsolationLevel`.
- */
+ /// Retrieves the supported transactions isolation levels, if transactions
+ /// are supported.
+ ///
+ /// Returns an int32 bitmask value representing the supported transactions
+ /// isolation levels. The returned bitmask should be parsed in order to
+ /// retrieve the supported transactions isolation levels.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported SQL transactions isolation levels);
+ /// - return 1 (0b1) => [SQL_TRANSACTION_NONE];
+ /// - return 2 (0b10) => [SQL_TRANSACTION_READ_UNCOMMITTED];
+ /// - return 3 (0b11) => [SQL_TRANSACTION_NONE,
+ /// SQL_TRANSACTION_READ_UNCOMMITTED];
+ /// - return 4 (0b100) => [SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 5 (0b101) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 6 (0b110) => [SQL_TRANSACTION_READ_UNCOMMITTED,
+ /// SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 7 (0b111) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED,
+ /// SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 8 (0b1000) => [SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 9 (0b1001) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 10 (0b1010) => [SQL_TRANSACTION_READ_UNCOMMITTED,
+ /// SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 11 (0b1011) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED,
+ /// SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 12 (0b1100) => [SQL_TRANSACTION_REPEATABLE_READ,
+ /// SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 13 (0b1101) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_REPEATABLE_READ,
+ /// SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 14 (0b1110) => [SQL_TRANSACTION_READ_UNCOMMITTED,
+ /// SQL_TRANSACTION_REPEATABLE_READ, SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 15 (0b1111) => [SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED,
+ /// SQL_TRANSACTION_REPEATABLE_READ, SQL_TRANSACTION_REPEATABLE_READ];
+ /// - return 16 (0b10000) => [SQL_TRANSACTION_SERIALIZABLE];
+ /// - ...
+ ///
+ /// Valid SQL positioned commands are described under
+ /// `arrow.flight.protocol.sql.SqlTransactionIsolationLevel`.
SQL_SUPPORTED_TRANSACTIONS_ISOLATION_LEVELS = 564,
- /*
- * Retrieves a boolean value indicating whether a data definition statement within a
- * transaction forces the transaction to commit.
- *
- * Returns:
- * - false: if a data definition statement within a transaction does not force the
- * transaction to commit;
- * - true: if a data definition statement within a transaction forces the transaction
- * to commit.
- */
+ /// Retrieves a boolean value indicating whether a data definition
+ /// statement within a transaction forces the transaction to commit.
+ ///
+ /// Returns:
+ /// - false: if a data definition statement within a transaction does not force the
+ /// transaction to commit;
+ /// - true: if a data definition statement within a transaction forces the transaction
+ /// to commit.
SQL_DATA_DEFINITION_CAUSES_TRANSACTION_COMMIT = 565,
- /*
- * Retrieves a boolean value indicating whether a data definition statement within a
- * transaction is ignored.
- *
- * Returns:
- * - false: if a data definition statement within a transaction is taken into account;
- * - true: a data definition statement within a transaction is ignored.
- */
+ /// Retrieves a boolean value indicating whether a data definition
+ /// statement within a transaction is ignored.
+ ///
+ /// Returns:
+ /// - false: if a data definition statement within a transaction is taken into
+ /// account;
+ /// - true: a data definition statement within a transaction is ignored.
SQL_DATA_DEFINITIONS_IN_TRANSACTIONS_IGNORED = 566,
- /*
- * Retrieves an int32 bitmask value representing the supported result set types.
- * The returned bitmask should be parsed in order to retrieve the supported result set
- * types.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported result set types);
- * - return 1 (\b1) => [SQL_RESULT_SET_TYPE_UNSPECIFIED];
- * - return 2 (\b10) => [SQL_RESULT_SET_TYPE_FORWARD_ONLY];
- * - return 3 (\b11) => [SQL_RESULT_SET_TYPE_UNSPECIFIED,
- * SQL_RESULT_SET_TYPE_FORWARD_ONLY];
- * - return 4 (\b100) => [SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE];
- * - return 5 (\b101) => [SQL_RESULT_SET_TYPE_UNSPECIFIED,
- * SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE];
- * - return 6 (\b110) => [SQL_RESULT_SET_TYPE_FORWARD_ONLY,
- * SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE];
- * - return 7 (\b111) => [SQL_RESULT_SET_TYPE_UNSPECIFIED,
- * SQL_RESULT_SET_TYPE_FORWARD_ONLY, SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE];
- * - return 8 (\b1000) => [SQL_RESULT_SET_TYPE_SCROLL_SENSITIVE];
- * - ...
- * Valid result set types are described under
- * `arrow.flight.protocol.sql.SqlSupportedResultSetType`.
- */
+ /// Retrieves an int32 bitmask value representing the supported result set
+ /// types. The returned bitmask should be parsed in order to retrieve the
+ /// supported result set types.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported result set types);
+ /// - return 1 (0b1) => [SQL_RESULT_SET_TYPE_UNSPECIFIED];
+ /// - return 2 (0b10) => [SQL_RESULT_SET_TYPE_FORWARD_ONLY];
+ /// - return 3 (0b11) => [SQL_RESULT_SET_TYPE_UNSPECIFIED,
+ /// SQL_RESULT_SET_TYPE_FORWARD_ONLY];
+ /// - return 4 (0b100) => [SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE];
+ /// - return 5 (0b101) => [SQL_RESULT_SET_TYPE_UNSPECIFIED,
+ /// SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE];
+ /// - return 6 (0b110) => [SQL_RESULT_SET_TYPE_FORWARD_ONLY,
+ /// SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE];
+ /// - return 7 (0b111) => [SQL_RESULT_SET_TYPE_UNSPECIFIED,
+ /// SQL_RESULT_SET_TYPE_FORWARD_ONLY, SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE];
+ /// - return 8 (0b1000) => [SQL_RESULT_SET_TYPE_SCROLL_SENSITIVE];
+ /// - ...
+ ///
+ /// Valid result set types are described under
+ /// `arrow.flight.protocol.sql.SqlSupportedResultSetType`.
SQL_SUPPORTED_RESULT_SET_TYPES = 567,
- /*
- * Returns an int32 bitmask value concurrency types supported for
- * `arrow.flight.protocol.sql.SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_UNSPECIFIED`.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported concurrency types for this result set type)
- * - return 1 (\b1) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED]
- * - return 2 (\b10) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
- * - return 3 (\b11) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
- * - return 4 (\b100) => [SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 5 (\b101) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 6 (\b110) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY,
- * SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 7 (\b111) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE] Valid
- * result set types are described under
- * `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
- */
+ /// Returns an int32 bitmask value representing the concurrency types
+ /// supported by the server for
+ /// `SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_UNSPECIFIED`.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported concurrency types for this result set type)
+ /// - return 1 (0b1) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED]
+ /// - return 2 (0b10) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
+ /// - return 3 (0b11) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
+ /// - return 4 (0b100) => [SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 5 (0b101) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 6 (0b110) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY,
+ /// SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 7 (0b111) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ ///
+ /// Valid result set types are described under
+ /// `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_UNSPECIFIED = 568,
- /*
- * Returns an int32 bitmask value concurrency types supported for
- * `arrow.flight.protocol.sql.SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_FORWARD_ONLY`.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported concurrency types for this result set type)
- * - return 1 (\b1) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED]
- * - return 2 (\b10) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
- * - return 3 (\b11) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
- * - return 4 (\b100) => [SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 5 (\b101) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 6 (\b110) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY,
- * SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 7 (\b111) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE] Valid
- * result set types are described under
- * `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
- */
+ /// Returns an int32 bitmask value representing the concurrency types
+ /// supported by the server for
+ /// `SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_FORWARD_ONLY`.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported concurrency types for this result set type)
+ /// - return 1 (0b1) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED]
+ /// - return 2 (0b10) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
+ /// - return 3 (0b11) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
+ /// - return 4 (0b100) => [SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 5 (0b101) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 6 (0b110) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY,
+ /// SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 7 (0b111) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ ///
+ /// Valid result set types are described under
+ /// `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_FORWARD_ONLY = 569,
- /*
- * Returns an int32 bitmask value concurrency types supported for
- * `arrow.flight.protocol.sql.SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_SCROLL_SENSITIVE`.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported concurrency types for this result set type)
- * - return 1 (\b1) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED]
- * - return 2 (\b10) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
- * - return 3 (\b11) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
- * - return 4 (\b100) => [SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 5 (\b101) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 6 (\b110) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY,
- * SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 7 (\b111) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE] Valid
- * result set types are described under
- * `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
- */
+ /// Returns an int32 bitmask value representing the concurrency types
+ /// supported by the server for
+ /// `SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_SCROLL_SENSITIVE`.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported concurrency types for this result set type)
+ /// - return 1 (0b1) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED]
+ /// - return 2 (0b10) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
+ /// - return 3 (0b11) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
+ /// - return 4 (0b100) => [SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 5 (0b101) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 6 (0b110) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY,
+ /// SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 7 (0b111) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ ///
+ /// Valid result set types are described under
+ /// `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_SCROLL_SENSITIVE = 570,
- /*
- * Returns an int32 bitmask value concurrency types supported for
- * `arrow.flight.protocol.sql.SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE`.
- *
- * For instance:
- * - return 0 (\b0) => [] (no supported concurrency types for this result set type)
- * - return 1 (\b1) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED]
- * - return 2 (\b10) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
- * - return 3 (\b11) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
- * - return 4 (\b100) => [SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 5 (\b101) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 6 (\b110) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY,
- * SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
- * - return 7 (\b111) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
- * SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE] Valid
- * result set types are described under
- * `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
- */
+ /// Returns an int32 bitmask value representing concurrency types supported
+ /// by the server for
+ /// `SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE`.
+ ///
+ /// For instance:
+ /// - return 0 (0b0) => [] (no supported concurrency types for this result set type)
+ /// - return 1 (0b1) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED]
+ /// - return 2 (0b10) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
+ /// - return 3 (0b11) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_READ_ONLY]
+ /// - return 4 (0b100) => [SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 5 (0b101) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 6 (0b110) => [SQL_RESULT_SET_CONCURRENCY_READ_ONLY,
+ /// SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ /// - return 7 (0b111) => [SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED,
+ /// SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE]
+ ///
+ /// Valid result set types are described under
+ /// `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_SCROLL_INSENSITIVE = 571,
- /*
- * Retrieves a boolean value indicating whether this database supports batch updates.
- *
- * - false: if this database does not support batch updates;
- * - true: if this database supports batch updates.
- */
+ /// Retrieves a boolean value indicating whether this database supports batch updates.
+ ///
+ /// - false: if this database does not support batch updates;
+ /// - true: if this database supports batch updates.
SQL_BATCH_UPDATES_SUPPORTED = 572,
- /*
- * Retrieves a boolean value indicating whether this database supports savepoints.
- *
- * Returns:
- * - false: if this database does not support savepoints;
- * - true: if this database supports savepoints.
- */
+ /// Retrieves a boolean value indicating whether this database supports savepoints.
+ ///
+ /// Returns:
+ /// - false: if this database does not support savepoints;
+ /// - true: if this database supports savepoints.
SQL_SAVEPOINTS_SUPPORTED = 573,
- /*
- * Retrieves a boolean value indicating whether named parameters are supported in
- * callable statements.
- *
- * Returns:
- * - false: if named parameters in callable statements are unsupported;
- * - true: if named parameters in callable statements are supported.
- */
+ /// Retrieves a boolean value indicating whether named parameters are supported in
+ /// callable statements.
+ ///
+ /// Returns:
+ /// - false: if named parameters in callable statements are unsupported;
+ /// - true: if named parameters in callable statements are supported.
SQL_NAMED_PARAMETERS_SUPPORTED = 574,
- /*
- * Retrieves a boolean value indicating whether updates made to a LOB are made on a
- * copy or directly to the LOB.
- *
- * Returns:
- * - false: if updates made to a LOB are made directly to the LOB;
- * - true: if updates made to a LOB are made on a copy.
- */
+ /// Retrieves a boolean value indicating whether updates made to a LOB are made on a
+ /// copy or directly to the LOB.
+ ///
+ /// Returns:
+ /// - false: if updates made to a LOB are made directly to the LOB;
+ /// - true: if updates made to a LOB are made on a copy.
SQL_LOCATORS_UPDATE_COPY = 575,
- /*
- * Retrieves a boolean value indicating whether invoking user-defined or vendor
- * functions using the stored procedure escape syntax is supported.
- *
- * Returns:
- * - false: if invoking user-defined or vendor functions using the stored procedure
- * escape syntax is unsupported;
- * - true: if invoking user-defined or vendor functions using the stored procedure
- * escape syntax is supported.
- */
+ /// Retrieves a boolean value indicating whether invoking user-defined or vendor
+ /// functions using the stored procedure escape syntax is supported.
+ ///
+ /// Returns:
+ /// - false: if invoking user-defined or vendor functions using the stored procedure
+ /// escape syntax is unsupported;
+ /// - true: if invoking user-defined or vendor functions using the stored procedure
+ /// escape syntax is supported.
SQL_STORED_FUNCTIONS_USING_CALL_SYNTAX_SUPPORTED = 576,
+
+ /// @}
};
+ /// Indicate whether something (e.g. an identifier) is case-sensitive.
enum SqlSupportedCaseSensitivity {
SQL_CASE_SENSITIVITY_UNKNOWN = 0,
SQL_CASE_SENSITIVITY_CASE_INSENSITIVE = 1,
SQL_CASE_SENSITIVITY_UPPERCASE = 2,
};
+ /// Indicate how nulls are sorted.
enum SqlNullOrdering {
SQL_NULLS_SORTED_HIGH = 0,
SQL_NULLS_SORTED_LOW = 1,
@@ -854,6 +809,7 @@ struct SqlInfoOptions {
SQL_NULLS_SORTED_AT_END = 3,
};
+ /// Type identifiers used to indicate support for converting between types.
enum SqlSupportsConvert {
SQL_CONVERT_BIGINT = 0,
SQL_CONVERT_BINARY = 1,
@@ -878,13 +834,18 @@ struct SqlInfoOptions {
};
};
-/// \brief Table reference, optionally containing table's catalog and db_schema.
+/// \brief A SQL %table reference, optionally containing table's catalog and db_schema.
struct TableRef {
+ /// \brief The table's catalog.
util::optional<std::string> catalog;
+ /// \brief The table's database schema.
util::optional<std::string> db_schema;
+ /// \brief The table name.
std::string table;
};
+/// @}
+
} // namespace sql
} // namespace flight
} // namespace arrow
diff --git a/docs/source/cpp/api.rst b/docs/source/cpp/api.rst
index 52aac88adb..3934f54aad 100644
--- a/docs/source/cpp/api.rst
+++ b/docs/source/cpp/api.rst
@@ -40,5 +40,6 @@ API Reference
api/formats
api/cuda
api/flight
+ api/flightsql
api/filesystem
api/dataset
diff --git a/docs/source/cpp/api.rst b/docs/source/cpp/api/flightsql.rst
similarity index 53%
copy from docs/source/cpp/api.rst
copy to docs/source/cpp/api/flightsql.rst
index 52aac88adb..565b605108 100644
--- a/docs/source/cpp/api.rst
+++ b/docs/source/cpp/api/flightsql.rst
@@ -15,30 +15,40 @@
.. specific language governing permissions and limitations
.. under the License.
-*************
-API Reference
-*************
-
-.. toctree::
- :maxdepth: 3
-
- api/support
- api/memory
- api/thread
- api/datatype
- api/array
- api/scalar
- api/builder
- api/table
- api/c_abi
- api/compute
- api/tensor
- api/utilities
- api/async
- api/io
- api/ipc
- api/formats
- api/cuda
- api/flight
- api/filesystem
- api/dataset
+.. default-domain:: cpp
+.. highlight:: cpp
+
+================
+Arrow Flight SQL
+================
+
+.. note:: Flight SQL is currently experimental and APIs are subject to change.
+
+Common Types
+============
+
+.. doxygengroup:: flight-sql-common-types
+ :members:
+
+Client
+======
+
+.. doxygenclass:: arrow::flight::sql::FlightSqlClient
+ :members:
+
+.. doxygenclass:: arrow::flight::sql::PreparedStatement
+ :members:
+
+Server
+======
+
+.. doxygenclass:: arrow::flight::sql::FlightSqlServerBase
+ :members:
+
+.. doxygenfunction:: arrow::flight::sql::CreateStatementQueryTicket
+
+.. doxygenclass:: arrow::flight::sql::SqlSchema
+ :members:
+
+.. doxygengroup:: flight-sql-protocol-messages
+ :members:
diff --git a/docs/source/format/FlightSql.rst b/docs/source/format/FlightSql.rst
index 3f062a85c6..f7521c3876 100644
--- a/docs/source/format/FlightSql.rst
+++ b/docs/source/format/FlightSql.rst
@@ -149,6 +149,21 @@ the ``type`` should be ``ClosePreparedStatement``).
When used with DoPut: execute the query and return the number of
affected rows.
+Sequence Diagrams
+=================
+
+.. figure:: ./FlightSql/CommandGetTables.mmd.svg
+
+ Listing available tables.
+
+.. figure:: ./FlightSql/CommandStatementQuery.mmd.svg
+
+ Executing an ad-hoc query.
+
+.. figure:: ./FlightSql/CommandPreparedStatementQuery.mmd.svg
+
+ Creating a prepared statement, then executing it.
+
External Resources
==================
diff --git a/docs/source/format/FlightSql/CommandGetTables.mmd b/docs/source/format/FlightSql/CommandGetTables.mmd
new file mode 100644
index 0000000000..f151411647
--- /dev/null
+++ b/docs/source/format/FlightSql/CommandGetTables.mmd
@@ -0,0 +1,29 @@
+%% Licensed to the Apache Software Foundation (ASF) under one
+%% or more contributor license agreements. See the NOTICE file
+%% distributed with this work for additional information
+%% regarding copyright ownership. The ASF licenses this file
+%% to you under the Apache License, Version 2.0 (the
+%% "License"); you may not use this file except in compliance
+%% with the License. You may obtain a copy of the License at
+%%
+%% http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing,
+%% software distributed under the License is distributed on an
+%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+%% KIND, either express or implied. See the License for the
+%% specific language governing permissions and limitations
+%% under the License.
+
+%% To generate the diagram, use mermaid-cli
+%% Example: docker run --rm -v $(pwd)/FlightSql:/data minlag/mermaid-cli -i /data/CommandGetTables.mmd
+
+sequenceDiagram
+autonumber
+
+participant Client
+participant Server
+Client->>Server: GetFlightInfo(CommandGetTables)
+Server->>Client: FlightInfo{…Ticket…}
+Client->>Server: DoGet(Ticket)
+Server->>Client: stream of FlightData
diff --git a/docs/source/format/FlightSql/CommandGetTables.mmd.svg b/docs/source/format/FlightSql/CommandGetTables.mmd.svg
new file mode 100644
index 0000000000..4e71c01982
--- /dev/null
+++ b/docs/source/format/FlightSql/CommandGetTables.mmd.svg
@@ -0,0 +1 @@
+<svg id="mermaid-1647978321168" width="100%" xmlns="http://www.w3.org/2000/svg" height="347" style="max-width: 568px; background-color: white;" viewBox="-50 -10 568 347"><style>#mermaid-1647978321168 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-1647978321168 .error-icon{fill:#552222;}#mermaid-1647978321168 .error-text{fill:#552222;stroke:#552222;}#mermaid-1647978321168 .edge-thickness-normal{stroke-width:2px;}#mermaid-1647978321168 .edge-thickne [...]
\ No newline at end of file
diff --git a/docs/source/format/FlightSql/CommandPreparedStatementQuery.mmd b/docs/source/format/FlightSql/CommandPreparedStatementQuery.mmd
new file mode 100644
index 0000000000..cb50522eb5
--- /dev/null
+++ b/docs/source/format/FlightSql/CommandPreparedStatementQuery.mmd
@@ -0,0 +1,39 @@
+%% Licensed to the Apache Software Foundation (ASF) under one
+%% or more contributor license agreements. See the NOTICE file
+%% distributed with this work for additional information
+%% regarding copyright ownership. The ASF licenses this file
+%% to you under the Apache License, Version 2.0 (the
+%% "License"); you may not use this file except in compliance
+%% with the License. You may obtain a copy of the License at
+%%
+%% http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing,
+%% software distributed under the License is distributed on an
+%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+%% KIND, either express or implied. See the License for the
+%% specific language governing permissions and limitations
+%% under the License.
+
+%% To generate the diagram, use mermaid-cli
+%% Example: docker run --rm -v $(pwd)/FlightSql:/data minlag/mermaid-cli -i /data/CommandPreparedStatementQuery.mmd
+
+sequenceDiagram
+autonumber
+
+participant Client
+participant Server
+Client->>Server: DoAction(ActionCreatePreparedStatementRequest)
+Server->>Client: ActionCreatePreparedStatementResult{handle}
+loop for each invocation of the prepared statement
+Client->>Server: DoPut(CommandPreparedStatementQuery)
+Client->>Server: stream of FlightData
+Client->>Server: GetFlightInfo(CommandPreparedStatementQuery)
+Server->>Client: FlightInfo{endpoints: [FlightEndpoint{…}, …]}
+ loop for each endpoint in FlightInfo.endpoints
+ Client->>Server: DoGet(endpoint.ticket)
+ Server->>Client: stream of FlightData
+ end
+end
+Client->>Server: DoAction(ActionClosePreparedStatementRequest)
+Server->>Client: ActionClosePreparedStatementRequest{}
diff --git a/docs/source/format/FlightSql/CommandPreparedStatementQuery.mmd.svg b/docs/source/format/FlightSql/CommandPreparedStatementQuery.mmd.svg
new file mode 100644
index 0000000000..96a5bc3688
--- /dev/null
+++ b/docs/source/format/FlightSql/CommandPreparedStatementQuery.mmd.svg
@@ -0,0 +1 @@
+<svg id="mermaid-1647978322142" width="100%" xmlns="http://www.w3.org/2000/svg" height="721" style="max-width: 686px; background-color: white;" viewBox="-50 -10 686 721"><style>#mermaid-1647978322142 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-1647978322142 .error-icon{fill:#552222;}#mermaid-1647978322142 .error-text{fill:#552222;stroke:#552222;}#mermaid-1647978322142 .edge-thickness-normal{stroke-width:2px;}#mermaid-1647978322142 .edge-thickne [...]
\ No newline at end of file
diff --git a/docs/source/format/FlightSql/CommandStatementQuery.mmd b/docs/source/format/FlightSql/CommandStatementQuery.mmd
new file mode 100644
index 0000000000..7b67fecfb7
--- /dev/null
+++ b/docs/source/format/FlightSql/CommandStatementQuery.mmd
@@ -0,0 +1,31 @@
+%% Licensed to the Apache Software Foundation (ASF) under one
+%% or more contributor license agreements. See the NOTICE file
+%% distributed with this work for additional information
+%% regarding copyright ownership. The ASF licenses this file
+%% to you under the Apache License, Version 2.0 (the
+%% "License"); you may not use this file except in compliance
+%% with the License. You may obtain a copy of the License at
+%%
+%% http://www.apache.org/licenses/LICENSE-2.0
+%%
+%% Unless required by applicable law or agreed to in writing,
+%% software distributed under the License is distributed on an
+%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+%% KIND, either express or implied. See the License for the
+%% specific language governing permissions and limitations
+%% under the License.
+
+%% To generate the diagram, use mermaid-cli
+%% Example: docker run --rm -v $(pwd)/FlightSql:/data minlag/mermaid-cli -i /data/CommandStatementQuery.mmd
+
+sequenceDiagram
+autonumber
+
+participant Client
+participant Server
+Client->>Server: GetFlightInfo(CommandStatementQuery)
+Server->>Client: FlightInfo{endpoints: [FlightEndpoint{…}, …]}
+loop for each endpoint in FlightInfo.endpoints
+ Client->>Server: DoGet(endpoint.ticket)
+ Server->>Client: stream of FlightData
+end
diff --git a/docs/source/format/FlightSql/CommandStatementQuery.mmd.svg b/docs/source/format/FlightSql/CommandStatementQuery.mmd.svg
new file mode 100644
index 0000000000..f5e8c79f13
--- /dev/null
+++ b/docs/source/format/FlightSql/CommandStatementQuery.mmd.svg
@@ -0,0 +1 @@
+<svg id="mermaid-1647978323146" width="100%" xmlns="http://www.w3.org/2000/svg" height="402" style="max-width: 638px; background-color: white;" viewBox="-50 -10 638 402"><style>#mermaid-1647978323146 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-1647978323146 .error-icon{fill:#552222;}#mermaid-1647978323146 .error-text{fill:#552222;stroke:#552222;}#mermaid-1647978323146 .edge-thickness-normal{stroke-width:2px;}#mermaid-1647978323146 .edge-thickne [...]
\ No newline at end of file
diff --git a/format/FlightSql.proto b/format/FlightSql.proto
index 193a2b6071..d6c58bf04f 100644
--- a/format/FlightSql.proto
+++ b/format/FlightSql.proto
@@ -120,7 +120,7 @@ enum SqlInfo {
SQL_DDL_TABLE = 502;
/*
- * Retrieves a uint32 value representing the enu uint32 ordinal for the case sensitivity of catalog, table, schema and table names.
+ * Retrieves a int32 ordinal representing the case sensitivity of catalog, table, schema and table names.
*
* The possible values are listed in `arrow.flight.protocol.sql.SqlSupportedCaseSensitivity`.
*/
@@ -130,7 +130,7 @@ enum SqlInfo {
SQL_IDENTIFIER_QUOTE_CHAR = 504;
/*
- * Retrieves a uint32 value representing the enu uint32 ordinal for the case sensitivity of quoted identifiers.
+ * Retrieves a int32 describing the case sensitivity of quoted identifiers.
*
* The possible values are listed in `arrow.flight.protocol.sql.SqlSupportedCaseSensitivity`.
*/
@@ -148,7 +148,7 @@ enum SqlInfo {
/*
* Retrieves the null ordering.
*
- * Returns a uint32 ordinal for the null ordering being used, as described in
+ * Returns a int32 ordinal for the null ordering being used, as described in
* `arrow.flight.protocol.sql.SqlNullOrdering`.
*/
SQL_NULL_ORDERING = 507;
@@ -334,7 +334,7 @@ enum SqlInfo {
/*
* Retrieves the support level for SQL OUTER JOINs.
*
- * Returns a uint3 uint32 ordinal for the SQL ordering being used, as described in
+ * Returns a int32 ordinal for the SQL ordering being used, as described in
* `arrow.flight.protocol.sql.SqlOuterJoinsSupportLevel`.
*/
SQL_OUTER_JOINS_SUPPORT_LEVEL = 528;
@@ -480,52 +480,52 @@ enum SqlInfo {
*/
SQL_SUPPORTED_UNIONS = 540;
- // Retrieves a uint32 value representing the maximum number of hex characters allowed in an inline binary literal.
+ // Retrieves a int64 value representing the maximum number of hex characters allowed in an inline binary literal.
SQL_MAX_BINARY_LITERAL_LENGTH = 541;
- // Retrieves a uint32 value representing the maximum number of characters allowed for a character literal.
+ // Retrieves a int64 value representing the maximum number of characters allowed for a character literal.
SQL_MAX_CHAR_LITERAL_LENGTH = 542;
- // Retrieves a uint32 value representing the maximum number of characters allowed for a column name.
+ // Retrieves a int64 value representing the maximum number of characters allowed for a column name.
SQL_MAX_COLUMN_NAME_LENGTH = 543;
- // Retrieves a uint32 value representing the the maximum number of columns allowed in a GROUP BY clause.
+ // Retrieves a int64 value representing the the maximum number of columns allowed in a GROUP BY clause.
SQL_MAX_COLUMNS_IN_GROUP_BY = 544;
- // Retrieves a uint32 value representing the maximum number of columns allowed in an index.
+ // Retrieves a int64 value representing the maximum number of columns allowed in an index.
SQL_MAX_COLUMNS_IN_INDEX = 545;
- // Retrieves a uint32 value representing the maximum number of columns allowed in an ORDER BY clause.
+ // Retrieves a int64 value representing the maximum number of columns allowed in an ORDER BY clause.
SQL_MAX_COLUMNS_IN_ORDER_BY = 546;
- // Retrieves a uint32 value representing the maximum number of columns allowed in a SELECT list.
+ // Retrieves a int64 value representing the maximum number of columns allowed in a SELECT list.
SQL_MAX_COLUMNS_IN_SELECT = 547;
- // Retrieves a uint32 value representing the maximum number of columns allowed in a table.
+ // Retrieves a int64 value representing the maximum number of columns allowed in a table.
SQL_MAX_COLUMNS_IN_TABLE = 548;
- // Retrieves a uint32 value representing the maximum number of concurrent connections possible.
+ // Retrieves a int64 value representing the maximum number of concurrent connections possible.
SQL_MAX_CONNECTIONS = 549;
- // Retrieves a uint32 value the maximum number of characters allowed in a cursor name.
+ // Retrieves a int64 value the maximum number of characters allowed in a cursor name.
SQL_MAX_CURSOR_NAME_LENGTH = 550;
/*
- * Retrieves a uint32 value representing the maximum number of bytes allowed for an index,
+ * Retrieves a int64 value representing the maximum number of bytes allowed for an index,
* including all of the parts of the index.
*/
SQL_MAX_INDEX_LENGTH = 551;
- // Retrieves a uint32 value representing the maximum number of characters allowed in a schema name.
+ // Retrieves a int64 value representing the maximum number of characters allowed in a schema name.
SQL_DB_SCHEMA_NAME_LENGTH = 552;
- // Retrieves a uint32 value representing the maximum number of characters allowed in a procedure name.
+ // Retrieves a int64 value representing the maximum number of characters allowed in a procedure name.
SQL_MAX_PROCEDURE_NAME_LENGTH = 553;
- // Retrieves a uint32 value representing the maximum number of characters allowed in a catalog name.
+ // Retrieves a int64 value representing the maximum number of characters allowed in a catalog name.
SQL_MAX_CATALOG_NAME_LENGTH = 554;
- // Retrieves a uint32 value representing the maximum number of bytes allowed in a single row.
+ // Retrieves a int64 value representing the maximum number of bytes allowed in a single row.
SQL_MAX_ROW_SIZE = 555;
/*
@@ -541,28 +541,28 @@ enum SqlInfo {
SQL_MAX_ROW_SIZE_INCLUDES_BLOBS = 556;
/*
- * Retrieves a uint32 value representing the maximum number of characters allowed for an SQL statement;
+ * Retrieves a int64 value representing the maximum number of characters allowed for an SQL statement;
* a result of 0 (zero) means that there is no limit or the limit is not known.
*/
SQL_MAX_STATEMENT_LENGTH = 557;
- // Retrieves a uint32 value representing the maximum number of active statements that can be open at the same time.
+ // Retrieves a int64 value representing the maximum number of active statements that can be open at the same time.
SQL_MAX_STATEMENTS = 558;
- // Retrieves a uint32 value representing the maximum number of characters allowed in a table name.
+ // Retrieves a int64 value representing the maximum number of characters allowed in a table name.
SQL_MAX_TABLE_NAME_LENGTH = 559;
- // Retrieves a uint32 value representing the maximum number of tables allowed in a SELECT statement.
+ // Retrieves a int64 value representing the maximum number of tables allowed in a SELECT statement.
SQL_MAX_TABLES_IN_SELECT = 560;
- // Retrieves a uint32 value representing the maximum number of characters allowed in a user name.
+ // Retrieves a int64 value representing the maximum number of characters allowed in a user name.
SQL_MAX_USERNAME_LENGTH = 561;
/*
* Retrieves this database's default transaction isolation level as described in
* `arrow.flight.protocol.sql.SqlTransactionIsolationLevel`.
*
- * Returns a uint32 ordinal for the SQL transaction isolation level.
+ * Returns a int32 ordinal for the SQL transaction isolation level.
*/
SQL_DEFAULT_TRANSACTION_ISOLATION = 562;
@@ -1520,7 +1520,7 @@ message CommandStatementUpdate {
/*
* Represents a SQL update query. Used in the command member of FlightDescriptor
- * for the the RPC call DoPut to cause the server to execute the included
+ * for the the RPC call DoPut to cause the server to execute the included
* prepared statement handle as an update.
*/
message CommandPreparedStatementUpdate {
@@ -1533,12 +1533,12 @@ message CommandPreparedStatementUpdate {
/*
* Returned from the RPC call DoPut when a CommandStatementUpdate
* CommandPreparedStatementUpdate was in the request, containing
- * results from the update.
+ * results from the update.
*/
message DoPutUpdateResult {
option (experimental) = true;
- // The number of records updated. A return value of -1 represents
+ // The number of records updated. A return value of -1 represents
// an unknown updated record count.
int64 record_count = 1;
}