arrow_flight/sql/arrow.flight.protocol.sql.rs
1// This file was automatically generated through the build.rs script, and should not be edited.
2
3// This file is @generated by prost-build.
4///
5/// Represents a metadata request. Used in the command member of FlightDescriptor
6/// for the following RPC calls:
7/// - GetSchema: return the Arrow schema of the query.
8/// - GetFlightInfo: execute the metadata request.
9///
10/// The returned Arrow schema will be:
11/// <
12/// info_name: uint32 not null,
13/// value: dense_union<
14/// string_value: utf8,
15/// bool_value: bool,
16/// bigint_value: int64,
17/// int32_bitmask: int32,
18/// string_list: list<string_data: utf8>
19/// int32_to_int32_list_map: map<key: int32, value: list<$data$: int32>>
20/// >
21/// where there is one row per requested piece of metadata information.
22#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
23pub struct CommandGetSqlInfo {
24 ///
25 /// Values are modelled after ODBC's SQLGetInfo() function. This information is intended to provide
26 /// Flight SQL clients with basic, SQL syntax and SQL functions related information.
27 /// More information types can be added in future releases.
28 /// E.g. more SQL syntax support types, scalar functions support, type conversion support etc.
29 ///
30 /// Note that the set of metadata may expand.
31 ///
32 /// Initially, Flight SQL will support the following information types:
33 /// - Server Information - Range [0-500)
34 /// - Syntax Information - Range [500-1000)
35 /// Range [0-10,000) is reserved for defaults (see SqlInfo enum for default options).
36 /// Custom options should start at 10,000.
37 ///
38 /// If omitted, then all metadata will be retrieved.
39 /// Flight SQL Servers may choose to include additional metadata above and beyond the specified set, however they must
40 /// at least return the specified set. IDs ranging from 0 to 10,000 (exclusive) are reserved for future use.
41 /// If additional metadata is included, the metadata IDs should start from 10,000.
42 #[prost(uint32, repeated, tag = "1")]
43 pub info: ::prost::alloc::vec::Vec<u32>,
44}
45///
46/// Represents a request to retrieve information about data type supported on a Flight SQL enabled backend.
47/// Used in the command member of FlightDescriptor for the following RPC calls:
48/// - GetSchema: return the schema of the query.
49/// - GetFlightInfo: execute the catalog metadata request.
50///
51/// The returned schema will be:
52/// <
53/// type_name: utf8 not null (The name of the data type, for example: VARCHAR, INTEGER, etc),
54/// data_type: int32 not null (The SQL data type),
55/// column_size: int32 (The maximum size supported by that column.
56/// In case of exact numeric types, this represents the maximum precision.
57/// In case of string types, this represents the character length.
58/// In case of datetime data types, this represents the length in characters of the string representation.
59/// NULL is returned for data types where column size is not applicable.),
60/// literal_prefix: utf8 (Character or characters used to prefix a literal, NULL is returned for
61/// data types where a literal prefix is not applicable.),
62/// literal_suffix: utf8 (Character or characters used to terminate a literal,
63/// NULL is returned for data types where a literal suffix is not applicable.),
64/// create_params: list<utf8 not null>
65/// (A list of keywords corresponding to which parameters can be used when creating
66/// a column for that specific type.
67/// NULL is returned if there are no parameters for the data type definition.),
68/// nullable: int32 not null (Shows if the data type accepts a NULL value. The possible values can be seen in the
69/// Nullable enum.),
70/// case_sensitive: bool not null (Shows if a character data type is case-sensitive in collations and comparisons),
71/// searchable: int32 not null (Shows how the data type is used in a WHERE clause. The possible values can be seen in the
72/// Searchable enum.),
73/// unsigned_attribute: bool (Shows if the data type is unsigned. NULL is returned if the attribute is
74/// not applicable to the data type or the data type is not numeric.),
75/// fixed_prec_scale: bool not null (Shows if the data type has predefined fixed precision and scale.),
76/// auto_increment: bool (Shows if the data type is auto incremental. NULL is returned if the attribute
77/// is not applicable to the data type or the data type is not numeric.),
78/// local_type_name: utf8 (Localized version of the data source-dependent name of the data type. NULL
79/// is returned if a localized name is not supported by the data source),
80/// minimum_scale: int32 (The minimum scale of the data type on the data source.
81/// If a data type has a fixed scale, the MINIMUM_SCALE and MAXIMUM_SCALE
82/// columns both contain this value. NULL is returned if scale is not applicable.),
83/// maximum_scale: int32 (The maximum scale of the data type on the data source.
84/// NULL is returned if scale is not applicable.),
85/// sql_data_type: int32 not null (The value of the SQL DATA TYPE which has the same values
86/// as data_type value. Except for interval and datetime, which
87/// uses generic values. More info about those types can be
88/// obtained through datetime_subcode. The possible values can be seen
89/// in the XdbcDataType enum.),
90/// datetime_subcode: int32 (Only used when the SQL DATA TYPE is interval or datetime. It contains
91/// its sub types. For type different from interval and datetime, this value
92/// is NULL. The possible values can be seen in the XdbcDatetimeSubcode enum.),
93/// num_prec_radix: int32 (If the data type is an approximate numeric type, this column contains
94/// the value 2 to indicate that COLUMN_SIZE specifies a number of bits. For
95/// exact numeric types, this column contains the value 10 to indicate that
96/// column size specifies a number of decimal digits. Otherwise, this column is NULL.),
97/// interval_precision: int32 (If the data type is an interval data type, then this column contains the value
98/// of the interval leading precision. Otherwise, this column is NULL. This fields
99/// is only relevant to be used by ODBC).
100/// >
101/// The returned data should be ordered by data_type and then by type_name.
102#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
103pub struct CommandGetXdbcTypeInfo {
104 ///
105 /// Specifies the data type to search for the info.
106 #[prost(int32, optional, tag = "1")]
107 pub data_type: ::core::option::Option<i32>,
108}
109///
110/// Represents a request to retrieve the list of catalogs on a Flight SQL enabled backend.
111/// The definition of a catalog depends on vendor/implementation. It is usually the database itself
112/// Used in the command member of FlightDescriptor for the following RPC calls:
113/// - GetSchema: return the Arrow schema of the query.
114/// - GetFlightInfo: execute the catalog metadata request.
115///
116/// The returned Arrow schema will be:
117/// <
118/// catalog_name: utf8 not null
119/// >
120/// The returned data should be ordered by catalog_name.
121#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
122pub struct CommandGetCatalogs {}
123///
124/// Represents a request to retrieve the list of database schemas on a Flight SQL enabled backend.
125/// The definition of a database schema depends on vendor/implementation. It is usually a collection of tables.
126/// Used in the command member of FlightDescriptor for the following RPC calls:
127/// - GetSchema: return the Arrow schema of the query.
128/// - GetFlightInfo: execute the catalog metadata request.
129///
130/// The returned Arrow schema will be:
131/// <
132/// catalog_name: utf8,
133/// db_schema_name: utf8 not null
134/// >
135/// The returned data should be ordered by catalog_name, then db_schema_name.
136#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
137pub struct CommandGetDbSchemas {
138 ///
139 /// Specifies the Catalog to search for the tables.
140 /// An empty string retrieves those without a catalog.
141 /// If omitted the catalog name should not be used to narrow the search.
142 #[prost(string, optional, tag = "1")]
143 pub catalog: ::core::option::Option<::prost::alloc::string::String>,
144 ///
145 /// Specifies a filter pattern for schemas to search for.
146 /// When no db_schema_filter_pattern is provided, the pattern will not be used to narrow the search.
147 /// In the pattern string, two special characters can be used to denote matching rules:
148 /// - "%" means to match any substring with 0 or more characters.
149 /// - "_" means to match any one character.
150 #[prost(string, optional, tag = "2")]
151 pub db_schema_filter_pattern: ::core::option::Option<::prost::alloc::string::String>,
152}
153///
154/// Represents a request to retrieve the list of tables, and optionally their schemas, on a Flight SQL enabled backend.
155/// Used in the command member of FlightDescriptor for the following RPC calls:
156/// - GetSchema: return the Arrow schema of the query.
157/// - GetFlightInfo: execute the catalog metadata request.
158///
159/// The returned Arrow schema will be:
160/// <
161/// catalog_name: utf8,
162/// db_schema_name: utf8,
163/// table_name: utf8 not null,
164/// table_type: utf8 not null,
165/// \[optional\] table_schema: bytes not null (schema of the table as described in Schema.fbs::Schema,
166/// it is serialized as an IPC message.)
167/// >
168/// Fields on table_schema may contain the following metadata:
169/// - ARROW:FLIGHT:SQL:CATALOG_NAME - Table's catalog name
170/// - ARROW:FLIGHT:SQL:DB_SCHEMA_NAME - Database schema name
171/// - ARROW:FLIGHT:SQL:TABLE_NAME - Table name
172/// - ARROW:FLIGHT:SQL:TYPE_NAME - The data source-specific name for the data type of the column.
173/// - ARROW:FLIGHT:SQL:PRECISION - Column precision/size
174/// - ARROW:FLIGHT:SQL:SCALE - Column scale/decimal digits if applicable
175/// - ARROW:FLIGHT:SQL:IS_AUTO_INCREMENT - "1" indicates if the column is auto incremented, "0" otherwise.
176/// - ARROW:FLIGHT:SQL:IS_CASE_SENSITIVE - "1" indicates if the column is case-sensitive, "0" otherwise.
177/// - ARROW:FLIGHT:SQL:IS_READ_ONLY - "1" indicates if the column is read only, "0" otherwise.
178/// - ARROW:FLIGHT:SQL:IS_SEARCHABLE - "1" indicates if the column is searchable via WHERE clause, "0" otherwise.
179/// - ARROW:FLIGHT:SQL:REMARKS - A comment describing the column. This field has been added after all others, clients should be prepared to find it missing.
180/// The returned data should be ordered by catalog_name, db_schema_name, table_name, then table_type, followed by table_schema if requested.
181#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
182pub struct CommandGetTables {
183 ///
184 /// Specifies the Catalog to search for the tables.
185 /// An empty string retrieves those without a catalog.
186 /// If omitted the catalog name should not be used to narrow the search.
187 #[prost(string, optional, tag = "1")]
188 pub catalog: ::core::option::Option<::prost::alloc::string::String>,
189 ///
190 /// Specifies a filter pattern for schemas to search for.
191 /// When no db_schema_filter_pattern is provided, all schemas matching other filters are searched.
192 /// In the pattern string, two special characters can be used to denote matching rules:
193 /// - "%" means to match any substring with 0 or more characters.
194 /// - "_" means to match any one character.
195 #[prost(string, optional, tag = "2")]
196 pub db_schema_filter_pattern: ::core::option::Option<::prost::alloc::string::String>,
197 ///
198 /// Specifies a filter pattern for tables to search for.
199 /// When no table_name_filter_pattern is provided, all tables matching other filters are searched.
200 /// In the pattern string, two special characters can be used to denote matching rules:
201 /// - "%" means to match any substring with 0 or more characters.
202 /// - "_" means to match any one character.
203 #[prost(string, optional, tag = "3")]
204 pub table_name_filter_pattern: ::core::option::Option<
205 ::prost::alloc::string::String,
206 >,
207 ///
208 /// Specifies a filter of table types which must match.
209 /// The table types depend on vendor/implementation. It is usually used to separate tables from views or system tables.
210 /// TABLE, VIEW, and SYSTEM TABLE are commonly supported.
211 #[prost(string, repeated, tag = "4")]
212 pub table_types: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
213 /// Specifies if the Arrow schema should be returned for found tables.
214 #[prost(bool, tag = "5")]
215 pub include_schema: bool,
216}
217///
218/// Represents a request to retrieve the list of table types on a Flight SQL enabled backend.
219/// The table types depend on vendor/implementation. It is usually used to separate tables from views or system tables.
220/// TABLE, VIEW, and SYSTEM TABLE are commonly supported.
221/// Used in the command member of FlightDescriptor for the following RPC calls:
222/// - GetSchema: return the Arrow schema of the query.
223/// - GetFlightInfo: execute the catalog metadata request.
224///
225/// The returned Arrow schema will be:
226/// <
227/// table_type: utf8 not null
228/// >
229/// The returned data should be ordered by table_type.
230#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
231pub struct CommandGetTableTypes {}
232///
233/// Represents a request to retrieve the primary keys of a table on a Flight SQL enabled backend.
234/// Used in the command member of FlightDescriptor for the following RPC calls:
235/// - GetSchema: return the Arrow schema of the query.
236/// - GetFlightInfo: execute the catalog metadata request.
237///
238/// The returned Arrow schema will be:
239/// <
240/// catalog_name: utf8,
241/// db_schema_name: utf8,
242/// table_name: utf8 not null,
243/// column_name: utf8 not null,
244/// key_name: utf8,
245/// key_sequence: int32 not null
246/// >
247/// The returned data should be ordered by catalog_name, db_schema_name, table_name, key_name, then key_sequence.
248#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
249pub struct CommandGetPrimaryKeys {
250 ///
251 /// Specifies the catalog to search for the table.
252 /// An empty string retrieves those without a catalog.
253 /// If omitted the catalog name should not be used to narrow the search.
254 #[prost(string, optional, tag = "1")]
255 pub catalog: ::core::option::Option<::prost::alloc::string::String>,
256 ///
257 /// Specifies the schema to search for the table.
258 /// An empty string retrieves those without a schema.
259 /// If omitted the schema name should not be used to narrow the search.
260 #[prost(string, optional, tag = "2")]
261 pub db_schema: ::core::option::Option<::prost::alloc::string::String>,
262 /// Specifies the table to get the primary keys for.
263 #[prost(string, tag = "3")]
264 pub table: ::prost::alloc::string::String,
265}
266///
267/// Represents a request to retrieve a description of the foreign key columns that reference the given table's
268/// primary key columns (the foreign keys exported by a table) of a table on a Flight SQL enabled backend.
269/// Used in the command member of FlightDescriptor for the following RPC calls:
270/// - GetSchema: return the Arrow schema of the query.
271/// - GetFlightInfo: execute the catalog metadata request.
272///
273/// The returned Arrow schema will be:
274/// <
275/// pk_catalog_name: utf8,
276/// pk_db_schema_name: utf8,
277/// pk_table_name: utf8 not null,
278/// pk_column_name: utf8 not null,
279/// fk_catalog_name: utf8,
280/// fk_db_schema_name: utf8,
281/// fk_table_name: utf8 not null,
282/// fk_column_name: utf8 not null,
283/// key_sequence: int32 not null,
284/// fk_key_name: utf8,
285/// pk_key_name: utf8,
286/// update_rule: uint8 not null,
287/// delete_rule: uint8 not null
288/// >
289/// The returned data should be ordered by fk_catalog_name, fk_db_schema_name, fk_table_name, fk_key_name, then key_sequence.
290/// update_rule and delete_rule returns a byte that is equivalent to actions declared on UpdateDeleteRules enum.
291#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
292pub struct CommandGetExportedKeys {
293 ///
294 /// Specifies the catalog to search for the foreign key table.
295 /// An empty string retrieves those without a catalog.
296 /// If omitted the catalog name should not be used to narrow the search.
297 #[prost(string, optional, tag = "1")]
298 pub catalog: ::core::option::Option<::prost::alloc::string::String>,
299 ///
300 /// Specifies the schema to search for the foreign key table.
301 /// An empty string retrieves those without a schema.
302 /// If omitted the schema name should not be used to narrow the search.
303 #[prost(string, optional, tag = "2")]
304 pub db_schema: ::core::option::Option<::prost::alloc::string::String>,
305 /// Specifies the foreign key table to get the foreign keys for.
306 #[prost(string, tag = "3")]
307 pub table: ::prost::alloc::string::String,
308}
309///
310/// Represents a request to retrieve the foreign keys of a table on a Flight SQL enabled backend.
311/// Used in the command member of FlightDescriptor for the following RPC calls:
312/// - GetSchema: return the Arrow schema of the query.
313/// - GetFlightInfo: execute the catalog metadata request.
314///
315/// The returned Arrow schema will be:
316/// <
317/// pk_catalog_name: utf8,
318/// pk_db_schema_name: utf8,
319/// pk_table_name: utf8 not null,
320/// pk_column_name: utf8 not null,
321/// fk_catalog_name: utf8,
322/// fk_db_schema_name: utf8,
323/// fk_table_name: utf8 not null,
324/// fk_column_name: utf8 not null,
325/// key_sequence: int32 not null,
326/// fk_key_name: utf8,
327/// pk_key_name: utf8,
328/// update_rule: uint8 not null,
329/// delete_rule: uint8 not null
330/// >
331/// The returned data should be ordered by pk_catalog_name, pk_db_schema_name, pk_table_name, pk_key_name, then key_sequence.
332/// update_rule and delete_rule returns a byte that is equivalent to actions:
333/// - 0 = CASCADE
334/// - 1 = RESTRICT
335/// - 2 = SET NULL
336/// - 3 = NO ACTION
337/// - 4 = SET DEFAULT
338#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
339pub struct CommandGetImportedKeys {
340 ///
341 /// Specifies the catalog to search for the primary key table.
342 /// An empty string retrieves those without a catalog.
343 /// If omitted the catalog name should not be used to narrow the search.
344 #[prost(string, optional, tag = "1")]
345 pub catalog: ::core::option::Option<::prost::alloc::string::String>,
346 ///
347 /// Specifies the schema to search for the primary key table.
348 /// An empty string retrieves those without a schema.
349 /// If omitted the schema name should not be used to narrow the search.
350 #[prost(string, optional, tag = "2")]
351 pub db_schema: ::core::option::Option<::prost::alloc::string::String>,
352 /// Specifies the primary key table to get the foreign keys for.
353 #[prost(string, tag = "3")]
354 pub table: ::prost::alloc::string::String,
355}
356///
357/// Represents a request to retrieve a description of the foreign key columns in the given foreign key table that
358/// reference the primary key or the columns representing a unique constraint of the parent table (could be the same
359/// or a different table) on a Flight SQL enabled backend.
360/// Used in the command member of FlightDescriptor for the following RPC calls:
361/// - GetSchema: return the Arrow schema of the query.
362/// - GetFlightInfo: execute the catalog metadata request.
363///
364/// The returned Arrow schema will be:
365/// <
366/// pk_catalog_name: utf8,
367/// pk_db_schema_name: utf8,
368/// pk_table_name: utf8 not null,
369/// pk_column_name: utf8 not null,
370/// fk_catalog_name: utf8,
371/// fk_db_schema_name: utf8,
372/// fk_table_name: utf8 not null,
373/// fk_column_name: utf8 not null,
374/// key_sequence: int32 not null,
375/// fk_key_name: utf8,
376/// pk_key_name: utf8,
377/// update_rule: uint8 not null,
378/// delete_rule: uint8 not null
379/// >
380/// The returned data should be ordered by pk_catalog_name, pk_db_schema_name, pk_table_name, pk_key_name, then key_sequence.
381/// update_rule and delete_rule returns a byte that is equivalent to actions:
382/// - 0 = CASCADE
383/// - 1 = RESTRICT
384/// - 2 = SET NULL
385/// - 3 = NO ACTION
386/// - 4 = SET DEFAULT
387#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
388pub struct CommandGetCrossReference {
389 /// *
390 /// The catalog name where the parent table is.
391 /// An empty string retrieves those without a catalog.
392 /// If omitted the catalog name should not be used to narrow the search.
393 #[prost(string, optional, tag = "1")]
394 pub pk_catalog: ::core::option::Option<::prost::alloc::string::String>,
395 /// *
396 /// The Schema name where the parent table is.
397 /// An empty string retrieves those without a schema.
398 /// If omitted the schema name should not be used to narrow the search.
399 #[prost(string, optional, tag = "2")]
400 pub pk_db_schema: ::core::option::Option<::prost::alloc::string::String>,
401 /// *
402 /// The parent table name. It cannot be null.
403 #[prost(string, tag = "3")]
404 pub pk_table: ::prost::alloc::string::String,
405 /// *
406 /// The catalog name where the foreign table is.
407 /// An empty string retrieves those without a catalog.
408 /// If omitted the catalog name should not be used to narrow the search.
409 #[prost(string, optional, tag = "4")]
410 pub fk_catalog: ::core::option::Option<::prost::alloc::string::String>,
411 /// *
412 /// The schema name where the foreign table is.
413 /// An empty string retrieves those without a schema.
414 /// If omitted the schema name should not be used to narrow the search.
415 #[prost(string, optional, tag = "5")]
416 pub fk_db_schema: ::core::option::Option<::prost::alloc::string::String>,
417 /// *
418 /// The foreign table name. It cannot be null.
419 #[prost(string, tag = "6")]
420 pub fk_table: ::prost::alloc::string::String,
421}
422///
423/// Request message for the "CreatePreparedStatement" action on a Flight SQL enabled backend.
424#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
425pub struct ActionCreatePreparedStatementRequest {
426 /// The valid SQL string to create a prepared statement for.
427 #[prost(string, tag = "1")]
428 pub query: ::prost::alloc::string::String,
429 /// Create/execute the prepared statement as part of this transaction (if
430 /// unset, executions of the prepared statement will be auto-committed).
431 #[prost(bytes = "bytes", optional, tag = "2")]
432 pub transaction_id: ::core::option::Option<::prost::bytes::Bytes>,
433}
434///
435/// An embedded message describing a Substrait plan to execute.
436#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
437pub struct SubstraitPlan {
438 /// The serialized substrait.Plan to create a prepared statement for.
439 /// XXX(ARROW-16902): this is bytes instead of an embedded message
440 /// because Protobuf does not really support one DLL using Protobuf
441 /// definitions from another DLL.
442 #[prost(bytes = "bytes", tag = "1")]
443 pub plan: ::prost::bytes::Bytes,
444 /// The Substrait release, e.g. "0.12.0". This information is not
445 /// tracked in the plan itself, so this is the only way for consumers
446 /// to potentially know if they can handle the plan.
447 #[prost(string, tag = "2")]
448 pub version: ::prost::alloc::string::String,
449}
450///
451/// Request message for the "CreatePreparedSubstraitPlan" action on a Flight SQL enabled backend.
452#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
453pub struct ActionCreatePreparedSubstraitPlanRequest {
454 /// The serialized substrait.Plan to create a prepared statement for.
455 #[prost(message, optional, tag = "1")]
456 pub plan: ::core::option::Option<SubstraitPlan>,
457 /// Create/execute the prepared statement as part of this transaction (if
458 /// unset, executions of the prepared statement will be auto-committed).
459 #[prost(bytes = "bytes", optional, tag = "2")]
460 pub transaction_id: ::core::option::Option<::prost::bytes::Bytes>,
461}
462///
463/// Wrap the result of a "CreatePreparedStatement" or "CreatePreparedSubstraitPlan" action.
464///
465/// The resultant PreparedStatement can be closed either:
466/// - Manually, through the "ClosePreparedStatement" action;
467/// - Automatically, by a server timeout.
468///
469/// The result should be wrapped in a google.protobuf.Any message.
470#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
471pub struct ActionCreatePreparedStatementResult {
472 /// Opaque handle for the prepared statement on the server.
473 #[prost(bytes = "bytes", tag = "1")]
474 pub prepared_statement_handle: ::prost::bytes::Bytes,
475 /// If a result set generating query was provided, dataset_schema contains the
476 /// schema of the result set. It should be an IPC-encapsulated Schema, as described in Schema.fbs.
477 /// For some queries, the schema of the results may depend on the schema of the parameters. The server
478 /// should provide its best guess as to the schema at this point. Clients must not assume that this
479 /// schema, if provided, will be accurate.
480 #[prost(bytes = "bytes", tag = "2")]
481 pub dataset_schema: ::prost::bytes::Bytes,
482 /// If the query provided contained parameters, parameter_schema contains the
483 /// schema of the expected parameters. It should be an IPC-encapsulated Schema, as described in Schema.fbs.
484 #[prost(bytes = "bytes", tag = "3")]
485 pub parameter_schema: ::prost::bytes::Bytes,
486}
487///
488/// Request message for the "ClosePreparedStatement" action on a Flight SQL enabled backend.
489/// Closes server resources associated with the prepared statement handle.
490#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
491pub struct ActionClosePreparedStatementRequest {
492 /// Opaque handle for the prepared statement on the server.
493 #[prost(bytes = "bytes", tag = "1")]
494 pub prepared_statement_handle: ::prost::bytes::Bytes,
495}
496///
497/// Request message for the "BeginTransaction" action.
498/// Begins a transaction.
499#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
500pub struct ActionBeginTransactionRequest {}
501///
502/// Request message for the "BeginSavepoint" action.
503/// Creates a savepoint within a transaction.
504///
505/// Only supported if FLIGHT_SQL_SERVER_TRANSACTION returns
506/// SQL_SUPPORTED_TRANSACTION_SAVEPOINT.
507#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
508pub struct ActionBeginSavepointRequest {
509 /// The transaction to which a savepoint belongs.
510 #[prost(bytes = "bytes", tag = "1")]
511 pub transaction_id: ::prost::bytes::Bytes,
512 /// Name for the savepoint.
513 #[prost(string, tag = "2")]
514 pub name: ::prost::alloc::string::String,
515}
516///
517/// The result of a "BeginTransaction" action.
518///
519/// The transaction can be manipulated with the "EndTransaction" action, or
520/// automatically via server timeout. If the transaction times out, then it is
521/// automatically rolled back.
522///
523/// The result should be wrapped in a google.protobuf.Any message.
524#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
525pub struct ActionBeginTransactionResult {
526 /// Opaque handle for the transaction on the server.
527 #[prost(bytes = "bytes", tag = "1")]
528 pub transaction_id: ::prost::bytes::Bytes,
529}
530///
531/// The result of a "BeginSavepoint" action.
532///
533/// The transaction can be manipulated with the "EndSavepoint" action.
534/// If the associated transaction is committed, rolled back, or times
535/// out, then the savepoint is also invalidated.
536///
537/// The result should be wrapped in a google.protobuf.Any message.
538#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
539pub struct ActionBeginSavepointResult {
540 /// Opaque handle for the savepoint on the server.
541 #[prost(bytes = "bytes", tag = "1")]
542 pub savepoint_id: ::prost::bytes::Bytes,
543}
544///
545/// Request message for the "EndTransaction" action.
546///
547/// Commit (COMMIT) or rollback (ROLLBACK) the transaction.
548///
549/// If the action completes successfully, the transaction handle is
550/// invalidated, as are all associated savepoints.
551#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
552pub struct ActionEndTransactionRequest {
553 /// Opaque handle for the transaction on the server.
554 #[prost(bytes = "bytes", tag = "1")]
555 pub transaction_id: ::prost::bytes::Bytes,
556 /// Whether to commit/rollback the given transaction.
557 #[prost(enumeration = "action_end_transaction_request::EndTransaction", tag = "2")]
558 pub action: i32,
559}
560/// Nested message and enum types in `ActionEndTransactionRequest`.
561pub mod action_end_transaction_request {
562 #[derive(
563 Clone,
564 Copy,
565 Debug,
566 PartialEq,
567 Eq,
568 Hash,
569 PartialOrd,
570 Ord,
571 ::prost::Enumeration
572 )]
573 #[repr(i32)]
574 pub enum EndTransaction {
575 Unspecified = 0,
576 /// Commit the transaction.
577 Commit = 1,
578 /// Roll back the transaction.
579 Rollback = 2,
580 }
581 impl EndTransaction {
582 /// String value of the enum field names used in the ProtoBuf definition.
583 ///
584 /// The values are not transformed in any way and thus are considered stable
585 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
586 pub fn as_str_name(&self) -> &'static str {
587 match self {
588 Self::Unspecified => "END_TRANSACTION_UNSPECIFIED",
589 Self::Commit => "END_TRANSACTION_COMMIT",
590 Self::Rollback => "END_TRANSACTION_ROLLBACK",
591 }
592 }
593 /// Creates an enum from field names used in the ProtoBuf definition.
594 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
595 match value {
596 "END_TRANSACTION_UNSPECIFIED" => Some(Self::Unspecified),
597 "END_TRANSACTION_COMMIT" => Some(Self::Commit),
598 "END_TRANSACTION_ROLLBACK" => Some(Self::Rollback),
599 _ => None,
600 }
601 }
602 }
603}
604///
605/// Request message for the "EndSavepoint" action.
606///
607/// Release (RELEASE) the savepoint or rollback (ROLLBACK) to the
608/// savepoint.
609///
610/// Releasing a savepoint invalidates that savepoint. Rolling back to
611/// a savepoint does not invalidate the savepoint, but invalidates all
612/// savepoints created after the current savepoint.
613#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
614pub struct ActionEndSavepointRequest {
615 /// Opaque handle for the savepoint on the server.
616 #[prost(bytes = "bytes", tag = "1")]
617 pub savepoint_id: ::prost::bytes::Bytes,
618 /// Whether to rollback/release the given savepoint.
619 #[prost(enumeration = "action_end_savepoint_request::EndSavepoint", tag = "2")]
620 pub action: i32,
621}
622/// Nested message and enum types in `ActionEndSavepointRequest`.
623pub mod action_end_savepoint_request {
624 #[derive(
625 Clone,
626 Copy,
627 Debug,
628 PartialEq,
629 Eq,
630 Hash,
631 PartialOrd,
632 Ord,
633 ::prost::Enumeration
634 )]
635 #[repr(i32)]
636 pub enum EndSavepoint {
637 Unspecified = 0,
638 /// Release the savepoint.
639 Release = 1,
640 /// Roll back to a savepoint.
641 Rollback = 2,
642 }
643 impl EndSavepoint {
644 /// String value of the enum field names used in the ProtoBuf definition.
645 ///
646 /// The values are not transformed in any way and thus are considered stable
647 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
648 pub fn as_str_name(&self) -> &'static str {
649 match self {
650 Self::Unspecified => "END_SAVEPOINT_UNSPECIFIED",
651 Self::Release => "END_SAVEPOINT_RELEASE",
652 Self::Rollback => "END_SAVEPOINT_ROLLBACK",
653 }
654 }
655 /// Creates an enum from field names used in the ProtoBuf definition.
656 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
657 match value {
658 "END_SAVEPOINT_UNSPECIFIED" => Some(Self::Unspecified),
659 "END_SAVEPOINT_RELEASE" => Some(Self::Release),
660 "END_SAVEPOINT_ROLLBACK" => Some(Self::Rollback),
661 _ => None,
662 }
663 }
664 }
665}
666///
667/// Represents a SQL query. Used in the command member of FlightDescriptor
668/// for the following RPC calls:
669/// - GetSchema: return the Arrow schema of the query.
670/// Fields on this schema may contain the following metadata:
671/// - ARROW:FLIGHT:SQL:CATALOG_NAME - Table's catalog name
672/// - ARROW:FLIGHT:SQL:DB_SCHEMA_NAME - Database schema name
673/// - ARROW:FLIGHT:SQL:TABLE_NAME - Table name
674/// - ARROW:FLIGHT:SQL:TYPE_NAME - The data source-specific name for the data type of the column.
675/// - ARROW:FLIGHT:SQL:PRECISION - Column precision/size
676/// - ARROW:FLIGHT:SQL:SCALE - Column scale/decimal digits if applicable
677/// - ARROW:FLIGHT:SQL:IS_AUTO_INCREMENT - "1" indicates if the column is auto incremented, "0" otherwise.
678/// - ARROW:FLIGHT:SQL:IS_CASE_SENSITIVE - "1" indicates if the column is case-sensitive, "0" otherwise.
679/// - ARROW:FLIGHT:SQL:IS_READ_ONLY - "1" indicates if the column is read only, "0" otherwise.
680/// - ARROW:FLIGHT:SQL:IS_SEARCHABLE - "1" indicates if the column is searchable via WHERE clause, "0" otherwise.
681/// - ARROW:FLIGHT:SQL:REMARKS - A comment describing the column. This field has been added after all others, clients should be prepared to find it missing.
682/// - GetFlightInfo: execute the query.
683#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
684pub struct CommandStatementQuery {
685 /// The SQL syntax.
686 #[prost(string, tag = "1")]
687 pub query: ::prost::alloc::string::String,
688 /// Include the query as part of this transaction (if unset, the query is auto-committed).
689 #[prost(bytes = "bytes", optional, tag = "2")]
690 pub transaction_id: ::core::option::Option<::prost::bytes::Bytes>,
691}
692///
693/// Represents a Substrait plan. Used in the command member of FlightDescriptor
694/// for the following RPC calls:
695/// - GetSchema: return the Arrow schema of the query.
696/// Fields on this schema may contain the following metadata:
697/// - ARROW:FLIGHT:SQL:CATALOG_NAME - Table's catalog name
698/// - ARROW:FLIGHT:SQL:DB_SCHEMA_NAME - Database schema name
699/// - ARROW:FLIGHT:SQL:TABLE_NAME - Table name
700/// - ARROW:FLIGHT:SQL:TYPE_NAME - The data source-specific name for the data type of the column.
701/// - ARROW:FLIGHT:SQL:PRECISION - Column precision/size
702/// - ARROW:FLIGHT:SQL:SCALE - Column scale/decimal digits if applicable
703/// - ARROW:FLIGHT:SQL:IS_AUTO_INCREMENT - "1" indicates if the column is auto incremented, "0" otherwise.
704/// - ARROW:FLIGHT:SQL:IS_CASE_SENSITIVE - "1" indicates if the column is case-sensitive, "0" otherwise.
705/// - ARROW:FLIGHT:SQL:IS_READ_ONLY - "1" indicates if the column is read only, "0" otherwise.
706/// - ARROW:FLIGHT:SQL:IS_SEARCHABLE - "1" indicates if the column is searchable via WHERE clause, "0" otherwise.
707/// - ARROW:FLIGHT:SQL:REMARKS - A comment describing the column. This field has been added after all others, clients should be prepared to find it missing.
708/// - GetFlightInfo: execute the query.
709/// - DoPut: execute the query.
710#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
711pub struct CommandStatementSubstraitPlan {
712 /// A serialized substrait.Plan
713 #[prost(message, optional, tag = "1")]
714 pub plan: ::core::option::Option<SubstraitPlan>,
715 /// Include the query as part of this transaction (if unset, the query is auto-committed).
716 #[prost(bytes = "bytes", optional, tag = "2")]
717 pub transaction_id: ::core::option::Option<::prost::bytes::Bytes>,
718}
719/// *
720/// Represents a ticket resulting from GetFlightInfo with a CommandStatementQuery.
721/// This should be used only once and treated as an opaque value, that is, clients should not attempt to parse this.
722#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
723pub struct TicketStatementQuery {
724 /// Unique identifier for the instance of the statement to execute.
725 #[prost(bytes = "bytes", tag = "1")]
726 pub statement_handle: ::prost::bytes::Bytes,
727}
728///
729/// Represents an instance of executing a prepared statement. Used in the command member of FlightDescriptor for
730/// the following RPC calls:
731/// - GetSchema: return the Arrow schema of the query.
732/// Fields on this schema may contain the following metadata:
733/// - ARROW:FLIGHT:SQL:CATALOG_NAME - Table's catalog name
734/// - ARROW:FLIGHT:SQL:DB_SCHEMA_NAME - Database schema name
735/// - ARROW:FLIGHT:SQL:TABLE_NAME - Table name
736/// - ARROW:FLIGHT:SQL:TYPE_NAME - The data source-specific name for the data type of the column.
737/// - ARROW:FLIGHT:SQL:PRECISION - Column precision/size
738/// - ARROW:FLIGHT:SQL:SCALE - Column scale/decimal digits if applicable
739/// - ARROW:FLIGHT:SQL:IS_AUTO_INCREMENT - "1" indicates if the column is auto incremented, "0" otherwise.
740/// - ARROW:FLIGHT:SQL:IS_CASE_SENSITIVE - "1" indicates if the column is case-sensitive, "0" otherwise.
741/// - ARROW:FLIGHT:SQL:IS_READ_ONLY - "1" indicates if the column is read only, "0" otherwise.
742/// - ARROW:FLIGHT:SQL:IS_SEARCHABLE - "1" indicates if the column is searchable via WHERE clause, "0" otherwise.
743/// - ARROW:FLIGHT:SQL:REMARKS - A comment describing the column. This field has been added after all others, clients should be prepared to find it missing.
744///
745/// If the schema is retrieved after parameter values have been bound with DoPut, then the server should account
746/// for the parameters when determining the schema.
747/// - DoPut: bind parameter values. All of the bound parameter sets will be executed as a single atomic execution.
748/// - GetFlightInfo: execute the prepared statement instance.
749#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
750pub struct CommandPreparedStatementQuery {
751 /// Opaque handle for the prepared statement on the server.
752 #[prost(bytes = "bytes", tag = "1")]
753 pub prepared_statement_handle: ::prost::bytes::Bytes,
754}
755///
756/// Represents a SQL update query. Used in the command member of FlightDescriptor
757/// for the RPC call DoPut to cause the server to execute the included SQL update.
758#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
759pub struct CommandStatementUpdate {
760 /// The SQL syntax.
761 #[prost(string, tag = "1")]
762 pub query: ::prost::alloc::string::String,
763 /// Include the query as part of this transaction (if unset, the query is auto-committed).
764 #[prost(bytes = "bytes", optional, tag = "2")]
765 pub transaction_id: ::core::option::Option<::prost::bytes::Bytes>,
766}
767///
768/// Represents a SQL update query. Used in the command member of FlightDescriptor
769/// for the RPC call DoPut to cause the server to execute the included
770/// prepared statement handle as an update.
771#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
772pub struct CommandPreparedStatementUpdate {
773 /// Opaque handle for the prepared statement on the server.
774 #[prost(bytes = "bytes", tag = "1")]
775 pub prepared_statement_handle: ::prost::bytes::Bytes,
776}
777///
778/// Represents a bulk ingestion request. Used in the command member of FlightDescriptor
779/// for the RPC call DoPut to cause the server load the contents of the stream's
780/// FlightData into the target destination.
781#[derive(Clone, PartialEq, ::prost::Message)]
782pub struct CommandStatementIngest {
783 /// The behavior for handling the table definition.
784 #[prost(message, optional, tag = "1")]
785 pub table_definition_options: ::core::option::Option<
786 command_statement_ingest::TableDefinitionOptions,
787 >,
788 /// The table to load data into.
789 #[prost(string, tag = "2")]
790 pub table: ::prost::alloc::string::String,
791 /// The db_schema of the destination table to load data into. If unset, a backend-specific default may be used.
792 #[prost(string, optional, tag = "3")]
793 pub schema: ::core::option::Option<::prost::alloc::string::String>,
794 /// The catalog of the destination table to load data into. If unset, a backend-specific default may be used.
795 #[prost(string, optional, tag = "4")]
796 pub catalog: ::core::option::Option<::prost::alloc::string::String>,
797 ///
798 /// Store ingested data in a temporary table.
799 /// The effect of setting temporary is to place the table in a backend-defined namespace, and to drop the table at the end of the session.
800 /// The namespacing may make use of a backend-specific schema and/or catalog.
801 /// The server should return an error if an explicit choice of schema or catalog is incompatible with the server's namespacing decision.
802 #[prost(bool, tag = "5")]
803 pub temporary: bool,
804 /// Perform the ingestion as part of this transaction. If specified, results should not be committed in the event of an error/cancellation.
805 #[prost(bytes = "bytes", optional, tag = "6")]
806 pub transaction_id: ::core::option::Option<::prost::bytes::Bytes>,
807 /// Backend-specific options.
808 #[prost(map = "string, string", tag = "1000")]
809 pub options: ::std::collections::HashMap<
810 ::prost::alloc::string::String,
811 ::prost::alloc::string::String,
812 >,
813}
814/// Nested message and enum types in `CommandStatementIngest`.
815pub mod command_statement_ingest {
816 /// Options for table definition behavior
817 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
818 pub struct TableDefinitionOptions {
819 #[prost(
820 enumeration = "table_definition_options::TableNotExistOption",
821 tag = "1"
822 )]
823 pub if_not_exist: i32,
824 #[prost(enumeration = "table_definition_options::TableExistsOption", tag = "2")]
825 pub if_exists: i32,
826 }
827 /// Nested message and enum types in `TableDefinitionOptions`.
828 pub mod table_definition_options {
829 /// The action to take if the target table does not exist
830 #[derive(
831 Clone,
832 Copy,
833 Debug,
834 PartialEq,
835 Eq,
836 Hash,
837 PartialOrd,
838 Ord,
839 ::prost::Enumeration
840 )]
841 #[repr(i32)]
842 pub enum TableNotExistOption {
843 /// Do not use. Servers should error if this is specified by a client.
844 Unspecified = 0,
845 /// Create the table if it does not exist
846 Create = 1,
847 /// Fail if the table does not exist
848 Fail = 2,
849 }
850 impl TableNotExistOption {
851 /// String value of the enum field names used in the ProtoBuf definition.
852 ///
853 /// The values are not transformed in any way and thus are considered stable
854 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
855 pub fn as_str_name(&self) -> &'static str {
856 match self {
857 Self::Unspecified => "TABLE_NOT_EXIST_OPTION_UNSPECIFIED",
858 Self::Create => "TABLE_NOT_EXIST_OPTION_CREATE",
859 Self::Fail => "TABLE_NOT_EXIST_OPTION_FAIL",
860 }
861 }
862 /// Creates an enum from field names used in the ProtoBuf definition.
863 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
864 match value {
865 "TABLE_NOT_EXIST_OPTION_UNSPECIFIED" => Some(Self::Unspecified),
866 "TABLE_NOT_EXIST_OPTION_CREATE" => Some(Self::Create),
867 "TABLE_NOT_EXIST_OPTION_FAIL" => Some(Self::Fail),
868 _ => None,
869 }
870 }
871 }
872 /// The action to take if the target table already exists
873 #[derive(
874 Clone,
875 Copy,
876 Debug,
877 PartialEq,
878 Eq,
879 Hash,
880 PartialOrd,
881 Ord,
882 ::prost::Enumeration
883 )]
884 #[repr(i32)]
885 pub enum TableExistsOption {
886 /// Do not use. Servers should error if this is specified by a client.
887 Unspecified = 0,
888 /// Fail if the table already exists
889 Fail = 1,
890 /// Append to the table if it already exists
891 Append = 2,
892 /// Drop and recreate the table if it already exists
893 Replace = 3,
894 }
895 impl TableExistsOption {
896 /// String value of the enum field names used in the ProtoBuf definition.
897 ///
898 /// The values are not transformed in any way and thus are considered stable
899 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
900 pub fn as_str_name(&self) -> &'static str {
901 match self {
902 Self::Unspecified => "TABLE_EXISTS_OPTION_UNSPECIFIED",
903 Self::Fail => "TABLE_EXISTS_OPTION_FAIL",
904 Self::Append => "TABLE_EXISTS_OPTION_APPEND",
905 Self::Replace => "TABLE_EXISTS_OPTION_REPLACE",
906 }
907 }
908 /// Creates an enum from field names used in the ProtoBuf definition.
909 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
910 match value {
911 "TABLE_EXISTS_OPTION_UNSPECIFIED" => Some(Self::Unspecified),
912 "TABLE_EXISTS_OPTION_FAIL" => Some(Self::Fail),
913 "TABLE_EXISTS_OPTION_APPEND" => Some(Self::Append),
914 "TABLE_EXISTS_OPTION_REPLACE" => Some(Self::Replace),
915 _ => None,
916 }
917 }
918 }
919 }
920}
921///
922/// Returned from the RPC call DoPut when a CommandStatementUpdate,
923/// CommandPreparedStatementUpdate, or CommandStatementIngest was
924/// in the request, containing results from the update.
925#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
926pub struct DoPutUpdateResult {
927 /// The number of records updated. A return value of -1 represents
928 /// an unknown updated record count.
929 #[prost(int64, tag = "1")]
930 pub record_count: i64,
931}
932/// An *optional* response returned when `DoPut` is called with `CommandPreparedStatementQuery`.
933///
934/// *Note on legacy behavior*: previous versions of the protocol did not return any result for
935/// this command, and that behavior should still be supported by clients. In that case, the client
936/// can continue as though the fields in this message were not provided or set to sensible default values.
937#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
938pub struct DoPutPreparedStatementResult {
939 /// Represents a (potentially updated) opaque handle for the prepared statement on the server.
940 /// Because the handle could potentially be updated, any previous handles for this prepared
941 /// statement should be considered invalid, and all subsequent requests for this prepared
942 /// statement must use this new handle.
943 /// The updated handle allows implementing query parameters with stateless services.
944 ///
945 /// When an updated handle is not provided by the server, clients should continue
946 /// using the previous handle provided by `ActionCreatePreparedStatementResult`.
947 #[prost(bytes = "bytes", optional, tag = "1")]
948 pub prepared_statement_handle: ::core::option::Option<::prost::bytes::Bytes>,
949}
950///
951/// Request message for the "CancelQuery" action.
952///
953/// Explicitly cancel a running query.
954///
955/// This lets a single client explicitly cancel work, no matter how many clients
956/// are involved/whether the query is distributed or not, given server support.
957/// The transaction/statement is not rolled back; it is the application's job to
958/// commit or rollback as appropriate. This only indicates the client no longer
959/// wishes to read the remainder of the query results or continue submitting
960/// data.
961///
962/// This command is idempotent.
963///
964/// This command is deprecated since 13.0.0. Use the "CancelFlightInfo"
965/// action with DoAction instead.
966#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
967pub struct ActionCancelQueryRequest {
968 /// The result of the GetFlightInfo RPC that initiated the query.
969 /// XXX(ARROW-16902): this must be a serialized FlightInfo, but is
970 /// rendered as bytes because Protobuf does not really support one
971 /// DLL using Protobuf definitions from another DLL.
972 #[prost(bytes = "bytes", tag = "1")]
973 pub info: ::prost::bytes::Bytes,
974}
975///
976/// The result of cancelling a query.
977///
978/// The result should be wrapped in a google.protobuf.Any message.
979///
980/// This command is deprecated since 13.0.0. Use the "CancelFlightInfo"
981/// action with DoAction instead.
982#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
983pub struct ActionCancelQueryResult {
984 #[prost(enumeration = "action_cancel_query_result::CancelResult", tag = "1")]
985 pub result: i32,
986}
987/// Nested message and enum types in `ActionCancelQueryResult`.
988pub mod action_cancel_query_result {
989 #[derive(
990 Clone,
991 Copy,
992 Debug,
993 PartialEq,
994 Eq,
995 Hash,
996 PartialOrd,
997 Ord,
998 ::prost::Enumeration
999 )]
1000 #[repr(i32)]
1001 pub enum CancelResult {
1002 /// The cancellation status is unknown. Servers should avoid using
1003 /// this value (send a NOT_FOUND error if the requested query is
1004 /// not known). Clients can retry the request.
1005 Unspecified = 0,
1006 /// The cancellation request is complete. Subsequent requests with
1007 /// the same payload may return CANCELLED or a NOT_FOUND error.
1008 Cancelled = 1,
1009 /// The cancellation request is in progress. The client may retry
1010 /// the cancellation request.
1011 Cancelling = 2,
1012 /// The query is not cancellable. The client should not retry the
1013 /// cancellation request.
1014 NotCancellable = 3,
1015 }
1016 impl CancelResult {
1017 /// String value of the enum field names used in the ProtoBuf definition.
1018 ///
1019 /// The values are not transformed in any way and thus are considered stable
1020 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1021 pub fn as_str_name(&self) -> &'static str {
1022 match self {
1023 Self::Unspecified => "CANCEL_RESULT_UNSPECIFIED",
1024 Self::Cancelled => "CANCEL_RESULT_CANCELLED",
1025 Self::Cancelling => "CANCEL_RESULT_CANCELLING",
1026 Self::NotCancellable => "CANCEL_RESULT_NOT_CANCELLABLE",
1027 }
1028 }
1029 /// Creates an enum from field names used in the ProtoBuf definition.
1030 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1031 match value {
1032 "CANCEL_RESULT_UNSPECIFIED" => Some(Self::Unspecified),
1033 "CANCEL_RESULT_CANCELLED" => Some(Self::Cancelled),
1034 "CANCEL_RESULT_CANCELLING" => Some(Self::Cancelling),
1035 "CANCEL_RESULT_NOT_CANCELLABLE" => Some(Self::NotCancellable),
1036 _ => None,
1037 }
1038 }
1039 }
1040}
1041/// Options for CommandGetSqlInfo.
1042#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1043#[repr(i32)]
1044pub enum SqlInfo {
1045 /// Retrieves a UTF-8 string with the name of the Flight SQL Server.
1046 FlightSqlServerName = 0,
1047 /// Retrieves a UTF-8 string with the native version of the Flight SQL Server.
1048 FlightSqlServerVersion = 1,
1049 /// Retrieves a UTF-8 string with the Arrow format version of the Flight SQL Server.
1050 FlightSqlServerArrowVersion = 2,
1051 ///
1052 /// Retrieves a boolean value indicating whether the Flight SQL Server is read only.
1053 ///
1054 /// Returns:
1055 /// - false: if read-write
1056 /// - true: if read only
1057 FlightSqlServerReadOnly = 3,
1058 ///
1059 /// Retrieves a boolean value indicating whether the Flight SQL Server supports executing
1060 /// SQL queries.
1061 ///
1062 /// Note that the absence of this info (as opposed to a false value) does not necessarily
1063 /// mean that SQL is not supported, as this property was not originally defined.
1064 FlightSqlServerSql = 4,
1065 ///
1066 /// Retrieves a boolean value indicating whether the Flight SQL Server supports executing
1067 /// Substrait plans.
1068 FlightSqlServerSubstrait = 5,
1069 ///
1070 /// Retrieves a string value indicating the minimum supported Substrait version, or null
1071 /// if Substrait is not supported.
1072 FlightSqlServerSubstraitMinVersion = 6,
1073 ///
1074 /// Retrieves a string value indicating the maximum supported Substrait version, or null
1075 /// if Substrait is not supported.
1076 FlightSqlServerSubstraitMaxVersion = 7,
1077 ///
1078 /// Retrieves an int32 indicating whether the Flight SQL Server supports the
1079 /// BeginTransaction/EndTransaction/BeginSavepoint/EndSavepoint actions.
1080 ///
1081 /// Even if this is not supported, the database may still support explicit "BEGIN
1082 /// TRANSACTION"/"COMMIT" SQL statements (see SQL_TRANSACTIONS_SUPPORTED); this property
1083 /// is only about whether the server implements the Flight SQL API endpoints.
1084 ///
1085 /// The possible values are listed in `SqlSupportedTransaction`.
1086 FlightSqlServerTransaction = 8,
1087 ///
1088 /// Retrieves a boolean value indicating whether the Flight SQL Server supports explicit
1089 /// query cancellation (the CancelQuery action).
1090 FlightSqlServerCancel = 9,
1091 ///
1092 /// Retrieves a boolean value indicating whether the Flight SQL Server supports executing
1093 /// bulk ingestion.
1094 FlightSqlServerBulkIngestion = 10,
1095 ///
1096 /// Retrieves a boolean value indicating whether transactions are supported for bulk ingestion. If not, invoking
1097 /// the method commit in the context of a bulk ingestion is a noop, and the isolation level is
1098 /// `arrow.flight.protocol.sql.SqlTransactionIsolationLevel.TRANSACTION_NONE`.
1099 ///
1100 /// Returns:
1101 /// - false: if bulk ingestion transactions are unsupported;
1102 /// - true: if bulk ingestion transactions are supported.
1103 FlightSqlServerIngestTransactionsSupported = 11,
1104 ///
1105 /// Retrieves an int32 indicating the timeout (in milliseconds) for prepared statement handles.
1106 ///
1107 /// If 0, there is no timeout. Servers should reset the timeout when the handle is used in a command.
1108 FlightSqlServerStatementTimeout = 100,
1109 ///
1110 /// Retrieves an int32 indicating the timeout (in milliseconds) for transactions, since transactions are not tied to a connection.
1111 ///
1112 /// If 0, there is no timeout. Servers should reset the timeout when the handle is used in a command.
1113 FlightSqlServerTransactionTimeout = 101,
1114 ///
1115 /// Retrieves a boolean value indicating whether the Flight SQL Server supports CREATE and DROP of catalogs.
1116 ///
1117 /// Returns:
1118 /// - false: if it doesn't support CREATE and DROP of catalogs.
1119 /// - true: if it supports CREATE and DROP of catalogs.
1120 SqlDdlCatalog = 500,
1121 ///
1122 /// Retrieves a boolean value indicating whether the Flight SQL Server supports CREATE and DROP of schemas.
1123 ///
1124 /// Returns:
1125 /// - false: if it doesn't support CREATE and DROP of schemas.
1126 /// - true: if it supports CREATE and DROP of schemas.
1127 SqlDdlSchema = 501,
1128 ///
1129 /// Indicates whether the Flight SQL Server supports CREATE and DROP of tables.
1130 ///
1131 /// Returns:
1132 /// - false: if it doesn't support CREATE and DROP of tables.
1133 /// - true: if it supports CREATE and DROP of tables.
1134 SqlDdlTable = 502,
1135 ///
1136 /// Retrieves an int32 ordinal representing the case sensitivity of catalog, table, schema and table names.
1137 ///
1138 /// The possible values are listed in `arrow.flight.protocol.sql.SqlSupportedCaseSensitivity`.
1139 SqlIdentifierCase = 503,
1140 /// Retrieves a UTF-8 string with the supported character(s) used to surround a delimited identifier.
1141 SqlIdentifierQuoteChar = 504,
1142 ///
1143 /// Retrieves an int32 describing the case sensitivity of quoted identifiers.
1144 ///
1145 /// The possible values are listed in `arrow.flight.protocol.sql.SqlSupportedCaseSensitivity`.
1146 SqlQuotedIdentifierCase = 505,
1147 ///
1148 /// Retrieves a boolean value indicating whether all tables are selectable.
1149 ///
1150 /// Returns:
1151 /// - false: if not all tables are selectable or if none are;
1152 /// - true: if all tables are selectable.
1153 SqlAllTablesAreSelectable = 506,
1154 ///
1155 /// Retrieves the null ordering.
1156 ///
1157 /// Returns an int32 ordinal for the null ordering being used, as described in
1158 /// `arrow.flight.protocol.sql.SqlNullOrdering`.
1159 SqlNullOrdering = 507,
1160 /// Retrieves a UTF-8 string list with values of the supported keywords.
1161 SqlKeywords = 508,
1162 /// Retrieves a UTF-8 string list with values of the supported numeric functions.
1163 SqlNumericFunctions = 509,
1164 /// Retrieves a UTF-8 string list with values of the supported string functions.
1165 SqlStringFunctions = 510,
1166 /// Retrieves a UTF-8 string list with values of the supported system functions.
1167 SqlSystemFunctions = 511,
1168 /// Retrieves a UTF-8 string list with values of the supported datetime functions.
1169 SqlDatetimeFunctions = 512,
1170 ///
1171 /// Retrieves the UTF-8 string that can be used to escape wildcard characters.
1172 /// This is the string that can be used to escape '_' or '%' in the catalog search parameters that are a pattern
1173 /// (and therefore use one of the wildcard characters).
1174 /// The '_' character represents any single character; the '%' character represents any sequence of zero or more
1175 /// characters.
1176 SqlSearchStringEscape = 513,
1177 ///
1178 /// Retrieves a UTF-8 string with all the "extra" characters that can be used in unquoted identifier names
1179 /// (those beyond a-z, A-Z, 0-9 and _).
1180 SqlExtraNameCharacters = 514,
1181 ///
1182 /// Retrieves a boolean value indicating whether column aliasing is supported.
1183 /// If so, the SQL AS clause can be used to provide names for computed columns or to provide alias names for columns
1184 /// as required.
1185 ///
1186 /// Returns:
1187 /// - false: if column aliasing is unsupported;
1188 /// - true: if column aliasing is supported.
1189 SqlSupportsColumnAliasing = 515,
1190 ///
1191 /// Retrieves a boolean value indicating whether concatenations between null and non-null values being
1192 /// null are supported.
1193 ///
1194 /// Returns:
1195 /// - false: if concatenations between null and non-null values being null are unsupported;
1196 /// - true: if concatenations between null and non-null values being null are supported.
1197 SqlNullPlusNullIsNull = 516,
1198 ///
1199 /// Retrieves a map where the key is the type to convert from and the value is a list with the types to convert to,
1200 /// indicating the supported conversions. Each key and each item on the list value is a value to a predefined type on
1201 /// SqlSupportsConvert enum.
1202 /// The returned map will be: map<int32, list<int32>>
1203 SqlSupportsConvert = 517,
1204 ///
1205 /// Retrieves a boolean value indicating whether, when table correlation names are supported,
1206 /// they are restricted to being different from the names of the tables.
1207 ///
1208 /// Returns:
1209 /// - false: if table correlation names are unsupported;
1210 /// - true: if table correlation names are supported.
1211 SqlSupportsTableCorrelationNames = 518,
1212 ///
1213 /// Retrieves a boolean value indicating whether, when table correlation names are supported,
1214 /// they are restricted to being different from the names of the tables.
1215 ///
1216 /// Returns:
1217 /// - false: if different table correlation names are unsupported;
1218 /// - true: if different table correlation names are supported
1219 SqlSupportsDifferentTableCorrelationNames = 519,
1220 ///
1221 /// Retrieves a boolean value indicating whether expressions in ORDER BY lists are supported.
1222 ///
1223 /// Returns:
1224 /// - false: if expressions in ORDER BY are unsupported;
1225 /// - true: if expressions in ORDER BY are supported;
1226 SqlSupportsExpressionsInOrderBy = 520,
1227 ///
1228 /// Retrieves a boolean value indicating whether using a column that is not in the SELECT statement in a GROUP BY
1229 /// clause is supported.
1230 ///
1231 /// Returns:
1232 /// - false: if using a column that is not in the SELECT statement in a GROUP BY clause is unsupported;
1233 /// - true: if using a column that is not in the SELECT statement in a GROUP BY clause is supported.
1234 SqlSupportsOrderByUnrelated = 521,
1235 ///
1236 /// Retrieves the supported GROUP BY commands;
1237 ///
1238 /// Returns an int32 bitmask value representing the supported commands.
1239 /// The returned bitmask should be parsed in order to retrieve the supported commands.
1240 ///
1241 /// For instance:
1242 /// - return 0 (\b0) => \[\] (GROUP BY is unsupported);
1243 /// - return 1 (\b1) => \[SQL_GROUP_BY_UNRELATED\];
1244 /// - return 2 (\b10) => \[SQL_GROUP_BY_BEYOND_SELECT\];
1245 /// - return 3 (\b11) => \[SQL_GROUP_BY_UNRELATED, SQL_GROUP_BY_BEYOND_SELECT\].
1246 /// Valid GROUP BY types are described under `arrow.flight.protocol.sql.SqlSupportedGroupBy`.
1247 SqlSupportedGroupBy = 522,
1248 ///
1249 /// Retrieves a boolean value indicating whether specifying a LIKE escape clause is supported.
1250 ///
1251 /// Returns:
1252 /// - false: if specifying a LIKE escape clause is unsupported;
1253 /// - true: if specifying a LIKE escape clause is supported.
1254 SqlSupportsLikeEscapeClause = 523,
1255 ///
1256 /// Retrieves a boolean value indicating whether columns may be defined as non-nullable.
1257 ///
1258 /// Returns:
1259 /// - false: if columns cannot be defined as non-nullable;
1260 /// - true: if columns may be defined as non-nullable.
1261 SqlSupportsNonNullableColumns = 524,
1262 ///
1263 /// Retrieves the supported SQL grammar level as per the ODBC specification.
1264 ///
1265 /// Returns an int32 bitmask value representing the supported SQL grammar level.
1266 /// The returned bitmask should be parsed in order to retrieve the supported grammar levels.
1267 ///
1268 /// For instance:
1269 /// - return 0 (\b0) => \[\] (SQL grammar is unsupported);
1270 /// - return 1 (\b1) => \[SQL_MINIMUM_GRAMMAR\];
1271 /// - return 2 (\b10) => \[SQL_CORE_GRAMMAR\];
1272 /// - return 3 (\b11) => \[SQL_MINIMUM_GRAMMAR, SQL_CORE_GRAMMAR\];
1273 /// - return 4 (\b100) => \[SQL_EXTENDED_GRAMMAR\];
1274 /// - return 5 (\b101) => \[SQL_MINIMUM_GRAMMAR, SQL_EXTENDED_GRAMMAR\];
1275 /// - return 6 (\b110) => \[SQL_CORE_GRAMMAR, SQL_EXTENDED_GRAMMAR\];
1276 /// - return 7 (\b111) => \[SQL_MINIMUM_GRAMMAR, SQL_CORE_GRAMMAR, SQL_EXTENDED_GRAMMAR\].
1277 /// Valid SQL grammar levels are described under `arrow.flight.protocol.sql.SupportedSqlGrammar`.
1278 SqlSupportedGrammar = 525,
1279 ///
1280 /// Retrieves the supported ANSI92 SQL grammar level.
1281 ///
1282 /// Returns an int32 bitmask value representing the supported ANSI92 SQL grammar level.
1283 /// The returned bitmask should be parsed in order to retrieve the supported commands.
1284 ///
1285 /// For instance:
1286 /// - return 0 (\b0) => \[\] (ANSI92 SQL grammar is unsupported);
1287 /// - return 1 (\b1) => \[ANSI92_ENTRY_SQL\];
1288 /// - return 2 (\b10) => \[ANSI92_INTERMEDIATE_SQL\];
1289 /// - return 3 (\b11) => \[ANSI92_ENTRY_SQL, ANSI92_INTERMEDIATE_SQL\];
1290 /// - return 4 (\b100) => \[ANSI92_FULL_SQL\];
1291 /// - return 5 (\b101) => \[ANSI92_ENTRY_SQL, ANSI92_FULL_SQL\];
1292 /// - return 6 (\b110) => \[ANSI92_INTERMEDIATE_SQL, ANSI92_FULL_SQL\];
1293 /// - return 7 (\b111) => \[ANSI92_ENTRY_SQL, ANSI92_INTERMEDIATE_SQL, ANSI92_FULL_SQL\].
1294 /// Valid ANSI92 SQL grammar levels are described under `arrow.flight.protocol.sql.SupportedAnsi92SqlGrammarLevel`.
1295 SqlAnsi92SupportedLevel = 526,
1296 ///
1297 /// Retrieves a boolean value indicating whether the SQL Integrity Enhancement Facility is supported.
1298 ///
1299 /// Returns:
1300 /// - false: if the SQL Integrity Enhancement Facility is unsupported;
1301 /// - true: if the SQL Integrity Enhancement Facility is supported.
1302 SqlSupportsIntegrityEnhancementFacility = 527,
1303 ///
1304 /// Retrieves the support level for SQL OUTER JOINs.
1305 ///
1306 /// Returns an int32 ordinal for the SQL ordering being used, as described in
1307 /// `arrow.flight.protocol.sql.SqlOuterJoinsSupportLevel`.
1308 SqlOuterJoinsSupportLevel = 528,
1309 /// Retrieves a UTF-8 string with the preferred term for "schema".
1310 SqlSchemaTerm = 529,
1311 /// Retrieves a UTF-8 string with the preferred term for "procedure".
1312 SqlProcedureTerm = 530,
1313 ///
1314 /// Retrieves a UTF-8 string with the preferred term for "catalog".
1315 /// If an empty string is returned it is assumed that the server does NOT support catalogs.
1316 SqlCatalogTerm = 531,
1317 ///
1318 /// Retrieves a boolean value indicating whether a catalog appears at the start of a fully qualified table name.
1319 ///
1320 /// - false: if a catalog does not appear at the start of a fully qualified table name;
1321 /// - true: if a catalog appears at the start of a fully qualified table name.
1322 SqlCatalogAtStart = 532,
1323 ///
1324 /// Retrieves the supported actions for a SQL schema.
1325 ///
1326 /// Returns an int32 bitmask value representing the supported actions for a SQL schema.
1327 /// The returned bitmask should be parsed in order to retrieve the supported actions for a SQL schema.
1328 ///
1329 /// For instance:
1330 /// - return 0 (\b0) => \[\] (no supported actions for SQL schema);
1331 /// - return 1 (\b1) => \[SQL_ELEMENT_IN_PROCEDURE_CALLS\];
1332 /// - return 2 (\b10) => \[SQL_ELEMENT_IN_INDEX_DEFINITIONS\];
1333 /// - return 3 (\b11) => \[SQL_ELEMENT_IN_PROCEDURE_CALLS, SQL_ELEMENT_IN_INDEX_DEFINITIONS\];
1334 /// - return 4 (\b100) => \[SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS\];
1335 /// - return 5 (\b101) => \[SQL_ELEMENT_IN_PROCEDURE_CALLS, SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS\];
1336 /// - return 6 (\b110) => \[SQL_ELEMENT_IN_INDEX_DEFINITIONS, SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS\];
1337 /// - return 7 (\b111) => \[SQL_ELEMENT_IN_PROCEDURE_CALLS, SQL_ELEMENT_IN_INDEX_DEFINITIONS, SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS\].
1338 /// Valid actions for a SQL schema are described under `arrow.flight.protocol.sql.SqlSupportedElementActions`.
1339 SqlSchemasSupportedActions = 533,
1340 ///
1341 /// Retrieves the supported actions for a SQL catalog.
1342 ///
1343 /// Returns an int32 bitmask value representing the supported actions for a SQL catalog.
1344 /// The returned bitmask should be parsed in order to retrieve the supported actions for a SQL catalog.
1345 ///
1346 /// For instance:
1347 /// - return 0 (\b0) => \[\] (no supported actions for SQL catalog);
1348 /// - return 1 (\b1) => \[SQL_ELEMENT_IN_PROCEDURE_CALLS\];
1349 /// - return 2 (\b10) => \[SQL_ELEMENT_IN_INDEX_DEFINITIONS\];
1350 /// - return 3 (\b11) => \[SQL_ELEMENT_IN_PROCEDURE_CALLS, SQL_ELEMENT_IN_INDEX_DEFINITIONS\];
1351 /// - return 4 (\b100) => \[SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS\];
1352 /// - return 5 (\b101) => \[SQL_ELEMENT_IN_PROCEDURE_CALLS, SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS\];
1353 /// - return 6 (\b110) => \[SQL_ELEMENT_IN_INDEX_DEFINITIONS, SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS\];
1354 /// - return 7 (\b111) => \[SQL_ELEMENT_IN_PROCEDURE_CALLS, SQL_ELEMENT_IN_INDEX_DEFINITIONS, SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS\].
1355 /// Valid actions for a SQL catalog are described under `arrow.flight.protocol.sql.SqlSupportedElementActions`.
1356 SqlCatalogsSupportedActions = 534,
1357 ///
1358 /// Retrieves the supported SQL positioned commands.
1359 ///
1360 /// Returns an int32 bitmask value representing the supported SQL positioned commands.
1361 /// The returned bitmask should be parsed in order to retrieve the supported SQL positioned commands.
1362 ///
1363 /// For instance:
1364 /// - return 0 (\b0) => \[\] (no supported SQL positioned commands);
1365 /// - return 1 (\b1) => \[SQL_POSITIONED_DELETE\];
1366 /// - return 2 (\b10) => \[SQL_POSITIONED_UPDATE\];
1367 /// - return 3 (\b11) => \[SQL_POSITIONED_DELETE, SQL_POSITIONED_UPDATE\].
1368 /// Valid SQL positioned commands are described under `arrow.flight.protocol.sql.SqlSupportedPositionedCommands`.
1369 SqlSupportedPositionedCommands = 535,
1370 ///
1371 /// Retrieves a boolean value indicating whether SELECT FOR UPDATE statements are supported.
1372 ///
1373 /// Returns:
1374 /// - false: if SELECT FOR UPDATE statements are unsupported;
1375 /// - true: if SELECT FOR UPDATE statements are supported.
1376 SqlSelectForUpdateSupported = 536,
1377 ///
1378 /// Retrieves a boolean value indicating whether stored procedure calls that use the stored procedure escape syntax
1379 /// are supported.
1380 ///
1381 /// Returns:
1382 /// - false: if stored procedure calls that use the stored procedure escape syntax are unsupported;
1383 /// - true: if stored procedure calls that use the stored procedure escape syntax are supported.
1384 SqlStoredProceduresSupported = 537,
1385 ///
1386 /// Retrieves the supported SQL subqueries.
1387 ///
1388 /// Returns an int32 bitmask value representing the supported SQL subqueries.
1389 /// The returned bitmask should be parsed in order to retrieve the supported SQL subqueries.
1390 ///
1391 /// For instance:
1392 /// - return 0 (\b0) => \[\] (no supported SQL subqueries);
1393 /// - return 1 (\b1) => \[SQL_SUBQUERIES_IN_COMPARISONS\];
1394 /// - return 2 (\b10) => \[SQL_SUBQUERIES_IN_EXISTS\];
1395 /// - return 3 (\b11) => \[SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_EXISTS\];
1396 /// - return 4 (\b100) => \[SQL_SUBQUERIES_IN_INS\];
1397 /// - return 5 (\b101) => \[SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_INS\];
1398 /// - return 6 (\b110) => \[SQL_SUBQUERIES_IN_INS, SQL_SUBQUERIES_IN_EXISTS\];
1399 /// - return 7 (\b111) => \[SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_EXISTS, SQL_SUBQUERIES_IN_INS\];
1400 /// - return 8 (\b1000) => \[SQL_SUBQUERIES_IN_QUANTIFIEDS\];
1401 /// - return 9 (\b1001) => \[SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_QUANTIFIEDS\];
1402 /// - return 10 (\b1010) => \[SQL_SUBQUERIES_IN_EXISTS, SQL_SUBQUERIES_IN_QUANTIFIEDS\];
1403 /// - return 11 (\b1011) => \[SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_EXISTS, SQL_SUBQUERIES_IN_QUANTIFIEDS\];
1404 /// - return 12 (\b1100) => \[SQL_SUBQUERIES_IN_INS, SQL_SUBQUERIES_IN_QUANTIFIEDS\];
1405 /// - return 13 (\b1101) => \[SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_INS, SQL_SUBQUERIES_IN_QUANTIFIEDS\];
1406 /// - return 14 (\b1110) => \[SQL_SUBQUERIES_IN_EXISTS, SQL_SUBQUERIES_IN_INS, SQL_SUBQUERIES_IN_QUANTIFIEDS\];
1407 /// - return 15 (\b1111) => \[SQL_SUBQUERIES_IN_COMPARISONS, SQL_SUBQUERIES_IN_EXISTS, SQL_SUBQUERIES_IN_INS, SQL_SUBQUERIES_IN_QUANTIFIEDS\];
1408 /// - ...
1409 /// Valid SQL subqueries are described under `arrow.flight.protocol.sql.SqlSupportedSubqueries`.
1410 SqlSupportedSubqueries = 538,
1411 ///
1412 /// Retrieves a boolean value indicating whether correlated subqueries are supported.
1413 ///
1414 /// Returns:
1415 /// - false: if correlated subqueries are unsupported;
1416 /// - true: if correlated subqueries are supported.
1417 SqlCorrelatedSubqueriesSupported = 539,
1418 ///
1419 /// Retrieves the supported SQL UNIONs.
1420 ///
1421 /// Returns an int32 bitmask value representing the supported SQL UNIONs.
1422 /// The returned bitmask should be parsed in order to retrieve the supported SQL UNIONs.
1423 ///
1424 /// For instance:
1425 /// - return 0 (\b0) => \[\] (no supported SQL UNIONs);
1426 /// - return 1 (\b1) => \[SQL_UNION\];
1427 /// - return 2 (\b10) => \[SQL_UNION_ALL\];
1428 /// - return 3 (\b11) => \[SQL_UNION, SQL_UNION_ALL\].
1429 /// Valid SQL UNIONs are described under `arrow.flight.protocol.sql.SqlSupportedUnions`.
1430 SqlSupportedUnions = 540,
1431 /// Retrieves an int64 value representing the maximum number of hex characters allowed in an inline binary literal.
1432 SqlMaxBinaryLiteralLength = 541,
1433 /// Retrieves an int64 value representing the maximum number of characters allowed for a character literal.
1434 SqlMaxCharLiteralLength = 542,
1435 /// Retrieves an int64 value representing the maximum number of characters allowed for a column name.
1436 SqlMaxColumnNameLength = 543,
1437 /// Retrieves an int64 value representing the maximum number of columns allowed in a GROUP BY clause.
1438 SqlMaxColumnsInGroupBy = 544,
1439 /// Retrieves an int64 value representing the maximum number of columns allowed in an index.
1440 SqlMaxColumnsInIndex = 545,
1441 /// Retrieves an int64 value representing the maximum number of columns allowed in an ORDER BY clause.
1442 SqlMaxColumnsInOrderBy = 546,
1443 /// Retrieves an int64 value representing the maximum number of columns allowed in a SELECT list.
1444 SqlMaxColumnsInSelect = 547,
1445 /// Retrieves an int64 value representing the maximum number of columns allowed in a table.
1446 SqlMaxColumnsInTable = 548,
1447 /// Retrieves an int64 value representing the maximum number of concurrent connections possible.
1448 SqlMaxConnections = 549,
1449 /// Retrieves an int64 value representing the maximum number of characters allowed in a cursor name.
1450 SqlMaxCursorNameLength = 550,
1451 ///
1452 /// Retrieves an int64 value representing the maximum number of bytes allowed for an index,
1453 /// including all of the parts of the index.
1454 SqlMaxIndexLength = 551,
1455 /// Retrieves an int64 value representing the maximum number of characters allowed in a schema name.
1456 SqlDbSchemaNameLength = 552,
1457 /// Retrieves an int64 value representing the maximum number of characters allowed in a procedure name.
1458 SqlMaxProcedureNameLength = 553,
1459 /// Retrieves an int64 value representing the maximum number of characters allowed in a catalog name.
1460 SqlMaxCatalogNameLength = 554,
1461 /// Retrieves an int64 value representing the maximum number of bytes allowed in a single row.
1462 SqlMaxRowSize = 555,
1463 ///
1464 /// Retrieves a boolean indicating whether the return value for the JDBC method getMaxRowSize includes the SQL
1465 /// data types LONGVARCHAR and LONGVARBINARY.
1466 ///
1467 /// Returns:
1468 /// - false: if return value for the JDBC method getMaxRowSize does
1469 /// not include the SQL data types LONGVARCHAR and LONGVARBINARY;
1470 /// - true: if return value for the JDBC method getMaxRowSize includes
1471 /// the SQL data types LONGVARCHAR and LONGVARBINARY.
1472 SqlMaxRowSizeIncludesBlobs = 556,
1473 ///
1474 /// Retrieves an int64 value representing the maximum number of characters allowed for an SQL statement;
1475 /// a result of 0 (zero) means that there is no limit or the limit is not known.
1476 SqlMaxStatementLength = 557,
1477 /// Retrieves an int64 value representing the maximum number of active statements that can be open at the same time.
1478 SqlMaxStatements = 558,
1479 /// Retrieves an int64 value representing the maximum number of characters allowed in a table name.
1480 SqlMaxTableNameLength = 559,
1481 /// Retrieves an int64 value representing the maximum number of tables allowed in a SELECT statement.
1482 SqlMaxTablesInSelect = 560,
1483 /// Retrieves an int64 value representing the maximum number of characters allowed in a user name.
1484 SqlMaxUsernameLength = 561,
1485 ///
1486 /// Retrieves this database's default transaction isolation level as described in
1487 /// `arrow.flight.protocol.sql.SqlTransactionIsolationLevel`.
1488 ///
1489 /// Returns an int32 ordinal for the SQL transaction isolation level.
1490 SqlDefaultTransactionIsolation = 562,
1491 ///
1492 /// Retrieves a boolean value indicating whether transactions are supported. If not, invoking the method commit is a
1493 /// noop, and the isolation level is `arrow.flight.protocol.sql.SqlTransactionIsolationLevel.TRANSACTION_NONE`.
1494 ///
1495 /// Returns:
1496 /// - false: if transactions are unsupported;
1497 /// - true: if transactions are supported.
1498 SqlTransactionsSupported = 563,
1499 ///
1500 /// Retrieves the supported transactions isolation levels.
1501 ///
1502 /// Returns an int32 bitmask value representing the supported transactions isolation levels.
1503 /// The returned bitmask should be parsed in order to retrieve the supported transactions isolation levels.
1504 ///
1505 /// For instance:
1506 /// - return 0 (\b0) => \[\] (no supported SQL transactions isolation levels);
1507 /// - return 1 (\b1) => \[SQL_TRANSACTION_NONE\];
1508 /// - return 2 (\b10) => \[SQL_TRANSACTION_READ_UNCOMMITTED\];
1509 /// - return 3 (\b11) => \[SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED\];
1510 /// - return 4 (\b100) => \[SQL_TRANSACTION_READ_COMMITTED\];
1511 /// - return 5 (\b101) => \[SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_COMMITTED\];
1512 /// - return 6 (\b110) => \[SQL_TRANSACTION_READ_UNCOMMITTED, SQL_TRANSACTION_READ_COMMITTED\];
1513 /// - return 7 (\b111) => \[SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED, SQL_TRANSACTION_READ_COMMITTED\];
1514 /// - return 8 (\b1000) => \[SQL_TRANSACTION_REPEATABLE_READ\];
1515 /// - return 9 (\b1001) => \[SQL_TRANSACTION_NONE, SQL_TRANSACTION_REPEATABLE_READ\];
1516 /// - return 10 (\b1010) => \[SQL_TRANSACTION_READ_UNCOMMITTED, SQL_TRANSACTION_REPEATABLE_READ\];
1517 /// - return 11 (\b1011) => \[SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED, SQL_TRANSACTION_REPEATABLE_READ\];
1518 /// - return 12 (\b1100) => \[SQL_TRANSACTION_READ_COMMITTED, SQL_TRANSACTION_REPEATABLE_READ\];
1519 /// - return 13 (\b1101) => \[SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_COMMITTED, SQL_TRANSACTION_REPEATABLE_READ\];
1520 /// - return 14 (\b1110) => \[SQL_TRANSACTION_READ_UNCOMMITTED, SQL_TRANSACTION_READ_COMMITTED, SQL_TRANSACTION_REPEATABLE_READ\];
1521 /// - return 15 (\b1111) => \[SQL_TRANSACTION_NONE, SQL_TRANSACTION_READ_UNCOMMITTED, SQL_TRANSACTION_READ_COMMITTED, SQL_TRANSACTION_REPEATABLE_READ\];
1522 /// - return 16 (\b10000) => \[SQL_TRANSACTION_SERIALIZABLE\];
1523 /// - ...
1524 /// Valid SQL transaction isolation levels are described under `arrow.flight.protocol.sql.SqlTransactionIsolationLevel`.
1525 SqlSupportedTransactionsIsolationLevels = 564,
1526 ///
1527 /// Retrieves a boolean value indicating whether a data definition statement within a transaction forces
1528 /// the transaction to commit.
1529 ///
1530 /// Returns:
1531 /// - false: if a data definition statement within a transaction does not force the transaction to commit;
1532 /// - true: if a data definition statement within a transaction forces the transaction to commit.
1533 SqlDataDefinitionCausesTransactionCommit = 565,
1534 ///
1535 /// Retrieves a boolean value indicating whether a data definition statement within a transaction is ignored.
1536 ///
1537 /// Returns:
1538 /// - false: if a data definition statement within a transaction is taken into account;
1539 /// - true: a data definition statement within a transaction is ignored.
1540 SqlDataDefinitionsInTransactionsIgnored = 566,
1541 ///
1542 /// Retrieves an int32 bitmask value representing the supported result set types.
1543 /// The returned bitmask should be parsed in order to retrieve the supported result set types.
1544 ///
1545 /// For instance:
1546 /// - return 0 (\b0) => \[\] (no supported result set types);
1547 /// - return 1 (\b1) => \[SQL_RESULT_SET_TYPE_UNSPECIFIED\];
1548 /// - return 2 (\b10) => \[SQL_RESULT_SET_TYPE_FORWARD_ONLY\];
1549 /// - return 3 (\b11) => \[SQL_RESULT_SET_TYPE_UNSPECIFIED, SQL_RESULT_SET_TYPE_FORWARD_ONLY\];
1550 /// - return 4 (\b100) => \[SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE\];
1551 /// - return 5 (\b101) => \[SQL_RESULT_SET_TYPE_UNSPECIFIED, SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE\];
1552 /// - return 6 (\b110) => \[SQL_RESULT_SET_TYPE_FORWARD_ONLY, SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE\];
1553 /// - return 7 (\b111) => \[SQL_RESULT_SET_TYPE_UNSPECIFIED, SQL_RESULT_SET_TYPE_FORWARD_ONLY, SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE\];
1554 /// - return 8 (\b1000) => \[SQL_RESULT_SET_TYPE_SCROLL_SENSITIVE\];
1555 /// - ...
1556 /// Valid result set types are described under `arrow.flight.protocol.sql.SqlSupportedResultSetType`.
1557 SqlSupportedResultSetTypes = 567,
1558 ///
1559 /// Returns an int32 bitmask value representing the concurrency types supported for
1560 /// `arrow.flight.protocol.sql.SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_UNSPECIFIED`.
1561 ///
1562 /// For instance:
1563 /// - return 0 (\b0) => \[\] (no supported concurrency types for this result set type)
1564 /// - return 1 (\b1) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED\]
1565 /// - return 2 (\b10) => \[SQL_RESULT_SET_CONCURRENCY_READ_ONLY\]
1566 /// - return 3 (\b11) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_READ_ONLY\]
1567 /// - return 4 (\b100) => \[SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1568 /// - return 5 (\b101) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1569 /// - return 6 (\b110) => \[SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1570 /// - return 7 (\b111) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1571 /// Valid result set concurrency types are described under `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
1572 SqlSupportedConcurrenciesForResultSetUnspecified = 568,
1573 ///
1574 /// Returns an int32 bitmask value representing the concurrency types supported for
1575 /// `arrow.flight.protocol.sql.SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_FORWARD_ONLY`.
1576 ///
1577 /// For instance:
1578 /// - return 0 (\b0) => \[\] (no supported concurrency types for this result set type)
1579 /// - return 1 (\b1) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED\]
1580 /// - return 2 (\b10) => \[SQL_RESULT_SET_CONCURRENCY_READ_ONLY\]
1581 /// - return 3 (\b11) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_READ_ONLY\]
1582 /// - return 4 (\b100) => \[SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1583 /// - return 5 (\b101) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1584 /// - return 6 (\b110) => \[SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1585 /// - return 7 (\b111) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1586 /// Valid result set concurrency types are described under `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
1587 SqlSupportedConcurrenciesForResultSetForwardOnly = 569,
1588 ///
1589 /// Returns an int32 bitmask value representing the concurrency types supported for
1590 /// `arrow.flight.protocol.sql.SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_SCROLL_SENSITIVE`.
1591 ///
1592 /// For instance:
1593 /// - return 0 (\b0) => \[\] (no supported concurrency types for this result set type)
1594 /// - return 1 (\b1) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED\]
1595 /// - return 2 (\b10) => \[SQL_RESULT_SET_CONCURRENCY_READ_ONLY\]
1596 /// - return 3 (\b11) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_READ_ONLY\]
1597 /// - return 4 (\b100) => \[SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1598 /// - return 5 (\b101) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1599 /// - return 6 (\b110) => \[SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1600 /// - return 7 (\b111) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1601 /// Valid result set concurrency types are described under `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
1602 SqlSupportedConcurrenciesForResultSetScrollSensitive = 570,
1603 ///
1604 /// Returns an int32 bitmask value representing the concurrency types supported for
1605 /// `arrow.flight.protocol.sql.SqlSupportedResultSetType.SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE`.
1606 ///
1607 /// For instance:
1608 /// - return 0 (\b0) => \[\] (no supported concurrency types for this result set type)
1609 /// - return 1 (\b1) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED\]
1610 /// - return 2 (\b10) => \[SQL_RESULT_SET_CONCURRENCY_READ_ONLY\]
1611 /// - return 3 (\b11) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_READ_ONLY\]
1612 /// - return 4 (\b100) => \[SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1613 /// - return 5 (\b101) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1614 /// - return 6 (\b110) => \[SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1615 /// - return 7 (\b111) => \[SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED, SQL_RESULT_SET_CONCURRENCY_READ_ONLY, SQL_RESULT_SET_CONCURRENCY_UPDATABLE\]
1616 /// Valid result set concurrency types are described under `arrow.flight.protocol.sql.SqlSupportedResultSetConcurrency`.
1617 SqlSupportedConcurrenciesForResultSetScrollInsensitive = 571,
1618 ///
1619 /// Retrieves a boolean value indicating whether this database supports batch updates.
1620 ///
1621 /// - false: if this database does not support batch updates;
1622 /// - true: if this database supports batch updates.
1623 SqlBatchUpdatesSupported = 572,
1624 ///
1625 /// Retrieves a boolean value indicating whether this database supports savepoints.
1626 ///
1627 /// Returns:
1628 /// - false: if this database does not support savepoints;
1629 /// - true: if this database supports savepoints.
1630 SqlSavepointsSupported = 573,
1631 ///
1632 /// Retrieves a boolean value indicating whether named parameters are supported in callable statements.
1633 ///
1634 /// Returns:
1635 /// - false: if named parameters in callable statements are unsupported;
1636 /// - true: if named parameters in callable statements are supported.
1637 SqlNamedParametersSupported = 574,
1638 ///
1639 /// Retrieves a boolean value indicating whether updates made to a LOB are made on a copy or directly to the LOB.
1640 ///
1641 /// Returns:
1642 /// - false: if updates made to a LOB are made directly to the LOB;
1643 /// - true: if updates made to a LOB are made on a copy.
1644 SqlLocatorsUpdateCopy = 575,
1645 ///
1646 /// Retrieves a boolean value indicating whether invoking user-defined or vendor functions
1647 /// using the stored procedure escape syntax is supported.
1648 ///
1649 /// Returns:
1650 /// - false: if invoking user-defined or vendor functions using the stored procedure escape syntax is unsupported;
1651 /// - true: if invoking user-defined or vendor functions using the stored procedure escape syntax is supported.
1652 SqlStoredFunctionsUsingCallSyntaxSupported = 576,
1653}
1654impl SqlInfo {
1655 /// String value of the enum field names used in the ProtoBuf definition.
1656 ///
1657 /// The values are not transformed in any way and thus are considered stable
1658 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1659 pub fn as_str_name(&self) -> &'static str {
1660 match self {
1661 Self::FlightSqlServerName => "FLIGHT_SQL_SERVER_NAME",
1662 Self::FlightSqlServerVersion => "FLIGHT_SQL_SERVER_VERSION",
1663 Self::FlightSqlServerArrowVersion => "FLIGHT_SQL_SERVER_ARROW_VERSION",
1664 Self::FlightSqlServerReadOnly => "FLIGHT_SQL_SERVER_READ_ONLY",
1665 Self::FlightSqlServerSql => "FLIGHT_SQL_SERVER_SQL",
1666 Self::FlightSqlServerSubstrait => "FLIGHT_SQL_SERVER_SUBSTRAIT",
1667 Self::FlightSqlServerSubstraitMinVersion => {
1668 "FLIGHT_SQL_SERVER_SUBSTRAIT_MIN_VERSION"
1669 }
1670 Self::FlightSqlServerSubstraitMaxVersion => {
1671 "FLIGHT_SQL_SERVER_SUBSTRAIT_MAX_VERSION"
1672 }
1673 Self::FlightSqlServerTransaction => "FLIGHT_SQL_SERVER_TRANSACTION",
1674 Self::FlightSqlServerCancel => "FLIGHT_SQL_SERVER_CANCEL",
1675 Self::FlightSqlServerBulkIngestion => "FLIGHT_SQL_SERVER_BULK_INGESTION",
1676 Self::FlightSqlServerIngestTransactionsSupported => {
1677 "FLIGHT_SQL_SERVER_INGEST_TRANSACTIONS_SUPPORTED"
1678 }
1679 Self::FlightSqlServerStatementTimeout => {
1680 "FLIGHT_SQL_SERVER_STATEMENT_TIMEOUT"
1681 }
1682 Self::FlightSqlServerTransactionTimeout => {
1683 "FLIGHT_SQL_SERVER_TRANSACTION_TIMEOUT"
1684 }
1685 Self::SqlDdlCatalog => "SQL_DDL_CATALOG",
1686 Self::SqlDdlSchema => "SQL_DDL_SCHEMA",
1687 Self::SqlDdlTable => "SQL_DDL_TABLE",
1688 Self::SqlIdentifierCase => "SQL_IDENTIFIER_CASE",
1689 Self::SqlIdentifierQuoteChar => "SQL_IDENTIFIER_QUOTE_CHAR",
1690 Self::SqlQuotedIdentifierCase => "SQL_QUOTED_IDENTIFIER_CASE",
1691 Self::SqlAllTablesAreSelectable => "SQL_ALL_TABLES_ARE_SELECTABLE",
1692 Self::SqlNullOrdering => "SQL_NULL_ORDERING",
1693 Self::SqlKeywords => "SQL_KEYWORDS",
1694 Self::SqlNumericFunctions => "SQL_NUMERIC_FUNCTIONS",
1695 Self::SqlStringFunctions => "SQL_STRING_FUNCTIONS",
1696 Self::SqlSystemFunctions => "SQL_SYSTEM_FUNCTIONS",
1697 Self::SqlDatetimeFunctions => "SQL_DATETIME_FUNCTIONS",
1698 Self::SqlSearchStringEscape => "SQL_SEARCH_STRING_ESCAPE",
1699 Self::SqlExtraNameCharacters => "SQL_EXTRA_NAME_CHARACTERS",
1700 Self::SqlSupportsColumnAliasing => "SQL_SUPPORTS_COLUMN_ALIASING",
1701 Self::SqlNullPlusNullIsNull => "SQL_NULL_PLUS_NULL_IS_NULL",
1702 Self::SqlSupportsConvert => "SQL_SUPPORTS_CONVERT",
1703 Self::SqlSupportsTableCorrelationNames => {
1704 "SQL_SUPPORTS_TABLE_CORRELATION_NAMES"
1705 }
1706 Self::SqlSupportsDifferentTableCorrelationNames => {
1707 "SQL_SUPPORTS_DIFFERENT_TABLE_CORRELATION_NAMES"
1708 }
1709 Self::SqlSupportsExpressionsInOrderBy => {
1710 "SQL_SUPPORTS_EXPRESSIONS_IN_ORDER_BY"
1711 }
1712 Self::SqlSupportsOrderByUnrelated => "SQL_SUPPORTS_ORDER_BY_UNRELATED",
1713 Self::SqlSupportedGroupBy => "SQL_SUPPORTED_GROUP_BY",
1714 Self::SqlSupportsLikeEscapeClause => "SQL_SUPPORTS_LIKE_ESCAPE_CLAUSE",
1715 Self::SqlSupportsNonNullableColumns => "SQL_SUPPORTS_NON_NULLABLE_COLUMNS",
1716 Self::SqlSupportedGrammar => "SQL_SUPPORTED_GRAMMAR",
1717 Self::SqlAnsi92SupportedLevel => "SQL_ANSI92_SUPPORTED_LEVEL",
1718 Self::SqlSupportsIntegrityEnhancementFacility => {
1719 "SQL_SUPPORTS_INTEGRITY_ENHANCEMENT_FACILITY"
1720 }
1721 Self::SqlOuterJoinsSupportLevel => "SQL_OUTER_JOINS_SUPPORT_LEVEL",
1722 Self::SqlSchemaTerm => "SQL_SCHEMA_TERM",
1723 Self::SqlProcedureTerm => "SQL_PROCEDURE_TERM",
1724 Self::SqlCatalogTerm => "SQL_CATALOG_TERM",
1725 Self::SqlCatalogAtStart => "SQL_CATALOG_AT_START",
1726 Self::SqlSchemasSupportedActions => "SQL_SCHEMAS_SUPPORTED_ACTIONS",
1727 Self::SqlCatalogsSupportedActions => "SQL_CATALOGS_SUPPORTED_ACTIONS",
1728 Self::SqlSupportedPositionedCommands => "SQL_SUPPORTED_POSITIONED_COMMANDS",
1729 Self::SqlSelectForUpdateSupported => "SQL_SELECT_FOR_UPDATE_SUPPORTED",
1730 Self::SqlStoredProceduresSupported => "SQL_STORED_PROCEDURES_SUPPORTED",
1731 Self::SqlSupportedSubqueries => "SQL_SUPPORTED_SUBQUERIES",
1732 Self::SqlCorrelatedSubqueriesSupported => {
1733 "SQL_CORRELATED_SUBQUERIES_SUPPORTED"
1734 }
1735 Self::SqlSupportedUnions => "SQL_SUPPORTED_UNIONS",
1736 Self::SqlMaxBinaryLiteralLength => "SQL_MAX_BINARY_LITERAL_LENGTH",
1737 Self::SqlMaxCharLiteralLength => "SQL_MAX_CHAR_LITERAL_LENGTH",
1738 Self::SqlMaxColumnNameLength => "SQL_MAX_COLUMN_NAME_LENGTH",
1739 Self::SqlMaxColumnsInGroupBy => "SQL_MAX_COLUMNS_IN_GROUP_BY",
1740 Self::SqlMaxColumnsInIndex => "SQL_MAX_COLUMNS_IN_INDEX",
1741 Self::SqlMaxColumnsInOrderBy => "SQL_MAX_COLUMNS_IN_ORDER_BY",
1742 Self::SqlMaxColumnsInSelect => "SQL_MAX_COLUMNS_IN_SELECT",
1743 Self::SqlMaxColumnsInTable => "SQL_MAX_COLUMNS_IN_TABLE",
1744 Self::SqlMaxConnections => "SQL_MAX_CONNECTIONS",
1745 Self::SqlMaxCursorNameLength => "SQL_MAX_CURSOR_NAME_LENGTH",
1746 Self::SqlMaxIndexLength => "SQL_MAX_INDEX_LENGTH",
1747 Self::SqlDbSchemaNameLength => "SQL_DB_SCHEMA_NAME_LENGTH",
1748 Self::SqlMaxProcedureNameLength => "SQL_MAX_PROCEDURE_NAME_LENGTH",
1749 Self::SqlMaxCatalogNameLength => "SQL_MAX_CATALOG_NAME_LENGTH",
1750 Self::SqlMaxRowSize => "SQL_MAX_ROW_SIZE",
1751 Self::SqlMaxRowSizeIncludesBlobs => "SQL_MAX_ROW_SIZE_INCLUDES_BLOBS",
1752 Self::SqlMaxStatementLength => "SQL_MAX_STATEMENT_LENGTH",
1753 Self::SqlMaxStatements => "SQL_MAX_STATEMENTS",
1754 Self::SqlMaxTableNameLength => "SQL_MAX_TABLE_NAME_LENGTH",
1755 Self::SqlMaxTablesInSelect => "SQL_MAX_TABLES_IN_SELECT",
1756 Self::SqlMaxUsernameLength => "SQL_MAX_USERNAME_LENGTH",
1757 Self::SqlDefaultTransactionIsolation => "SQL_DEFAULT_TRANSACTION_ISOLATION",
1758 Self::SqlTransactionsSupported => "SQL_TRANSACTIONS_SUPPORTED",
1759 Self::SqlSupportedTransactionsIsolationLevels => {
1760 "SQL_SUPPORTED_TRANSACTIONS_ISOLATION_LEVELS"
1761 }
1762 Self::SqlDataDefinitionCausesTransactionCommit => {
1763 "SQL_DATA_DEFINITION_CAUSES_TRANSACTION_COMMIT"
1764 }
1765 Self::SqlDataDefinitionsInTransactionsIgnored => {
1766 "SQL_DATA_DEFINITIONS_IN_TRANSACTIONS_IGNORED"
1767 }
1768 Self::SqlSupportedResultSetTypes => "SQL_SUPPORTED_RESULT_SET_TYPES",
1769 Self::SqlSupportedConcurrenciesForResultSetUnspecified => {
1770 "SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_UNSPECIFIED"
1771 }
1772 Self::SqlSupportedConcurrenciesForResultSetForwardOnly => {
1773 "SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_FORWARD_ONLY"
1774 }
1775 Self::SqlSupportedConcurrenciesForResultSetScrollSensitive => {
1776 "SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_SCROLL_SENSITIVE"
1777 }
1778 Self::SqlSupportedConcurrenciesForResultSetScrollInsensitive => {
1779 "SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_SCROLL_INSENSITIVE"
1780 }
1781 Self::SqlBatchUpdatesSupported => "SQL_BATCH_UPDATES_SUPPORTED",
1782 Self::SqlSavepointsSupported => "SQL_SAVEPOINTS_SUPPORTED",
1783 Self::SqlNamedParametersSupported => "SQL_NAMED_PARAMETERS_SUPPORTED",
1784 Self::SqlLocatorsUpdateCopy => "SQL_LOCATORS_UPDATE_COPY",
1785 Self::SqlStoredFunctionsUsingCallSyntaxSupported => {
1786 "SQL_STORED_FUNCTIONS_USING_CALL_SYNTAX_SUPPORTED"
1787 }
1788 }
1789 }
1790 /// Creates an enum from field names used in the ProtoBuf definition.
1791 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1792 match value {
1793 "FLIGHT_SQL_SERVER_NAME" => Some(Self::FlightSqlServerName),
1794 "FLIGHT_SQL_SERVER_VERSION" => Some(Self::FlightSqlServerVersion),
1795 "FLIGHT_SQL_SERVER_ARROW_VERSION" => Some(Self::FlightSqlServerArrowVersion),
1796 "FLIGHT_SQL_SERVER_READ_ONLY" => Some(Self::FlightSqlServerReadOnly),
1797 "FLIGHT_SQL_SERVER_SQL" => Some(Self::FlightSqlServerSql),
1798 "FLIGHT_SQL_SERVER_SUBSTRAIT" => Some(Self::FlightSqlServerSubstrait),
1799 "FLIGHT_SQL_SERVER_SUBSTRAIT_MIN_VERSION" => {
1800 Some(Self::FlightSqlServerSubstraitMinVersion)
1801 }
1802 "FLIGHT_SQL_SERVER_SUBSTRAIT_MAX_VERSION" => {
1803 Some(Self::FlightSqlServerSubstraitMaxVersion)
1804 }
1805 "FLIGHT_SQL_SERVER_TRANSACTION" => Some(Self::FlightSqlServerTransaction),
1806 "FLIGHT_SQL_SERVER_CANCEL" => Some(Self::FlightSqlServerCancel),
1807 "FLIGHT_SQL_SERVER_BULK_INGESTION" => {
1808 Some(Self::FlightSqlServerBulkIngestion)
1809 }
1810 "FLIGHT_SQL_SERVER_INGEST_TRANSACTIONS_SUPPORTED" => {
1811 Some(Self::FlightSqlServerIngestTransactionsSupported)
1812 }
1813 "FLIGHT_SQL_SERVER_STATEMENT_TIMEOUT" => {
1814 Some(Self::FlightSqlServerStatementTimeout)
1815 }
1816 "FLIGHT_SQL_SERVER_TRANSACTION_TIMEOUT" => {
1817 Some(Self::FlightSqlServerTransactionTimeout)
1818 }
1819 "SQL_DDL_CATALOG" => Some(Self::SqlDdlCatalog),
1820 "SQL_DDL_SCHEMA" => Some(Self::SqlDdlSchema),
1821 "SQL_DDL_TABLE" => Some(Self::SqlDdlTable),
1822 "SQL_IDENTIFIER_CASE" => Some(Self::SqlIdentifierCase),
1823 "SQL_IDENTIFIER_QUOTE_CHAR" => Some(Self::SqlIdentifierQuoteChar),
1824 "SQL_QUOTED_IDENTIFIER_CASE" => Some(Self::SqlQuotedIdentifierCase),
1825 "SQL_ALL_TABLES_ARE_SELECTABLE" => Some(Self::SqlAllTablesAreSelectable),
1826 "SQL_NULL_ORDERING" => Some(Self::SqlNullOrdering),
1827 "SQL_KEYWORDS" => Some(Self::SqlKeywords),
1828 "SQL_NUMERIC_FUNCTIONS" => Some(Self::SqlNumericFunctions),
1829 "SQL_STRING_FUNCTIONS" => Some(Self::SqlStringFunctions),
1830 "SQL_SYSTEM_FUNCTIONS" => Some(Self::SqlSystemFunctions),
1831 "SQL_DATETIME_FUNCTIONS" => Some(Self::SqlDatetimeFunctions),
1832 "SQL_SEARCH_STRING_ESCAPE" => Some(Self::SqlSearchStringEscape),
1833 "SQL_EXTRA_NAME_CHARACTERS" => Some(Self::SqlExtraNameCharacters),
1834 "SQL_SUPPORTS_COLUMN_ALIASING" => Some(Self::SqlSupportsColumnAliasing),
1835 "SQL_NULL_PLUS_NULL_IS_NULL" => Some(Self::SqlNullPlusNullIsNull),
1836 "SQL_SUPPORTS_CONVERT" => Some(Self::SqlSupportsConvert),
1837 "SQL_SUPPORTS_TABLE_CORRELATION_NAMES" => {
1838 Some(Self::SqlSupportsTableCorrelationNames)
1839 }
1840 "SQL_SUPPORTS_DIFFERENT_TABLE_CORRELATION_NAMES" => {
1841 Some(Self::SqlSupportsDifferentTableCorrelationNames)
1842 }
1843 "SQL_SUPPORTS_EXPRESSIONS_IN_ORDER_BY" => {
1844 Some(Self::SqlSupportsExpressionsInOrderBy)
1845 }
1846 "SQL_SUPPORTS_ORDER_BY_UNRELATED" => Some(Self::SqlSupportsOrderByUnrelated),
1847 "SQL_SUPPORTED_GROUP_BY" => Some(Self::SqlSupportedGroupBy),
1848 "SQL_SUPPORTS_LIKE_ESCAPE_CLAUSE" => Some(Self::SqlSupportsLikeEscapeClause),
1849 "SQL_SUPPORTS_NON_NULLABLE_COLUMNS" => {
1850 Some(Self::SqlSupportsNonNullableColumns)
1851 }
1852 "SQL_SUPPORTED_GRAMMAR" => Some(Self::SqlSupportedGrammar),
1853 "SQL_ANSI92_SUPPORTED_LEVEL" => Some(Self::SqlAnsi92SupportedLevel),
1854 "SQL_SUPPORTS_INTEGRITY_ENHANCEMENT_FACILITY" => {
1855 Some(Self::SqlSupportsIntegrityEnhancementFacility)
1856 }
1857 "SQL_OUTER_JOINS_SUPPORT_LEVEL" => Some(Self::SqlOuterJoinsSupportLevel),
1858 "SQL_SCHEMA_TERM" => Some(Self::SqlSchemaTerm),
1859 "SQL_PROCEDURE_TERM" => Some(Self::SqlProcedureTerm),
1860 "SQL_CATALOG_TERM" => Some(Self::SqlCatalogTerm),
1861 "SQL_CATALOG_AT_START" => Some(Self::SqlCatalogAtStart),
1862 "SQL_SCHEMAS_SUPPORTED_ACTIONS" => Some(Self::SqlSchemasSupportedActions),
1863 "SQL_CATALOGS_SUPPORTED_ACTIONS" => Some(Self::SqlCatalogsSupportedActions),
1864 "SQL_SUPPORTED_POSITIONED_COMMANDS" => {
1865 Some(Self::SqlSupportedPositionedCommands)
1866 }
1867 "SQL_SELECT_FOR_UPDATE_SUPPORTED" => Some(Self::SqlSelectForUpdateSupported),
1868 "SQL_STORED_PROCEDURES_SUPPORTED" => Some(Self::SqlStoredProceduresSupported),
1869 "SQL_SUPPORTED_SUBQUERIES" => Some(Self::SqlSupportedSubqueries),
1870 "SQL_CORRELATED_SUBQUERIES_SUPPORTED" => {
1871 Some(Self::SqlCorrelatedSubqueriesSupported)
1872 }
1873 "SQL_SUPPORTED_UNIONS" => Some(Self::SqlSupportedUnions),
1874 "SQL_MAX_BINARY_LITERAL_LENGTH" => Some(Self::SqlMaxBinaryLiteralLength),
1875 "SQL_MAX_CHAR_LITERAL_LENGTH" => Some(Self::SqlMaxCharLiteralLength),
1876 "SQL_MAX_COLUMN_NAME_LENGTH" => Some(Self::SqlMaxColumnNameLength),
1877 "SQL_MAX_COLUMNS_IN_GROUP_BY" => Some(Self::SqlMaxColumnsInGroupBy),
1878 "SQL_MAX_COLUMNS_IN_INDEX" => Some(Self::SqlMaxColumnsInIndex),
1879 "SQL_MAX_COLUMNS_IN_ORDER_BY" => Some(Self::SqlMaxColumnsInOrderBy),
1880 "SQL_MAX_COLUMNS_IN_SELECT" => Some(Self::SqlMaxColumnsInSelect),
1881 "SQL_MAX_COLUMNS_IN_TABLE" => Some(Self::SqlMaxColumnsInTable),
1882 "SQL_MAX_CONNECTIONS" => Some(Self::SqlMaxConnections),
1883 "SQL_MAX_CURSOR_NAME_LENGTH" => Some(Self::SqlMaxCursorNameLength),
1884 "SQL_MAX_INDEX_LENGTH" => Some(Self::SqlMaxIndexLength),
1885 "SQL_DB_SCHEMA_NAME_LENGTH" => Some(Self::SqlDbSchemaNameLength),
1886 "SQL_MAX_PROCEDURE_NAME_LENGTH" => Some(Self::SqlMaxProcedureNameLength),
1887 "SQL_MAX_CATALOG_NAME_LENGTH" => Some(Self::SqlMaxCatalogNameLength),
1888 "SQL_MAX_ROW_SIZE" => Some(Self::SqlMaxRowSize),
1889 "SQL_MAX_ROW_SIZE_INCLUDES_BLOBS" => Some(Self::SqlMaxRowSizeIncludesBlobs),
1890 "SQL_MAX_STATEMENT_LENGTH" => Some(Self::SqlMaxStatementLength),
1891 "SQL_MAX_STATEMENTS" => Some(Self::SqlMaxStatements),
1892 "SQL_MAX_TABLE_NAME_LENGTH" => Some(Self::SqlMaxTableNameLength),
1893 "SQL_MAX_TABLES_IN_SELECT" => Some(Self::SqlMaxTablesInSelect),
1894 "SQL_MAX_USERNAME_LENGTH" => Some(Self::SqlMaxUsernameLength),
1895 "SQL_DEFAULT_TRANSACTION_ISOLATION" => {
1896 Some(Self::SqlDefaultTransactionIsolation)
1897 }
1898 "SQL_TRANSACTIONS_SUPPORTED" => Some(Self::SqlTransactionsSupported),
1899 "SQL_SUPPORTED_TRANSACTIONS_ISOLATION_LEVELS" => {
1900 Some(Self::SqlSupportedTransactionsIsolationLevels)
1901 }
1902 "SQL_DATA_DEFINITION_CAUSES_TRANSACTION_COMMIT" => {
1903 Some(Self::SqlDataDefinitionCausesTransactionCommit)
1904 }
1905 "SQL_DATA_DEFINITIONS_IN_TRANSACTIONS_IGNORED" => {
1906 Some(Self::SqlDataDefinitionsInTransactionsIgnored)
1907 }
1908 "SQL_SUPPORTED_RESULT_SET_TYPES" => Some(Self::SqlSupportedResultSetTypes),
1909 "SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_UNSPECIFIED" => {
1910 Some(Self::SqlSupportedConcurrenciesForResultSetUnspecified)
1911 }
1912 "SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_FORWARD_ONLY" => {
1913 Some(Self::SqlSupportedConcurrenciesForResultSetForwardOnly)
1914 }
1915 "SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_SCROLL_SENSITIVE" => {
1916 Some(Self::SqlSupportedConcurrenciesForResultSetScrollSensitive)
1917 }
1918 "SQL_SUPPORTED_CONCURRENCIES_FOR_RESULT_SET_SCROLL_INSENSITIVE" => {
1919 Some(Self::SqlSupportedConcurrenciesForResultSetScrollInsensitive)
1920 }
1921 "SQL_BATCH_UPDATES_SUPPORTED" => Some(Self::SqlBatchUpdatesSupported),
1922 "SQL_SAVEPOINTS_SUPPORTED" => Some(Self::SqlSavepointsSupported),
1923 "SQL_NAMED_PARAMETERS_SUPPORTED" => Some(Self::SqlNamedParametersSupported),
1924 "SQL_LOCATORS_UPDATE_COPY" => Some(Self::SqlLocatorsUpdateCopy),
1925 "SQL_STORED_FUNCTIONS_USING_CALL_SYNTAX_SUPPORTED" => {
1926 Some(Self::SqlStoredFunctionsUsingCallSyntaxSupported)
1927 }
1928 _ => None,
1929 }
1930 }
1931}
1932/// The level of support for Flight SQL transaction RPCs.
1933#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1934#[repr(i32)]
1935pub enum SqlSupportedTransaction {
1936 /// Unknown/not indicated/no support
1937 None = 0,
1938 /// Transactions, but not savepoints.
1939 /// A savepoint is a mark within a transaction that can be individually
1940 /// rolled back to. Not all databases support savepoints.
1941 Transaction = 1,
1942 /// Transactions and savepoints
1943 Savepoint = 2,
1944}
1945impl SqlSupportedTransaction {
1946 /// String value of the enum field names used in the ProtoBuf definition.
1947 ///
1948 /// The values are not transformed in any way and thus are considered stable
1949 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1950 pub fn as_str_name(&self) -> &'static str {
1951 match self {
1952 Self::None => "SQL_SUPPORTED_TRANSACTION_NONE",
1953 Self::Transaction => "SQL_SUPPORTED_TRANSACTION_TRANSACTION",
1954 Self::Savepoint => "SQL_SUPPORTED_TRANSACTION_SAVEPOINT",
1955 }
1956 }
1957 /// Creates an enum from field names used in the ProtoBuf definition.
1958 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1959 match value {
1960 "SQL_SUPPORTED_TRANSACTION_NONE" => Some(Self::None),
1961 "SQL_SUPPORTED_TRANSACTION_TRANSACTION" => Some(Self::Transaction),
1962 "SQL_SUPPORTED_TRANSACTION_SAVEPOINT" => Some(Self::Savepoint),
1963 _ => None,
1964 }
1965 }
1966}
1967#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1968#[repr(i32)]
1969pub enum SqlSupportedCaseSensitivity {
1970 SqlCaseSensitivityUnknown = 0,
1971 SqlCaseSensitivityCaseInsensitive = 1,
1972 SqlCaseSensitivityUppercase = 2,
1973 SqlCaseSensitivityLowercase = 3,
1974}
1975impl SqlSupportedCaseSensitivity {
1976 /// String value of the enum field names used in the ProtoBuf definition.
1977 ///
1978 /// The values are not transformed in any way and thus are considered stable
1979 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1980 pub fn as_str_name(&self) -> &'static str {
1981 match self {
1982 Self::SqlCaseSensitivityUnknown => "SQL_CASE_SENSITIVITY_UNKNOWN",
1983 Self::SqlCaseSensitivityCaseInsensitive => {
1984 "SQL_CASE_SENSITIVITY_CASE_INSENSITIVE"
1985 }
1986 Self::SqlCaseSensitivityUppercase => "SQL_CASE_SENSITIVITY_UPPERCASE",
1987 Self::SqlCaseSensitivityLowercase => "SQL_CASE_SENSITIVITY_LOWERCASE",
1988 }
1989 }
1990 /// Creates an enum from field names used in the ProtoBuf definition.
1991 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1992 match value {
1993 "SQL_CASE_SENSITIVITY_UNKNOWN" => Some(Self::SqlCaseSensitivityUnknown),
1994 "SQL_CASE_SENSITIVITY_CASE_INSENSITIVE" => {
1995 Some(Self::SqlCaseSensitivityCaseInsensitive)
1996 }
1997 "SQL_CASE_SENSITIVITY_UPPERCASE" => Some(Self::SqlCaseSensitivityUppercase),
1998 "SQL_CASE_SENSITIVITY_LOWERCASE" => Some(Self::SqlCaseSensitivityLowercase),
1999 _ => None,
2000 }
2001 }
2002}
2003#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2004#[repr(i32)]
2005pub enum SqlNullOrdering {
2006 SqlNullsSortedHigh = 0,
2007 SqlNullsSortedLow = 1,
2008 SqlNullsSortedAtStart = 2,
2009 SqlNullsSortedAtEnd = 3,
2010}
2011impl SqlNullOrdering {
2012 /// String value of the enum field names used in the ProtoBuf definition.
2013 ///
2014 /// The values are not transformed in any way and thus are considered stable
2015 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2016 pub fn as_str_name(&self) -> &'static str {
2017 match self {
2018 Self::SqlNullsSortedHigh => "SQL_NULLS_SORTED_HIGH",
2019 Self::SqlNullsSortedLow => "SQL_NULLS_SORTED_LOW",
2020 Self::SqlNullsSortedAtStart => "SQL_NULLS_SORTED_AT_START",
2021 Self::SqlNullsSortedAtEnd => "SQL_NULLS_SORTED_AT_END",
2022 }
2023 }
2024 /// Creates an enum from field names used in the ProtoBuf definition.
2025 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2026 match value {
2027 "SQL_NULLS_SORTED_HIGH" => Some(Self::SqlNullsSortedHigh),
2028 "SQL_NULLS_SORTED_LOW" => Some(Self::SqlNullsSortedLow),
2029 "SQL_NULLS_SORTED_AT_START" => Some(Self::SqlNullsSortedAtStart),
2030 "SQL_NULLS_SORTED_AT_END" => Some(Self::SqlNullsSortedAtEnd),
2031 _ => None,
2032 }
2033 }
2034}
2035#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2036#[repr(i32)]
2037pub enum SupportedSqlGrammar {
2038 SqlMinimumGrammar = 0,
2039 SqlCoreGrammar = 1,
2040 SqlExtendedGrammar = 2,
2041}
2042impl SupportedSqlGrammar {
2043 /// String value of the enum field names used in the ProtoBuf definition.
2044 ///
2045 /// The values are not transformed in any way and thus are considered stable
2046 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2047 pub fn as_str_name(&self) -> &'static str {
2048 match self {
2049 Self::SqlMinimumGrammar => "SQL_MINIMUM_GRAMMAR",
2050 Self::SqlCoreGrammar => "SQL_CORE_GRAMMAR",
2051 Self::SqlExtendedGrammar => "SQL_EXTENDED_GRAMMAR",
2052 }
2053 }
2054 /// Creates an enum from field names used in the ProtoBuf definition.
2055 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2056 match value {
2057 "SQL_MINIMUM_GRAMMAR" => Some(Self::SqlMinimumGrammar),
2058 "SQL_CORE_GRAMMAR" => Some(Self::SqlCoreGrammar),
2059 "SQL_EXTENDED_GRAMMAR" => Some(Self::SqlExtendedGrammar),
2060 _ => None,
2061 }
2062 }
2063}
2064#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2065#[repr(i32)]
2066pub enum SupportedAnsi92SqlGrammarLevel {
2067 Ansi92EntrySql = 0,
2068 Ansi92IntermediateSql = 1,
2069 Ansi92FullSql = 2,
2070}
2071impl SupportedAnsi92SqlGrammarLevel {
2072 /// String value of the enum field names used in the ProtoBuf definition.
2073 ///
2074 /// The values are not transformed in any way and thus are considered stable
2075 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2076 pub fn as_str_name(&self) -> &'static str {
2077 match self {
2078 Self::Ansi92EntrySql => "ANSI92_ENTRY_SQL",
2079 Self::Ansi92IntermediateSql => "ANSI92_INTERMEDIATE_SQL",
2080 Self::Ansi92FullSql => "ANSI92_FULL_SQL",
2081 }
2082 }
2083 /// Creates an enum from field names used in the ProtoBuf definition.
2084 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2085 match value {
2086 "ANSI92_ENTRY_SQL" => Some(Self::Ansi92EntrySql),
2087 "ANSI92_INTERMEDIATE_SQL" => Some(Self::Ansi92IntermediateSql),
2088 "ANSI92_FULL_SQL" => Some(Self::Ansi92FullSql),
2089 _ => None,
2090 }
2091 }
2092}
2093#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2094#[repr(i32)]
2095pub enum SqlOuterJoinsSupportLevel {
2096 SqlJoinsUnsupported = 0,
2097 SqlLimitedOuterJoins = 1,
2098 SqlFullOuterJoins = 2,
2099}
2100impl SqlOuterJoinsSupportLevel {
2101 /// String value of the enum field names used in the ProtoBuf definition.
2102 ///
2103 /// The values are not transformed in any way and thus are considered stable
2104 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2105 pub fn as_str_name(&self) -> &'static str {
2106 match self {
2107 Self::SqlJoinsUnsupported => "SQL_JOINS_UNSUPPORTED",
2108 Self::SqlLimitedOuterJoins => "SQL_LIMITED_OUTER_JOINS",
2109 Self::SqlFullOuterJoins => "SQL_FULL_OUTER_JOINS",
2110 }
2111 }
2112 /// Creates an enum from field names used in the ProtoBuf definition.
2113 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2114 match value {
2115 "SQL_JOINS_UNSUPPORTED" => Some(Self::SqlJoinsUnsupported),
2116 "SQL_LIMITED_OUTER_JOINS" => Some(Self::SqlLimitedOuterJoins),
2117 "SQL_FULL_OUTER_JOINS" => Some(Self::SqlFullOuterJoins),
2118 _ => None,
2119 }
2120 }
2121}
2122#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2123#[repr(i32)]
2124pub enum SqlSupportedGroupBy {
2125 SqlGroupByUnrelated = 0,
2126 SqlGroupByBeyondSelect = 1,
2127}
2128impl SqlSupportedGroupBy {
2129 /// String value of the enum field names used in the ProtoBuf definition.
2130 ///
2131 /// The values are not transformed in any way and thus are considered stable
2132 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2133 pub fn as_str_name(&self) -> &'static str {
2134 match self {
2135 Self::SqlGroupByUnrelated => "SQL_GROUP_BY_UNRELATED",
2136 Self::SqlGroupByBeyondSelect => "SQL_GROUP_BY_BEYOND_SELECT",
2137 }
2138 }
2139 /// Creates an enum from field names used in the ProtoBuf definition.
2140 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2141 match value {
2142 "SQL_GROUP_BY_UNRELATED" => Some(Self::SqlGroupByUnrelated),
2143 "SQL_GROUP_BY_BEYOND_SELECT" => Some(Self::SqlGroupByBeyondSelect),
2144 _ => None,
2145 }
2146 }
2147}
2148#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2149#[repr(i32)]
2150pub enum SqlSupportedElementActions {
2151 SqlElementInProcedureCalls = 0,
2152 SqlElementInIndexDefinitions = 1,
2153 SqlElementInPrivilegeDefinitions = 2,
2154}
2155impl SqlSupportedElementActions {
2156 /// String value of the enum field names used in the ProtoBuf definition.
2157 ///
2158 /// The values are not transformed in any way and thus are considered stable
2159 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2160 pub fn as_str_name(&self) -> &'static str {
2161 match self {
2162 Self::SqlElementInProcedureCalls => "SQL_ELEMENT_IN_PROCEDURE_CALLS",
2163 Self::SqlElementInIndexDefinitions => "SQL_ELEMENT_IN_INDEX_DEFINITIONS",
2164 Self::SqlElementInPrivilegeDefinitions => {
2165 "SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS"
2166 }
2167 }
2168 }
2169 /// Creates an enum from field names used in the ProtoBuf definition.
2170 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2171 match value {
2172 "SQL_ELEMENT_IN_PROCEDURE_CALLS" => Some(Self::SqlElementInProcedureCalls),
2173 "SQL_ELEMENT_IN_INDEX_DEFINITIONS" => {
2174 Some(Self::SqlElementInIndexDefinitions)
2175 }
2176 "SQL_ELEMENT_IN_PRIVILEGE_DEFINITIONS" => {
2177 Some(Self::SqlElementInPrivilegeDefinitions)
2178 }
2179 _ => None,
2180 }
2181 }
2182}
2183#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2184#[repr(i32)]
2185pub enum SqlSupportedPositionedCommands {
2186 SqlPositionedDelete = 0,
2187 SqlPositionedUpdate = 1,
2188}
2189impl SqlSupportedPositionedCommands {
2190 /// String value of the enum field names used in the ProtoBuf definition.
2191 ///
2192 /// The values are not transformed in any way and thus are considered stable
2193 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2194 pub fn as_str_name(&self) -> &'static str {
2195 match self {
2196 Self::SqlPositionedDelete => "SQL_POSITIONED_DELETE",
2197 Self::SqlPositionedUpdate => "SQL_POSITIONED_UPDATE",
2198 }
2199 }
2200 /// Creates an enum from field names used in the ProtoBuf definition.
2201 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2202 match value {
2203 "SQL_POSITIONED_DELETE" => Some(Self::SqlPositionedDelete),
2204 "SQL_POSITIONED_UPDATE" => Some(Self::SqlPositionedUpdate),
2205 _ => None,
2206 }
2207 }
2208}
2209#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2210#[repr(i32)]
2211pub enum SqlSupportedSubqueries {
2212 SqlSubqueriesInComparisons = 0,
2213 SqlSubqueriesInExists = 1,
2214 SqlSubqueriesInIns = 2,
2215 SqlSubqueriesInQuantifieds = 3,
2216}
2217impl SqlSupportedSubqueries {
2218 /// String value of the enum field names used in the ProtoBuf definition.
2219 ///
2220 /// The values are not transformed in any way and thus are considered stable
2221 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2222 pub fn as_str_name(&self) -> &'static str {
2223 match self {
2224 Self::SqlSubqueriesInComparisons => "SQL_SUBQUERIES_IN_COMPARISONS",
2225 Self::SqlSubqueriesInExists => "SQL_SUBQUERIES_IN_EXISTS",
2226 Self::SqlSubqueriesInIns => "SQL_SUBQUERIES_IN_INS",
2227 Self::SqlSubqueriesInQuantifieds => "SQL_SUBQUERIES_IN_QUANTIFIEDS",
2228 }
2229 }
2230 /// Creates an enum from field names used in the ProtoBuf definition.
2231 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2232 match value {
2233 "SQL_SUBQUERIES_IN_COMPARISONS" => Some(Self::SqlSubqueriesInComparisons),
2234 "SQL_SUBQUERIES_IN_EXISTS" => Some(Self::SqlSubqueriesInExists),
2235 "SQL_SUBQUERIES_IN_INS" => Some(Self::SqlSubqueriesInIns),
2236 "SQL_SUBQUERIES_IN_QUANTIFIEDS" => Some(Self::SqlSubqueriesInQuantifieds),
2237 _ => None,
2238 }
2239 }
2240}
2241#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2242#[repr(i32)]
2243pub enum SqlSupportedUnions {
2244 SqlUnion = 0,
2245 SqlUnionAll = 1,
2246}
2247impl SqlSupportedUnions {
2248 /// String value of the enum field names used in the ProtoBuf definition.
2249 ///
2250 /// The values are not transformed in any way and thus are considered stable
2251 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2252 pub fn as_str_name(&self) -> &'static str {
2253 match self {
2254 Self::SqlUnion => "SQL_UNION",
2255 Self::SqlUnionAll => "SQL_UNION_ALL",
2256 }
2257 }
2258 /// Creates an enum from field names used in the ProtoBuf definition.
2259 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2260 match value {
2261 "SQL_UNION" => Some(Self::SqlUnion),
2262 "SQL_UNION_ALL" => Some(Self::SqlUnionAll),
2263 _ => None,
2264 }
2265 }
2266}
2267#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2268#[repr(i32)]
2269pub enum SqlTransactionIsolationLevel {
2270 SqlTransactionNone = 0,
2271 SqlTransactionReadUncommitted = 1,
2272 SqlTransactionReadCommitted = 2,
2273 SqlTransactionRepeatableRead = 3,
2274 SqlTransactionSerializable = 4,
2275}
2276impl SqlTransactionIsolationLevel {
2277 /// String value of the enum field names used in the ProtoBuf definition.
2278 ///
2279 /// The values are not transformed in any way and thus are considered stable
2280 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2281 pub fn as_str_name(&self) -> &'static str {
2282 match self {
2283 Self::SqlTransactionNone => "SQL_TRANSACTION_NONE",
2284 Self::SqlTransactionReadUncommitted => "SQL_TRANSACTION_READ_UNCOMMITTED",
2285 Self::SqlTransactionReadCommitted => "SQL_TRANSACTION_READ_COMMITTED",
2286 Self::SqlTransactionRepeatableRead => "SQL_TRANSACTION_REPEATABLE_READ",
2287 Self::SqlTransactionSerializable => "SQL_TRANSACTION_SERIALIZABLE",
2288 }
2289 }
2290 /// Creates an enum from field names used in the ProtoBuf definition.
2291 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2292 match value {
2293 "SQL_TRANSACTION_NONE" => Some(Self::SqlTransactionNone),
2294 "SQL_TRANSACTION_READ_UNCOMMITTED" => {
2295 Some(Self::SqlTransactionReadUncommitted)
2296 }
2297 "SQL_TRANSACTION_READ_COMMITTED" => Some(Self::SqlTransactionReadCommitted),
2298 "SQL_TRANSACTION_REPEATABLE_READ" => Some(Self::SqlTransactionRepeatableRead),
2299 "SQL_TRANSACTION_SERIALIZABLE" => Some(Self::SqlTransactionSerializable),
2300 _ => None,
2301 }
2302 }
2303}
2304#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2305#[repr(i32)]
2306pub enum SqlSupportedTransactions {
2307 SqlTransactionUnspecified = 0,
2308 SqlDataDefinitionTransactions = 1,
2309 SqlDataManipulationTransactions = 2,
2310}
2311impl SqlSupportedTransactions {
2312 /// String value of the enum field names used in the ProtoBuf definition.
2313 ///
2314 /// The values are not transformed in any way and thus are considered stable
2315 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2316 pub fn as_str_name(&self) -> &'static str {
2317 match self {
2318 Self::SqlTransactionUnspecified => "SQL_TRANSACTION_UNSPECIFIED",
2319 Self::SqlDataDefinitionTransactions => "SQL_DATA_DEFINITION_TRANSACTIONS",
2320 Self::SqlDataManipulationTransactions => "SQL_DATA_MANIPULATION_TRANSACTIONS",
2321 }
2322 }
2323 /// Creates an enum from field names used in the ProtoBuf definition.
2324 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2325 match value {
2326 "SQL_TRANSACTION_UNSPECIFIED" => Some(Self::SqlTransactionUnspecified),
2327 "SQL_DATA_DEFINITION_TRANSACTIONS" => {
2328 Some(Self::SqlDataDefinitionTransactions)
2329 }
2330 "SQL_DATA_MANIPULATION_TRANSACTIONS" => {
2331 Some(Self::SqlDataManipulationTransactions)
2332 }
2333 _ => None,
2334 }
2335 }
2336}
2337#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2338#[repr(i32)]
2339pub enum SqlSupportedResultSetType {
2340 SqlResultSetTypeUnspecified = 0,
2341 SqlResultSetTypeForwardOnly = 1,
2342 SqlResultSetTypeScrollInsensitive = 2,
2343 SqlResultSetTypeScrollSensitive = 3,
2344}
2345impl SqlSupportedResultSetType {
2346 /// String value of the enum field names used in the ProtoBuf definition.
2347 ///
2348 /// The values are not transformed in any way and thus are considered stable
2349 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2350 pub fn as_str_name(&self) -> &'static str {
2351 match self {
2352 Self::SqlResultSetTypeUnspecified => "SQL_RESULT_SET_TYPE_UNSPECIFIED",
2353 Self::SqlResultSetTypeForwardOnly => "SQL_RESULT_SET_TYPE_FORWARD_ONLY",
2354 Self::SqlResultSetTypeScrollInsensitive => {
2355 "SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE"
2356 }
2357 Self::SqlResultSetTypeScrollSensitive => {
2358 "SQL_RESULT_SET_TYPE_SCROLL_SENSITIVE"
2359 }
2360 }
2361 }
2362 /// Creates an enum from field names used in the ProtoBuf definition.
2363 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2364 match value {
2365 "SQL_RESULT_SET_TYPE_UNSPECIFIED" => Some(Self::SqlResultSetTypeUnspecified),
2366 "SQL_RESULT_SET_TYPE_FORWARD_ONLY" => Some(Self::SqlResultSetTypeForwardOnly),
2367 "SQL_RESULT_SET_TYPE_SCROLL_INSENSITIVE" => {
2368 Some(Self::SqlResultSetTypeScrollInsensitive)
2369 }
2370 "SQL_RESULT_SET_TYPE_SCROLL_SENSITIVE" => {
2371 Some(Self::SqlResultSetTypeScrollSensitive)
2372 }
2373 _ => None,
2374 }
2375 }
2376}
2377#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2378#[repr(i32)]
2379pub enum SqlSupportedResultSetConcurrency {
2380 SqlResultSetConcurrencyUnspecified = 0,
2381 SqlResultSetConcurrencyReadOnly = 1,
2382 SqlResultSetConcurrencyUpdatable = 2,
2383}
2384impl SqlSupportedResultSetConcurrency {
2385 /// String value of the enum field names used in the ProtoBuf definition.
2386 ///
2387 /// The values are not transformed in any way and thus are considered stable
2388 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2389 pub fn as_str_name(&self) -> &'static str {
2390 match self {
2391 Self::SqlResultSetConcurrencyUnspecified => {
2392 "SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED"
2393 }
2394 Self::SqlResultSetConcurrencyReadOnly => {
2395 "SQL_RESULT_SET_CONCURRENCY_READ_ONLY"
2396 }
2397 Self::SqlResultSetConcurrencyUpdatable => {
2398 "SQL_RESULT_SET_CONCURRENCY_UPDATABLE"
2399 }
2400 }
2401 }
2402 /// Creates an enum from field names used in the ProtoBuf definition.
2403 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2404 match value {
2405 "SQL_RESULT_SET_CONCURRENCY_UNSPECIFIED" => {
2406 Some(Self::SqlResultSetConcurrencyUnspecified)
2407 }
2408 "SQL_RESULT_SET_CONCURRENCY_READ_ONLY" => {
2409 Some(Self::SqlResultSetConcurrencyReadOnly)
2410 }
2411 "SQL_RESULT_SET_CONCURRENCY_UPDATABLE" => {
2412 Some(Self::SqlResultSetConcurrencyUpdatable)
2413 }
2414 _ => None,
2415 }
2416 }
2417}
2418#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2419#[repr(i32)]
2420pub enum SqlSupportsConvert {
2421 SqlConvertBigint = 0,
2422 SqlConvertBinary = 1,
2423 SqlConvertBit = 2,
2424 SqlConvertChar = 3,
2425 SqlConvertDate = 4,
2426 SqlConvertDecimal = 5,
2427 SqlConvertFloat = 6,
2428 SqlConvertInteger = 7,
2429 SqlConvertIntervalDayTime = 8,
2430 SqlConvertIntervalYearMonth = 9,
2431 SqlConvertLongvarbinary = 10,
2432 SqlConvertLongvarchar = 11,
2433 SqlConvertNumeric = 12,
2434 SqlConvertReal = 13,
2435 SqlConvertSmallint = 14,
2436 SqlConvertTime = 15,
2437 SqlConvertTimestamp = 16,
2438 SqlConvertTinyint = 17,
2439 SqlConvertVarbinary = 18,
2440 SqlConvertVarchar = 19,
2441}
2442impl SqlSupportsConvert {
2443 /// String value of the enum field names used in the ProtoBuf definition.
2444 ///
2445 /// The values are not transformed in any way and thus are considered stable
2446 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2447 pub fn as_str_name(&self) -> &'static str {
2448 match self {
2449 Self::SqlConvertBigint => "SQL_CONVERT_BIGINT",
2450 Self::SqlConvertBinary => "SQL_CONVERT_BINARY",
2451 Self::SqlConvertBit => "SQL_CONVERT_BIT",
2452 Self::SqlConvertChar => "SQL_CONVERT_CHAR",
2453 Self::SqlConvertDate => "SQL_CONVERT_DATE",
2454 Self::SqlConvertDecimal => "SQL_CONVERT_DECIMAL",
2455 Self::SqlConvertFloat => "SQL_CONVERT_FLOAT",
2456 Self::SqlConvertInteger => "SQL_CONVERT_INTEGER",
2457 Self::SqlConvertIntervalDayTime => "SQL_CONVERT_INTERVAL_DAY_TIME",
2458 Self::SqlConvertIntervalYearMonth => "SQL_CONVERT_INTERVAL_YEAR_MONTH",
2459 Self::SqlConvertLongvarbinary => "SQL_CONVERT_LONGVARBINARY",
2460 Self::SqlConvertLongvarchar => "SQL_CONVERT_LONGVARCHAR",
2461 Self::SqlConvertNumeric => "SQL_CONVERT_NUMERIC",
2462 Self::SqlConvertReal => "SQL_CONVERT_REAL",
2463 Self::SqlConvertSmallint => "SQL_CONVERT_SMALLINT",
2464 Self::SqlConvertTime => "SQL_CONVERT_TIME",
2465 Self::SqlConvertTimestamp => "SQL_CONVERT_TIMESTAMP",
2466 Self::SqlConvertTinyint => "SQL_CONVERT_TINYINT",
2467 Self::SqlConvertVarbinary => "SQL_CONVERT_VARBINARY",
2468 Self::SqlConvertVarchar => "SQL_CONVERT_VARCHAR",
2469 }
2470 }
2471 /// Creates an enum from field names used in the ProtoBuf definition.
2472 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2473 match value {
2474 "SQL_CONVERT_BIGINT" => Some(Self::SqlConvertBigint),
2475 "SQL_CONVERT_BINARY" => Some(Self::SqlConvertBinary),
2476 "SQL_CONVERT_BIT" => Some(Self::SqlConvertBit),
2477 "SQL_CONVERT_CHAR" => Some(Self::SqlConvertChar),
2478 "SQL_CONVERT_DATE" => Some(Self::SqlConvertDate),
2479 "SQL_CONVERT_DECIMAL" => Some(Self::SqlConvertDecimal),
2480 "SQL_CONVERT_FLOAT" => Some(Self::SqlConvertFloat),
2481 "SQL_CONVERT_INTEGER" => Some(Self::SqlConvertInteger),
2482 "SQL_CONVERT_INTERVAL_DAY_TIME" => Some(Self::SqlConvertIntervalDayTime),
2483 "SQL_CONVERT_INTERVAL_YEAR_MONTH" => Some(Self::SqlConvertIntervalYearMonth),
2484 "SQL_CONVERT_LONGVARBINARY" => Some(Self::SqlConvertLongvarbinary),
2485 "SQL_CONVERT_LONGVARCHAR" => Some(Self::SqlConvertLongvarchar),
2486 "SQL_CONVERT_NUMERIC" => Some(Self::SqlConvertNumeric),
2487 "SQL_CONVERT_REAL" => Some(Self::SqlConvertReal),
2488 "SQL_CONVERT_SMALLINT" => Some(Self::SqlConvertSmallint),
2489 "SQL_CONVERT_TIME" => Some(Self::SqlConvertTime),
2490 "SQL_CONVERT_TIMESTAMP" => Some(Self::SqlConvertTimestamp),
2491 "SQL_CONVERT_TINYINT" => Some(Self::SqlConvertTinyint),
2492 "SQL_CONVERT_VARBINARY" => Some(Self::SqlConvertVarbinary),
2493 "SQL_CONVERT_VARCHAR" => Some(Self::SqlConvertVarchar),
2494 _ => None,
2495 }
2496 }
2497}
2498/// *
2499/// The JDBC/ODBC-defined type of any object.
2500/// All the values here are the same as in the JDBC and ODBC specs.
2501#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2502#[repr(i32)]
2503pub enum XdbcDataType {
2504 XdbcUnknownType = 0,
2505 XdbcChar = 1,
2506 XdbcNumeric = 2,
2507 XdbcDecimal = 3,
2508 XdbcInteger = 4,
2509 XdbcSmallint = 5,
2510 XdbcFloat = 6,
2511 XdbcReal = 7,
2512 XdbcDouble = 8,
2513 XdbcDatetime = 9,
2514 XdbcInterval = 10,
2515 XdbcVarchar = 12,
2516 XdbcDate = 91,
2517 XdbcTime = 92,
2518 XdbcTimestamp = 93,
2519 XdbcLongvarchar = -1,
2520 XdbcBinary = -2,
2521 XdbcVarbinary = -3,
2522 XdbcLongvarbinary = -4,
2523 XdbcBigint = -5,
2524 XdbcTinyint = -6,
2525 XdbcBit = -7,
2526 XdbcWchar = -8,
2527 XdbcWvarchar = -9,
2528}
2529impl XdbcDataType {
2530 /// String value of the enum field names used in the ProtoBuf definition.
2531 ///
2532 /// The values are not transformed in any way and thus are considered stable
2533 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2534 pub fn as_str_name(&self) -> &'static str {
2535 match self {
2536 Self::XdbcUnknownType => "XDBC_UNKNOWN_TYPE",
2537 Self::XdbcChar => "XDBC_CHAR",
2538 Self::XdbcNumeric => "XDBC_NUMERIC",
2539 Self::XdbcDecimal => "XDBC_DECIMAL",
2540 Self::XdbcInteger => "XDBC_INTEGER",
2541 Self::XdbcSmallint => "XDBC_SMALLINT",
2542 Self::XdbcFloat => "XDBC_FLOAT",
2543 Self::XdbcReal => "XDBC_REAL",
2544 Self::XdbcDouble => "XDBC_DOUBLE",
2545 Self::XdbcDatetime => "XDBC_DATETIME",
2546 Self::XdbcInterval => "XDBC_INTERVAL",
2547 Self::XdbcVarchar => "XDBC_VARCHAR",
2548 Self::XdbcDate => "XDBC_DATE",
2549 Self::XdbcTime => "XDBC_TIME",
2550 Self::XdbcTimestamp => "XDBC_TIMESTAMP",
2551 Self::XdbcLongvarchar => "XDBC_LONGVARCHAR",
2552 Self::XdbcBinary => "XDBC_BINARY",
2553 Self::XdbcVarbinary => "XDBC_VARBINARY",
2554 Self::XdbcLongvarbinary => "XDBC_LONGVARBINARY",
2555 Self::XdbcBigint => "XDBC_BIGINT",
2556 Self::XdbcTinyint => "XDBC_TINYINT",
2557 Self::XdbcBit => "XDBC_BIT",
2558 Self::XdbcWchar => "XDBC_WCHAR",
2559 Self::XdbcWvarchar => "XDBC_WVARCHAR",
2560 }
2561 }
2562 /// Creates an enum from field names used in the ProtoBuf definition.
2563 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2564 match value {
2565 "XDBC_UNKNOWN_TYPE" => Some(Self::XdbcUnknownType),
2566 "XDBC_CHAR" => Some(Self::XdbcChar),
2567 "XDBC_NUMERIC" => Some(Self::XdbcNumeric),
2568 "XDBC_DECIMAL" => Some(Self::XdbcDecimal),
2569 "XDBC_INTEGER" => Some(Self::XdbcInteger),
2570 "XDBC_SMALLINT" => Some(Self::XdbcSmallint),
2571 "XDBC_FLOAT" => Some(Self::XdbcFloat),
2572 "XDBC_REAL" => Some(Self::XdbcReal),
2573 "XDBC_DOUBLE" => Some(Self::XdbcDouble),
2574 "XDBC_DATETIME" => Some(Self::XdbcDatetime),
2575 "XDBC_INTERVAL" => Some(Self::XdbcInterval),
2576 "XDBC_VARCHAR" => Some(Self::XdbcVarchar),
2577 "XDBC_DATE" => Some(Self::XdbcDate),
2578 "XDBC_TIME" => Some(Self::XdbcTime),
2579 "XDBC_TIMESTAMP" => Some(Self::XdbcTimestamp),
2580 "XDBC_LONGVARCHAR" => Some(Self::XdbcLongvarchar),
2581 "XDBC_BINARY" => Some(Self::XdbcBinary),
2582 "XDBC_VARBINARY" => Some(Self::XdbcVarbinary),
2583 "XDBC_LONGVARBINARY" => Some(Self::XdbcLongvarbinary),
2584 "XDBC_BIGINT" => Some(Self::XdbcBigint),
2585 "XDBC_TINYINT" => Some(Self::XdbcTinyint),
2586 "XDBC_BIT" => Some(Self::XdbcBit),
2587 "XDBC_WCHAR" => Some(Self::XdbcWchar),
2588 "XDBC_WVARCHAR" => Some(Self::XdbcWvarchar),
2589 _ => None,
2590 }
2591 }
2592}
2593/// *
2594/// Detailed subtype information for XDBC_TYPE_DATETIME and XDBC_TYPE_INTERVAL.
2595#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2596#[repr(i32)]
2597pub enum XdbcDatetimeSubcode {
2598 XdbcSubcodeUnknown = 0,
2599 XdbcSubcodeYear = 1,
2600 XdbcSubcodeTime = 2,
2601 XdbcSubcodeTimestamp = 3,
2602 XdbcSubcodeTimeWithTimezone = 4,
2603 XdbcSubcodeTimestampWithTimezone = 5,
2604 XdbcSubcodeSecond = 6,
2605 XdbcSubcodeYearToMonth = 7,
2606 XdbcSubcodeDayToHour = 8,
2607 XdbcSubcodeDayToMinute = 9,
2608 XdbcSubcodeDayToSecond = 10,
2609 XdbcSubcodeHourToMinute = 11,
2610 XdbcSubcodeHourToSecond = 12,
2611 XdbcSubcodeMinuteToSecond = 13,
2612 XdbcSubcodeIntervalYear = 101,
2613 XdbcSubcodeIntervalMonth = 102,
2614 XdbcSubcodeIntervalDay = 103,
2615 XdbcSubcodeIntervalHour = 104,
2616 XdbcSubcodeIntervalMinute = 105,
2617 XdbcSubcodeIntervalSecond = 106,
2618 XdbcSubcodeIntervalYearToMonth = 107,
2619 XdbcSubcodeIntervalDayToHour = 108,
2620 XdbcSubcodeIntervalDayToMinute = 109,
2621 XdbcSubcodeIntervalDayToSecond = 110,
2622 XdbcSubcodeIntervalHourToMinute = 111,
2623 XdbcSubcodeIntervalHourToSecond = 112,
2624 XdbcSubcodeIntervalMinuteToSecond = 113,
2625}
2626impl XdbcDatetimeSubcode {
2627 /// String value of the enum field names used in the ProtoBuf definition.
2628 ///
2629 /// The values are not transformed in any way and thus are considered stable
2630 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2631 pub fn as_str_name(&self) -> &'static str {
2632 match self {
2633 Self::XdbcSubcodeUnknown => "XDBC_SUBCODE_UNKNOWN",
2634 Self::XdbcSubcodeYear => "XDBC_SUBCODE_YEAR",
2635 Self::XdbcSubcodeTime => "XDBC_SUBCODE_TIME",
2636 Self::XdbcSubcodeTimestamp => "XDBC_SUBCODE_TIMESTAMP",
2637 Self::XdbcSubcodeTimeWithTimezone => "XDBC_SUBCODE_TIME_WITH_TIMEZONE",
2638 Self::XdbcSubcodeTimestampWithTimezone => {
2639 "XDBC_SUBCODE_TIMESTAMP_WITH_TIMEZONE"
2640 }
2641 Self::XdbcSubcodeSecond => "XDBC_SUBCODE_SECOND",
2642 Self::XdbcSubcodeYearToMonth => "XDBC_SUBCODE_YEAR_TO_MONTH",
2643 Self::XdbcSubcodeDayToHour => "XDBC_SUBCODE_DAY_TO_HOUR",
2644 Self::XdbcSubcodeDayToMinute => "XDBC_SUBCODE_DAY_TO_MINUTE",
2645 Self::XdbcSubcodeDayToSecond => "XDBC_SUBCODE_DAY_TO_SECOND",
2646 Self::XdbcSubcodeHourToMinute => "XDBC_SUBCODE_HOUR_TO_MINUTE",
2647 Self::XdbcSubcodeHourToSecond => "XDBC_SUBCODE_HOUR_TO_SECOND",
2648 Self::XdbcSubcodeMinuteToSecond => "XDBC_SUBCODE_MINUTE_TO_SECOND",
2649 Self::XdbcSubcodeIntervalYear => "XDBC_SUBCODE_INTERVAL_YEAR",
2650 Self::XdbcSubcodeIntervalMonth => "XDBC_SUBCODE_INTERVAL_MONTH",
2651 Self::XdbcSubcodeIntervalDay => "XDBC_SUBCODE_INTERVAL_DAY",
2652 Self::XdbcSubcodeIntervalHour => "XDBC_SUBCODE_INTERVAL_HOUR",
2653 Self::XdbcSubcodeIntervalMinute => "XDBC_SUBCODE_INTERVAL_MINUTE",
2654 Self::XdbcSubcodeIntervalSecond => "XDBC_SUBCODE_INTERVAL_SECOND",
2655 Self::XdbcSubcodeIntervalYearToMonth => "XDBC_SUBCODE_INTERVAL_YEAR_TO_MONTH",
2656 Self::XdbcSubcodeIntervalDayToHour => "XDBC_SUBCODE_INTERVAL_DAY_TO_HOUR",
2657 Self::XdbcSubcodeIntervalDayToMinute => "XDBC_SUBCODE_INTERVAL_DAY_TO_MINUTE",
2658 Self::XdbcSubcodeIntervalDayToSecond => "XDBC_SUBCODE_INTERVAL_DAY_TO_SECOND",
2659 Self::XdbcSubcodeIntervalHourToMinute => {
2660 "XDBC_SUBCODE_INTERVAL_HOUR_TO_MINUTE"
2661 }
2662 Self::XdbcSubcodeIntervalHourToSecond => {
2663 "XDBC_SUBCODE_INTERVAL_HOUR_TO_SECOND"
2664 }
2665 Self::XdbcSubcodeIntervalMinuteToSecond => {
2666 "XDBC_SUBCODE_INTERVAL_MINUTE_TO_SECOND"
2667 }
2668 }
2669 }
2670 /// Creates an enum from field names used in the ProtoBuf definition.
2671 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2672 match value {
2673 "XDBC_SUBCODE_UNKNOWN" => Some(Self::XdbcSubcodeUnknown),
2674 "XDBC_SUBCODE_YEAR" => Some(Self::XdbcSubcodeYear),
2675 "XDBC_SUBCODE_TIME" => Some(Self::XdbcSubcodeTime),
2676 "XDBC_SUBCODE_TIMESTAMP" => Some(Self::XdbcSubcodeTimestamp),
2677 "XDBC_SUBCODE_TIME_WITH_TIMEZONE" => Some(Self::XdbcSubcodeTimeWithTimezone),
2678 "XDBC_SUBCODE_TIMESTAMP_WITH_TIMEZONE" => {
2679 Some(Self::XdbcSubcodeTimestampWithTimezone)
2680 }
2681 "XDBC_SUBCODE_SECOND" => Some(Self::XdbcSubcodeSecond),
2682 "XDBC_SUBCODE_YEAR_TO_MONTH" => Some(Self::XdbcSubcodeYearToMonth),
2683 "XDBC_SUBCODE_DAY_TO_HOUR" => Some(Self::XdbcSubcodeDayToHour),
2684 "XDBC_SUBCODE_DAY_TO_MINUTE" => Some(Self::XdbcSubcodeDayToMinute),
2685 "XDBC_SUBCODE_DAY_TO_SECOND" => Some(Self::XdbcSubcodeDayToSecond),
2686 "XDBC_SUBCODE_HOUR_TO_MINUTE" => Some(Self::XdbcSubcodeHourToMinute),
2687 "XDBC_SUBCODE_HOUR_TO_SECOND" => Some(Self::XdbcSubcodeHourToSecond),
2688 "XDBC_SUBCODE_MINUTE_TO_SECOND" => Some(Self::XdbcSubcodeMinuteToSecond),
2689 "XDBC_SUBCODE_INTERVAL_YEAR" => Some(Self::XdbcSubcodeIntervalYear),
2690 "XDBC_SUBCODE_INTERVAL_MONTH" => Some(Self::XdbcSubcodeIntervalMonth),
2691 "XDBC_SUBCODE_INTERVAL_DAY" => Some(Self::XdbcSubcodeIntervalDay),
2692 "XDBC_SUBCODE_INTERVAL_HOUR" => Some(Self::XdbcSubcodeIntervalHour),
2693 "XDBC_SUBCODE_INTERVAL_MINUTE" => Some(Self::XdbcSubcodeIntervalMinute),
2694 "XDBC_SUBCODE_INTERVAL_SECOND" => Some(Self::XdbcSubcodeIntervalSecond),
2695 "XDBC_SUBCODE_INTERVAL_YEAR_TO_MONTH" => {
2696 Some(Self::XdbcSubcodeIntervalYearToMonth)
2697 }
2698 "XDBC_SUBCODE_INTERVAL_DAY_TO_HOUR" => {
2699 Some(Self::XdbcSubcodeIntervalDayToHour)
2700 }
2701 "XDBC_SUBCODE_INTERVAL_DAY_TO_MINUTE" => {
2702 Some(Self::XdbcSubcodeIntervalDayToMinute)
2703 }
2704 "XDBC_SUBCODE_INTERVAL_DAY_TO_SECOND" => {
2705 Some(Self::XdbcSubcodeIntervalDayToSecond)
2706 }
2707 "XDBC_SUBCODE_INTERVAL_HOUR_TO_MINUTE" => {
2708 Some(Self::XdbcSubcodeIntervalHourToMinute)
2709 }
2710 "XDBC_SUBCODE_INTERVAL_HOUR_TO_SECOND" => {
2711 Some(Self::XdbcSubcodeIntervalHourToSecond)
2712 }
2713 "XDBC_SUBCODE_INTERVAL_MINUTE_TO_SECOND" => {
2714 Some(Self::XdbcSubcodeIntervalMinuteToSecond)
2715 }
2716 _ => None,
2717 }
2718 }
2719}
2720#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2721#[repr(i32)]
2722pub enum Nullable {
2723 /// *
2724 /// Indicates that the field does not allow the use of null values.
2725 NullabilityNoNulls = 0,
2726 /// *
2727 /// Indicates that the fields allow the use of null values.
2728 NullabilityNullable = 1,
2729 /// *
2730 /// Indicates that nullability of the fields cannot be determined.
2731 NullabilityUnknown = 2,
2732}
2733impl Nullable {
2734 /// String value of the enum field names used in the ProtoBuf definition.
2735 ///
2736 /// The values are not transformed in any way and thus are considered stable
2737 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2738 pub fn as_str_name(&self) -> &'static str {
2739 match self {
2740 Self::NullabilityNoNulls => "NULLABILITY_NO_NULLS",
2741 Self::NullabilityNullable => "NULLABILITY_NULLABLE",
2742 Self::NullabilityUnknown => "NULLABILITY_UNKNOWN",
2743 }
2744 }
2745 /// Creates an enum from field names used in the ProtoBuf definition.
2746 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2747 match value {
2748 "NULLABILITY_NO_NULLS" => Some(Self::NullabilityNoNulls),
2749 "NULLABILITY_NULLABLE" => Some(Self::NullabilityNullable),
2750 "NULLABILITY_UNKNOWN" => Some(Self::NullabilityUnknown),
2751 _ => None,
2752 }
2753 }
2754}
2755#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2756#[repr(i32)]
2757pub enum Searchable {
2758 /// *
2759 /// Indicates that column cannot be used in a WHERE clause.
2760 None = 0,
2761 /// *
2762 /// Indicates that the column can be used in a WHERE clause if it is using a
2763 /// LIKE operator.
2764 Char = 1,
2765 /// *
2766 /// Indicates that the column can be used In a WHERE clause with any
2767 /// operator other than LIKE.
2768 ///
2769 /// - Allowed operators: comparison, quantified comparison, BETWEEN,
2770 /// DISTINCT, IN, MATCH, and UNIQUE.
2771 Basic = 2,
2772 /// *
2773 /// Indicates that the column can be used in a WHERE clause using any operator.
2774 Full = 3,
2775}
2776impl Searchable {
2777 /// String value of the enum field names used in the ProtoBuf definition.
2778 ///
2779 /// The values are not transformed in any way and thus are considered stable
2780 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2781 pub fn as_str_name(&self) -> &'static str {
2782 match self {
2783 Self::None => "SEARCHABLE_NONE",
2784 Self::Char => "SEARCHABLE_CHAR",
2785 Self::Basic => "SEARCHABLE_BASIC",
2786 Self::Full => "SEARCHABLE_FULL",
2787 }
2788 }
2789 /// Creates an enum from field names used in the ProtoBuf definition.
2790 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2791 match value {
2792 "SEARCHABLE_NONE" => Some(Self::None),
2793 "SEARCHABLE_CHAR" => Some(Self::Char),
2794 "SEARCHABLE_BASIC" => Some(Self::Basic),
2795 "SEARCHABLE_FULL" => Some(Self::Full),
2796 _ => None,
2797 }
2798 }
2799}
2800#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2801#[repr(i32)]
2802pub enum UpdateDeleteRules {
2803 Cascade = 0,
2804 Restrict = 1,
2805 SetNull = 2,
2806 NoAction = 3,
2807 SetDefault = 4,
2808}
2809impl UpdateDeleteRules {
2810 /// String value of the enum field names used in the ProtoBuf definition.
2811 ///
2812 /// The values are not transformed in any way and thus are considered stable
2813 /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2814 pub fn as_str_name(&self) -> &'static str {
2815 match self {
2816 Self::Cascade => "CASCADE",
2817 Self::Restrict => "RESTRICT",
2818 Self::SetNull => "SET_NULL",
2819 Self::NoAction => "NO_ACTION",
2820 Self::SetDefault => "SET_DEFAULT",
2821 }
2822 }
2823 /// Creates an enum from field names used in the ProtoBuf definition.
2824 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2825 match value {
2826 "CASCADE" => Some(Self::Cascade),
2827 "RESTRICT" => Some(Self::Restrict),
2828 "SET_NULL" => Some(Self::SetNull),
2829 "NO_ACTION" => Some(Self::NoAction),
2830 "SET_DEFAULT" => Some(Self::SetDefault),
2831 _ => None,
2832 }
2833 }
2834}