Skip to content

Commit a435f17

Browse files
committed
feat(format): add GetInfo codes for driver features
Closes apache#3791.
1 parent 4248d7c commit a435f17

File tree

2 files changed

+262
-0
lines changed
  • c/include/arrow-adbc
  • go/adbc/drivermgr/arrow-adbc

2 files changed

+262
-0
lines changed

c/include/arrow-adbc/adbc.h

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,137 @@ const struct AdbcError* AdbcErrorFromArrayStream(struct ArrowArrayStream* stream
545545
/// \see ADBC_VERSION_1_2_0
546546
#define ADBC_INFO_DRIVER_ADBC_VERSION 103
547547

548+
/// \brief Whether the driver supports bulk ingest (type: bool).
549+
/// \since ADBC API revision 1.2.0
550+
/// \see AdbcConnectionGetInfo
551+
#define ADBC_INFO_FEATURE_INGEST 200
552+
553+
/// \brief Supported bulk ingest modes (type: string list).
554+
///
555+
/// Values are the mode constants themselves.
556+
///
557+
/// \since ADBC API revision 1.2.0
558+
/// \see AdbcConnectionGetInfo
559+
#define ADBC_INFO_FEATURE_INGEST_MODES 201
560+
561+
/// \brief Whether the driver supports ingesting into a temporary table (type:
562+
/// bool).
563+
///
564+
/// \since ADBC API revision 1.2.0
565+
/// \see AdbcConnectionGetInfo
566+
/// \see ADBC_INGEST_OPTION_TEMPORARY
567+
#define ADBC_INFO_FEATURE_INGEST_TEMPORARY 202
568+
569+
/// \brief Whether the driver supports specifying the catalog of the table to
570+
/// ingest into (type: bool).
571+
///
572+
/// \since ADBC API revision 1.2.0
573+
/// \see AdbcConnectionGetInfo
574+
/// \see ADBC_INGEST_OPTION_TARGET_CATALOG
575+
#define ADBC_INFO_FEATURE_INGEST_TARGET_CATALOG 203
576+
577+
/// \brief Whether the driver supports specifying the catalog of the table to
578+
/// ingest into (type: bool).
579+
///
580+
/// \since ADBC API revision 1.2.0
581+
/// \see AdbcConnectionGetInfo
582+
/// \see ADBC_INGEST_OPTION_TARGET_CATALOG
583+
#define ADBC_INFO_FEATURE_INGEST_TARGET_SCHEMA 204
584+
585+
/// \brief Whether the driver supports getting catalog metadata (type: bool).
586+
/// \since ADBC API revision 1.2.0
587+
/// \see AdbcConnectionGetInfo
588+
/// \see AdbcConnectionGetObjects
589+
#define ADBC_INFO_FEATURE_OBJECTS 220
590+
591+
/// \brief Whether the driver supports getting table schemas (type: bool).
592+
/// \since ADBC API revision 1.2.0
593+
/// \see AdbcConnectionGetInfo
594+
/// \see AdbcConnectionGetObjects
595+
#define ADBC_INFO_FEATURE_TABLE_SCHEMA 221
596+
597+
/// \brief Whether the driver supports getting table types (type: bool).
598+
/// \since ADBC API revision 1.2.0
599+
/// \see AdbcConnectionGetInfo
600+
/// \see AdbcConnectionGetObjects
601+
#define ADBC_INFO_FEATURE_TABLE_TYPES 222
602+
603+
/// \brief Whether the driver supports transactions (true), or if autocommit
604+
/// is always enabled (false) (type: bool).
605+
/// \since ADBC API revision 1.2.0
606+
/// \see AdbcConnectionGetInfo
607+
/// \see ADBC_CONNECTION_OPTION_AUTOCOMMIT
608+
#define ADBC_INFO_FEATURE_TRANSACTIONS 240
609+
610+
/// \brief Whether the driver supports setting the isolation level of
611+
/// transactions (type: bool).
612+
/// \since ADBC API revision 1.2.0
613+
/// \see AdbcConnectionGetInfo
614+
/// \see ADBC_CONNECTION_OPTION_ISOLATION_LEVEL
615+
#define ADBC_INFO_FEATURE_TRANSACTION_ISOLATION_LEVEL 241
616+
617+
/// \brief Whether the driver supports getting statistics (type: bool).
618+
/// \since ADBC API revision 1.2.0
619+
/// \see AdbcConnectionGetInfo
620+
/// \see AdbcConnectionGetStatistics
621+
#define ADBC_INFO_FEATURE_STATISTICS 242
622+
623+
/// \brief Whether the driver supports getting/setting the current catalog
624+
/// (type: bool).
625+
/// \since ADBC API revision 1.2.0
626+
/// \see AdbcConnectionGetInfo
627+
/// \see ADBC_CONNECTION_OPTION_CURRENT_CATALOG
628+
#define ADBC_INFO_FEATURE_CURRENT_CATALOG 243
629+
630+
/// \brief Whether the driver supports getting/setting the current schema
631+
/// (type: bool).
632+
/// \since ADBC API revision 1.2.0
633+
/// \see AdbcConnectionGetInfo
634+
/// \see ADBC_CONNECTION_OPTION_CURRENT_CATALOG
635+
#define ADBC_INFO_FEATURE_CURRENT_DB_SCHEMA 244
636+
637+
/// \brief Whether the driver supports binding data (type: bool).
638+
/// \since ADBC API revision 1.2.0
639+
/// \see AdbcConnectionGetInfo
640+
/// \see AdbcStatementBind
641+
/// \see AdbcStatementBindStream
642+
#define ADBC_INFO_FEATURE_BIND 245
643+
644+
/// \brief Whether the driver supports partitioned execution (type: bool).
645+
/// \since ADBC API revision 1.2.0
646+
/// \see AdbcConnectionGetInfo
647+
/// \see AdbcConnectionReadPartition
648+
/// \see AdbcStatementExecutePartitions
649+
#define ADBC_INFO_FEATURE_EXECUTE_PARTITIONS 246
650+
651+
/// \brief Whether the driver supports multiple result sets (type: bool).
652+
/// \since ADBC API revision 1.2.0
653+
/// \see AdbcConnectionGetInfo
654+
/// \see AdbcStatementExecuteMulti
655+
#define ADBC_INFO_FEATURE_EXECUTE_MULTI 247
656+
657+
/// \brief Whether the driver supports getting result set schemas (type: bool).
658+
/// \since ADBC API revision 1.2.0
659+
/// \see AdbcConnectionGetInfo
660+
/// \see AdbcStatementExecuteSchema
661+
/// \see AdbcStatementExecuteSchemaMulti
662+
#define ADBC_INFO_FEATURE_EXECUTE_SCHEMA 248
663+
664+
/// \brief Whether the driver supports getting parameter schemas (type: bool).
665+
/// \since ADBC API revision 1.2.0
666+
/// \see AdbcConnectionGetInfo
667+
/// \see AdbcStatementGetParameterSchema
668+
#define ADBC_INFO_FEATURE_PARAMETER_SCHEMA 249
669+
670+
/// \brief Whether the driver supports getting error metadata (type: bool).
671+
/// \since ADBC API revision 1.2.0
672+
/// \see AdbcConnectionGetInfo
673+
/// \see AdbcErrorGetDetailCount
674+
/// \see AdbcErrorGetDetail
675+
/// \see AdbcErrorFromArrayStream
676+
/// \see ADBC_ERROR_VENDOR_CODE_PRIVATE_DATA
677+
#define ADBC_INFO_FEATURE_ERROR_METADATA 250
678+
548679
/// \brief Return metadata on catalogs, schemas, tables, and columns.
549680
///
550681
/// \see AdbcConnectionGetObjects

go/adbc/drivermgr/arrow-adbc/adbc.h

Lines changed: 131 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)