adbc_driver_manager
¶
底层 API¶
用于 Python 的底层 ADBC 绑定。
根模块提供了 Python 中 C API 定义的相当直接的 1:1 映射。对于更高级别的接口,请使用 adbc_driver_manager.dbapi
。(这需要 PyArrow。)
常量 & 枚举¶
- class adbc_driver_manager.AdbcStatusCode(*values)¶
基类:
IntEnum
指示错误类型的状态代码。
- ALREADY_EXISTS = 4¶
- CANCELLED = 11¶
- INTEGRITY = 8¶
- INTERNAL = 9¶
- INVALID_ARGUMENT = 5¶
- INVALID_DATA = 7¶
- INVALID_STATE = 6¶
- IO = 10¶
- NOT_FOUND = 3¶
- NOT_IMPLEMENTED = 2¶
- OK = 0¶
- TIMEOUT = 12¶
- UNAUTHENTICATED = 13¶
- UNAUTHORIZED = 14¶
- UNKNOWN = 1¶
- class adbc_driver_manager.GetObjectsDepth(*values)¶
基类:
IntEnum
要为 adbc_get_objects 获取多少数据。
- ALL = 0¶
- CATALOGS = 1¶
- COLUMNS = 0¶
- DB_SCHEMAS = 2¶
- TABLES = 3¶
- class adbc_driver_manager.ConnectionOptions(*values)¶
基类:
Enum
驱动程序之间标准化的连接选项。
并非所有驱动程序都支持所有选项。
- CURRENT_CATALOG = 'adbc.connection.catalog'¶
获取/设置当前目录。
- CURRENT_DB_SCHEMA = 'adbc.connection.db_schema'¶
获取/设置当前模式。
- ISOLATION_LEVEL = 'adbc.connection.transaction.isolation_level'¶
设置事务隔离级别。
- class adbc_driver_manager.DatabaseOptions(*values)¶
基类:
Enum
驱动程序之间标准化的数据库选项。
并非所有驱动程序都支持所有选项。
- PASSWORD = 'password'¶
设置用于用户名-密码验证的密码。
- URI = 'uri'¶
要连接的 URI。
- USERNAME = 'username'¶
设置用于用户名-密码验证的用户名。
- class adbc_driver_manager.StatementOptions(*values)¶
基类:
Enum
驱动程序之间标准化的语句选项。
并非所有驱动程序都支持所有选项。
- INCREMENTAL = 'adbc.statement.exec.incremental'¶
启用 ExecutePartitions 上的增量执行。
- INGEST_MODE = 'adbc.ingest.mode'¶
对于批量导入,是创建新表还是追加到现有表。
- INGEST_TARGET_CATALOG = 'adbc.ingest.target_catalog'¶
对于批量导入,要在其中创建/定位表的目录。此 API 处于实验阶段。
- INGEST_TARGET_DB_SCHEMA = 'adbc.ingest.target_db_schema'¶
对于批量导入,要在其中创建/定位表的模式。此 API 处于实验阶段。
- INGEST_TARGET_TABLE = 'adbc.ingest.target_table'¶
对于批量导入,要导入到的表。
- INGEST_TEMPORARY = 'adbc.ingest.temporary'¶
对于批量导入,使用临时表。此 API 处于实验阶段。
- PROGRESS = 'adbc.statement.exec.progress'¶
获取查询进度。
- adbc_driver_manager.INGEST_OPTION_MODE¶
对于批量导入,是追加到现有表还是创建新表。
- adbc_driver_manager.INGEST_OPTION_MODE_APPEND¶
对于批量导入,追加到现有表。
- adbc_driver_manager.INGEST_OPTION_MODE_CREATE¶
对于批量导入,创建新表。
- adbc_driver_manager.INGEST_OPTION_TARGET_TABLE¶
对于批量导入,要创建/追加到的表。
类¶
- class adbc_driver_manager.AdbcConnection¶
基类:
_AdbcHandle
一个活动的数据库连接。
连接不是线程安全的,客户端应注意序列化对连接的访问。
- 参数:
- databaseAdbcDatabase
要连接的数据库。
- kwargsdict
要传递给底层数据库的字符串键值选项。
方法
cancel
()尝试取消连接上的任何正在进行的操作。
close
()释放连接的句柄。
commit
()提交当前事务。
get_info
([info_codes])获取有关数据库/驱动程序的元数据。
get_objects
(depth[, catalog, db_schema, ...])获取数据库对象的分层视图。
get_option
(key, *[, encoding, errors])获取字符串选项的值。
get_option_bytes
(key)获取二进制选项的值。
get_option_float
(key)获取浮点选项的值。
get_option_int
(key)获取整数选项的值。
get_table_schema
(catalog, db_schema, table_name)获取表的 Arrow schema。
获取支持的表类型的列表。
read_partition
(partition)从 execute_partitions 获取单个分区。
rollback
()回滚当前事务。
set_autocommit
(enabled)切换是否启用自动提交。
set_options
(**kwargs)设置任意键值选项。
- cancel() None ¶
尝试取消连接上的任何正在进行的操作。
- close() None ¶
释放连接的句柄。
- commit() None ¶
提交当前事务。
- get_info(info_codes=None) ArrowArrayStreamHandle ¶
获取有关数据库/驱动程序的元数据。
- get_objects(depth, catalog=None, db_schema=None, table_name=None, table_types=None, column_name=None) ArrowArrayStreamHandle ¶
获取数据库对象的分层视图。
- get_option(key: str | bytes, *, encoding='utf-8', errors='strict') str ¶
获取字符串选项的值。
- 参数:
- keystr or bytes
要获取的选项。
- encodingstr
选项值的编码。这几乎总是 UTF-8。
- errorsstr
解码选项值时如何处理错误(请参阅 bytes.decode)。
- get_option_bytes(key: str) bytes ¶
获取二进制选项的值。
- get_option_float(key: str) float ¶
获取浮点选项的值。
- get_option_int(key: str) int ¶
获取整数选项的值。
- get_table_schema(catalog, db_schema, table_name) ArrowSchemaHandle ¶
获取表的 Arrow schema。
- 返回:
- ArrowSchemaHandle
包含模式的 C 数据接口 ArrowSchema 结构体。
- get_table_types() ArrowArrayStreamHandle ¶
获取支持的表类型的列表。
- read_partition(partition) ArrowArrayStreamHandle ¶
从 execute_partitions 获取单个分区。
- rollback() None ¶
回滚当前事务。
- set_autocommit(enabled) None ¶
切换是否启用自动提交。
- set_options(**kwargs) None ¶
设置任意键值选项。
将选项作为 kwargs 传递:
set_options(**{"some.option": "value"})
.注意,并非所有驱动程序都支持在创建后设置选项。
参见
- class adbc_driver_manager.AdbcDatabase¶
基类:
_AdbcHandle
数据库的一个实例。
- 参数:
- kwargsdict
要传递到底层数据库的字符串键值选项。 必须至少包含 “driver” 以标识要加载的底层数据库驱动程序。
方法
close
()释放数据库的句柄。
get_option
(key, *[, encoding, errors])获取字符串选项的值。
get_option_bytes
(key)获取二进制选项的值。
get_option_float
(key)获取浮点选项的值。
get_option_int
(key)获取整数选项的值。
set_options
(**kwargs)设置任意键值选项。
- close() None ¶
释放数据库的句柄。
- get_option(key: str | bytes, *, encoding='utf-8', errors='strict') str ¶
获取字符串选项的值。
- 参数:
- keystr or bytes
要获取的选项。
- encodingstr
选项值的编码。这几乎总是 UTF-8。
- errorsstr
解码选项值时如何处理错误(请参阅 bytes.decode)。
- get_option_bytes(key: str) bytes ¶
获取二进制选项的值。
- get_option_float(key: str) float ¶
获取浮点选项的值。
- get_option_int(key: str) int ¶
获取整数选项的值。
- set_options(**kwargs) None ¶
设置任意键值选项。
将选项作为 kwargs 传递:
set_options(**{"some.option": "value"})
.注意,并非所有驱动程序都支持在创建后设置选项。
参见
- class adbc_driver_manager.AdbcStatement¶
基类:
_AdbcHandle
数据库语句。
语句不是线程安全的,客户端应注意序列化对连接的访问。
- 参数:
- connectionAdbcConnection
用于创建语句的连接。
方法
bind
(data[, schema])将 ArrowArray 绑定到此语句。
bind_stream
(stream)将 ArrowArrayStream 绑定到此语句。
cancel
()尝试取消连接上的任何正在进行的操作。
close
()释放语句的句柄。
执行查询并获取结果集的分区。
执行查询并获取结果集。
获取结果集的模式,无需执行查询。
执行查询,不带结果集。
get_option
(key, *[, encoding, errors])获取字符串选项的值。
get_option_bytes
(key)获取二进制选项的值。
get_option_float
(key)获取浮点选项的值。
get_option_int
(key)获取整数选项的值。
获取绑定参数的 Arrow 模式。
prepare
()将此语句转换为预处理语句。
set_options
(**kwargs)仅为此语句设置任意键值选项。
set_sql_query
(query)设置要执行的 SQL 查询。
set_substrait_plan
(plan)设置要执行的 Substrait 计划。
- bind(data, schema=None) None ¶
将 ArrowArray 绑定到此语句。
- 参数:
- dataPyCapsule 或 int 或 ArrowArrayHandle
- schemaPyCapsule 或 int 或 ArrowSchemaHandle
- bind_stream(stream) None ¶
将 ArrowArrayStream 绑定到此语句。
- 参数:
- streamPyCapsule 或 int 或 ArrowArrayStreamHandle
- cancel() None ¶
尝试取消连接上的任何正在进行的操作。
- close() None ¶
释放语句的句柄。
- execute_partitions() Tuple[List[bytes], ArrowSchemaHandle | None, int] ¶
执行查询并获取结果集的分区。
并非所有驱动程序都支持此功能。
- 返回:
- 字节列表
分布式结果集的分区。
- ArrowSchemaHandle 或 None
结果集的模式。如果启用了增量执行并且服务器不返回模式,则可能为 None。
- int
如果已知行数,则为行数;否则为 -1。
- execute_query() Tuple[ArrowArrayStreamHandle, int] ¶
执行查询并获取结果集。
- 返回:
- ArrowArrayStreamHandle
结果集。
- int
如果已知行数,则为行数;否则为 -1。
- execute_schema() ArrowSchemaHandle ¶
获取结果集的模式,无需执行查询。
- 返回:
- ArrowSchemaHandle
结果集的模式。
- execute_update() int ¶
执行查询,不带结果集。
- 返回:
- int
如果已知受影响的行数,则为行数;否则为 -1。
- get_option(key: str | bytes, *, encoding='utf-8', errors='strict') str ¶
获取字符串选项的值。
- 参数:
- keystr or bytes
要获取的选项。
- encodingstr
选项值的编码。这几乎总是 UTF-8。
- errorsstr
解码选项值时如何处理错误(请参阅 bytes.decode)。
- get_option_bytes(key: str) bytes ¶
获取二进制选项的值。
- get_option_float(key: str) float ¶
获取浮点选项的值。
- get_option_int(key: str) int ¶
获取整数选项的值。
- get_parameter_schema() ArrowSchemaHandle ¶
获取绑定参数的 Arrow 模式。
这将检索一个 Arrow 模式,描述参数化语句中参数的数量、名称和类型。该模式的字段应按参数的序号位置排列;命名的参数应只出现一次。
如果参数没有名称,或者无法确定名称,则该模式中相应字段的名称将为空字符串。如果无法确定类型,则相应字段的类型将为 NA (NullType)。
应在
prepare()
之后调用此方法。- 引发:
- NotSupportedError
如果无法确定模式。
- prepare() None ¶
将此语句转换为预处理语句。
- set_options(**kwargs) None ¶
仅为此语句设置任意键值选项。
将选项作为 kwargs 传递:
set_options(**{"some.option": "value"})
.注意,并非所有驱动程序都支持在创建后设置选项。
参见
- set_sql_query(query) None ¶
设置要执行的 SQL 查询。
- set_substrait_plan(plan) None ¶
设置要执行的 Substrait 计划。
- class adbc_driver_manager.ArrowArrayHandle¶
基类:
object
已分配的 ArrowArray 的包装器。
此对象实现了 Arrow PyCapsule 接口。
- 属性:
address
ArrowArray 的地址。
- address¶
ArrowArray 的地址。
DBAPI 2.0 API¶
用于 ADBC Driver Manager 的 PEP 249 (DB-API 2.0) API 包装器。
资源管理¶
您必须 close()
Connection 和 Cursor 对象,否则可能会泄漏驱动程序资源。 __del__
作为回退实现,但 Python 不保证何时调用它。对于开发,在 pytest 下运行时,或者当环境变量 _ADBC_DRIVER_MANAGER_WARN_UNCLOSED_RESOURCE
设置为 1
时, __del__
将引发 ResourceWarning 。
常量 & 枚举¶
- adbc_driver_manager.dbapi.apilevel = '2.0'¶
DB-API API 级别 (2.0)。
- adbc_driver_manager.dbapi.paramstyle = 'qmark'¶
参数样式 (qmark)。这是硬编码的,但实际上取决于驱动程序。
- adbc_driver_manager.dbapi.threadsafety = 1¶
线程安全级别(连接可能不共享)。
- adbc_driver_manager.dbapi.Date = <class 'datetime.date'>¶
日期值的类型。
- adbc_driver_manager.dbapi.Time = <class 'datetime.time'>¶
时间值的类型。
- adbc_driver_manager.dbapi.Timestamp(year, month, day[, hour[, minute[, second[, microsecond[, tzinfo]]]]]) = <class 'datetime.datetime'>¶
时间戳值的类型。
- adbc_driver_manager.dbapi.BINARY = frozenset({14, 35})¶
二进制列的类型。
- adbc_driver_manager.dbapi.DATETIME = frozenset({16, 17, 18, 19, 20})¶
日期时间列的类型。
- adbc_driver_manager.dbapi.NUMBER = frozenset({2, 3, 4, 5, 6, 7, 8, 9, 11, 12})¶
数值列的类型。
- adbc_driver_manager.dbapi.ROWID = frozenset({9})¶
“行 ID”列的类型。
- adbc_driver_manager.dbapi.STRING = frozenset({13, 34})¶
字符串列的类型。
函数¶
- adbc_driver_manager.dbapi.connect(*, driver: str, entrypoint: str | None = None, db_kwargs: Dict[str, str] | None = None, conn_kwargs: Dict[str, str] | None = None, autocommit=False) Connection ¶
通过 ADBC 连接到数据库。
- 参数:
- driver
驱动程序名称。例如,“adbc_driver_sqlite”将尝试在 Linux 系统上加载 libadbc_driver_sqlite.so,在 MacOS 上加载 libadbc_driver_sqlite.dylib,在 Windows 上加载 adbc_driver_sqlite.dll。 这也可以是要加载的库的路径。
- entrypoint
驱动程序特定的入口点,如果与默认值不同。
- db_kwargs
传递给驱动程序以初始化数据库的键值参数。
- conn_kwargs
传递给驱动程序以初始化连接的键值参数。
- autocommit
是否启用自动提交。 为了符合 DB-API,默认情况下禁用此功能。 如果无法禁用,将发出警告。
- adbc_driver_manager.dbapi.DateFromTicks(ticks: int) date ¶
从秒数构造日期值。
- adbc_driver_manager.dbapi.TimeFromTicks(ticks: int) time ¶
从秒数构造时间值。
- adbc_driver_manager.dbapi.TimestampFromTicks(ticks: int) datetime ¶
从秒数构造时间戳值。
类¶
- class adbc_driver_manager.dbapi.Connection(db: AdbcDatabase | _SharedDatabase, conn: AdbcConnection, conn_kwargs: Dict[str, str] | None = None, *, autocommit=False)¶
基类:
_Closeable
DB-API 2.0 (PEP 249) 连接。
不要直接创建此对象;使用 connect()。
- 属性:
adbc_connection
获取底层 ADBC 连接。
adbc_current_catalog
当前目录的名称。
adbc_current_db_schema
当前 schema 的名称。
adbc_database
获取底层 ADBC 数据库。
方法
取消此连接上任何正在进行的操作。
创建一个新的 Connection,它与底层数据库共享同一个底层数据库。
获取有关数据库和驱动程序的元数据。
adbc_get_objects
(*[, depth, catalog_filter, ...])列出目录、schema、表等。
adbc_get_table_schema
(table_name, *[, ...])按名称获取表的 Arrow schema。
列出服务器知道的表类型。
close
()关闭连接。
commit
()显式提交。
cursor
()创建一个新的游标来查询数据库。
rollback
()显式回滚。
- adbc_cancel() None ¶
取消此连接上任何正在进行的操作。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- adbc_clone() Connection ¶
创建一个新的 Connection,它与底层数据库共享同一个底层数据库。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- property adbc_connection: AdbcConnection¶
获取底层 ADBC 连接。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- property adbc_current_catalog: str¶
当前目录的名称。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- 属性 adbc_current_db_schema: str¶
当前 schema 的名称。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- 属性 adbc_database: AdbcDatabase¶
获取底层 ADBC 数据库。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- adbc_get_info() Dict[str | int, Any] ¶
获取有关数据库和驱动程序的元数据。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- adbc_get_objects(*, depth: Literal['all', 'catalogs', 'db_schemas', 'tables', 'columns'] = 'all', catalog_filter: str | None = None, db_schema_filter: str | None = None, table_name_filter: str | None = None, table_types_filter: List[str] | None = None, column_name_filter: str | None = None) RecordBatchReader ¶
列出数据库中的目录、模式、表等。
- 参数:
- depth (深度)
要返回哪些对象的信息。
- catalog_filter (目录过滤器)
返回的目录名称的可选过滤器。
- db_schema_filter (数据库模式过滤器)
返回的数据库模式名称的可选过滤器。
- table_name_filter (表名过滤器)
返回的表名称的可选过滤器。
- table_types_filter (表类型过滤器)
返回的表类型的可选列表。
- column_name_filter (列名过滤器)
返回的列名称的可选过滤器。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- adbc_get_table_schema(table_name: str, *, catalog_filter: str | None = None, db_schema_filter: str | None = None) Schema ¶
按名称获取表的 Arrow schema。
- 参数:
- table_name (表名)
要获取模式的表。
- catalog_filter (目录过滤器)
catalog_filter (目录过滤器)
- db_schema_filter (数据库模式过滤器)
An optional filter on the database schema name of the table.
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- adbc_get_table_types() List[str] ¶
列出服务器知道的表类型。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- close() None ¶
关闭连接。
Warning
Failure to close a connection may leak memory or database connections.
- commit() None ¶
显式提交。
- rollback() None ¶
显式回滚。
- class adbc_driver_manager.dbapi.Cursor(conn: Connection)¶
基类:
_Closeable
A DB-API 2.0 (PEP 249) cursor.
Do not create this object directly; use Connection.cursor().
- 属性:
adbc_statement
Get the underlying ADBC statement.
arraysize
The number of rows to fetch at a time with fetchmany().
connection
Get the connection associated with this cursor.
description
结果集的模式。
rowcount
Get the row count of the result set, or -1 if not known.
rownumber
Get the current row number, or None if not applicable.
方法
Cancel any ongoing operations on this statement.
adbc_execute_partitions
(operation[, parameters])Execute a query and get the partitions of a distributed result set.
adbc_execute_schema
(operation[, parameters])Get the schema of the result set of a query without executing it.
adbc_ingest
(table_name, data[, mode, ...])Ingest Arrow data into a database table.
adbc_prepare
(operation)Prepare a query without executing it.
adbc_read_partition
(partition)Read a partition of a distributed result set.
callproc
(procname, parameters)Call a stored procedure (not supported).
close
()Close the cursor and free resources.
execute
(operation[, parameters])Execute a query.
executemany
(operation, seq_of_parameters)Execute a query with multiple parameter sets.
executescript
(operation)Execute multiple statements.
Fetch all rows of the result as a PyArrow Table.
fetch_df
()Fetch all rows of the result as a Pandas DataFrame.
Fetch the result as a PyArrow RecordBatchReader.
fetchall
()Fetch all rows of the result.
Fetch all rows of the result as a PyArrow Table.
fetchmany
([size])Fetch some rows of the result.
fetchone
()Fetch one row of the result.
next
()Fetch the next row, or raise StopIteration.
nextset
()Move to the next available result set (not supported).
setinputsizes
(sizes)Preallocate memory for the parameters (no-op).
setoutputsize
(size[, column])Preallocate memory for the result set (no-op).
- adbc_cancel() None ¶
Cancel any ongoing operations on this statement.
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- adbc_execute_partitions(operation, parameters=None) Tuple[List[bytes], Schema] ¶
Execute a query and get the partitions of a distributed result set.
- 返回:
- partitionsbyte列表
分区描述符列表,可以使用 read_partition 读取。
- schemapyarrow.Schema 或 None
结果集的模式。如果启用了增量查询执行且服务器尚未返回模式,则可能为 None。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- adbc_execute_schema(operation, parameters=None) Schema ¶
Get the schema of the result set of a query without executing it.
- 返回:
- pyarrow.Schema
结果集的模式。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- adbc_ingest(table_name: str, data: RecordBatch | Table | RecordBatchReader, mode: Literal['append', 'create', 'replace', 'create_append'] = 'create', *, catalog_name: str | None = None, db_schema_name: str | None = None, temporary: bool = False) int ¶
Ingest Arrow data into a database table.
根据驱动程序的不同,这可以避免典型的 prepare-bind-insert 循环可能导致的逐行开销。
- 参数:
- table_name (表名)
要插入的表。
- data
要插入的 Arrow 数据。这可以是 pyarrow RecordBatch、Table 或 RecordBatchReader,或者任何实现 Arrow PyCapsule 协议的 Arrow 兼容数据(即,具有
__arrow_c_array__
或__arrow_c_stream__
方法)。- mode
如何处理现有数据
‘append’:追加到表(如果表不存在则出错)
‘create’:创建表并插入(如果表存在则出错)
‘create_append’:创建表(如果不存在)并插入
‘replace’:删除现有表(如果有),然后与 ‘create’ 相同
- catalog_name
如果给定,则是在其中创建/定位表的目录。 此 API 处于实验阶段。
- db_schema_name
如果给定,则是在其中创建/定位表的 schema。 此 API 处于实验阶段。
- temporary
是否摄取到临时表。大多数驱动程序将不支持将此设置与 catalog_name 和/或 db_schema_name 一起使用。 此 API 处于实验阶段。
- 返回:
- int
插入的行数;如果驱动程序无法提供此信息,则为 -1。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- adbc_prepare(operation: bytes | str) Schema | None ¶
Prepare a query without executing it.
要在之后执行查询,请使用相同的查询调用
execute()
或executemany()
。这不会第二次准备查询。- 返回:
- pyarrow.Schema 或 None
绑定参数的模式;如果无法确定模式,则为 None。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- adbc_read_partition(partition: bytes) None ¶
Read a partition of a distributed result set.
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- property adbc_statement: AdbcStatement¶
Get the underlying ADBC statement.
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- property arraysize: int¶
The number of rows to fetch at a time with fetchmany().
- callproc(procname, parameters)¶
Call a stored procedure (not supported).
- close()¶
Close the cursor and free resources.
- property connection: Connection¶
Get the connection associated with this cursor.
这是一个可选的 DB-API 扩展。
- property description: List[tuple] | None¶
结果集的模式。
- execute(operation: bytes | str, parameters=None) None ¶
Execute a query.
- 参数:
- operationbytes 或 str
要执行的查询。将 SQL 查询作为字符串传递,将(序列化的)Substrait 计划作为字节传递。
- parameters
要绑定的参数。可以是 Python 序列(以提供一组参数),也可以是 Arrow 记录批次、表或记录批次读取器(以提供多个参数,每个参数将依次绑定)。
- executemany(operation: bytes | str, seq_of_parameters) None ¶
Execute a query with multiple parameter sets.
此方法不生成结果集。
- 参数:
- operationbytes 或 str
要执行的查询。将 SQL 查询作为字符串传递,将(序列化的)Substrait 计划作为字节传递。
- seq_of_parameters
要绑定的参数。可以是 Python 序列的列表,也可以是 Arrow 记录批处理、表格或记录批处理读取器。如果为 None,则查询将执行一次,否则将为每行执行一次。
- executescript(operation: str) None ¶
Execute multiple statements.
如果存在挂起的事务,则先提交。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- fetch_arrow_table() Table ¶
Fetch all rows of the result as a PyArrow Table.
此实现与 DuckDB 类似的 API。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- fetch_df() pandas.DataFrame ¶
Fetch all rows of the result as a Pandas DataFrame.
此实现与 DuckDB 类似的 API。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- fetch_record_batch() RecordBatchReader ¶
Fetch the result as a PyArrow RecordBatchReader.
此实现与 DuckDB 类似的 API: https://duckdb.org/docs/guides/python/export_arrow.html#export-as-a-recordbatchreader
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- fetchall() List[tuple] ¶
Fetch all rows of the result.
- fetchallarrow() Table ¶
Fetch all rows of the result as a PyArrow Table.
此实现与 turbodbc 类似的 API。
说明
这是一个扩展,不是 DBAPI 标准的一部分。
- fetchmany(size: int | None = None) List[tuple] ¶
Fetch some rows of the result.
- fetchone() tuple | None ¶
Fetch one row of the result.
- next()¶
Fetch the next row, or raise StopIteration.
- nextset()¶
Move to the next available result set (not supported).
- property rowcount: int¶
Get the row count of the result set, or -1 if not known.
- property rownumber: int | None¶
Get the current row number, or None if not applicable.
- setinputsizes(sizes)¶
Preallocate memory for the parameters (no-op).
- setoutputsize(size, column=None)¶
Preallocate memory for the result set (no-op).
内部¶
请勿直接使用这些。
- class adbc_driver_manager._lib._AdbcHandle¶
基类:
object
ADBC 句柄的基类,它们是上下文管理器。
- class adbc_driver_manager.dbapi._Closeable¶
基类:
ABC
提供上下文管理器接口的基类。
基类:
_Closeable
共享 AdbcDatabase 的持有者。
异常¶
- exception adbc_driver_manager.DatabaseError(message, *, status_code, vendor_code=None, sqlstate=None, details=None)¶
基类:
Error
与数据库相关的错误。
- exception adbc_driver_manager.DataError(message, *, status_code, vendor_code=None, sqlstate=None, details=None)¶
-
与已处理数据相关的错误。
- exception adbc_driver_manager.Error(message, *, status_code, vendor_code=None, sqlstate=None, details=None)¶
基类:
Exception
符合 PEP 249 的基类异常。
- 属性:
- status_codeAdbcStatusCode
原始 ADBC 状态代码。
- vendor_codeint, optional
如果存在,则为供应商特定的状态代码。
- sqlstatestr, optional
SQLSTATE 代码(如果存在)。
- detailslist[tuple[str, bytes]], optional
其他错误详细信息(如果存在)。
- exception adbc_driver_manager.IntegrityError(message, *, status_code, vendor_code=None, sqlstate=None, details=None)¶
-
与关系完整性相关的错误。
- exception adbc_driver_manager.InterfaceError(message, *, status_code, vendor_code=None, sqlstate=None, details=None)¶
基类:
Error
与数据库接口相关的错误。
- exception adbc_driver_manager.InternalError(message, *, status_code, vendor_code=None, sqlstate=None, details=None)¶
-
与数据库内部错误相关的错误。
- exception adbc_driver_manager.NotSupportedError(message, *, vendor_code=None, sqlstate=None, details=None)¶
-
不支持的操作或某些功能。
- exception adbc_driver_manager.OperationalError(message, *, status_code, vendor_code=None, sqlstate=None, details=None)¶
-
与数据库操作相关的错误,不受用户控制。
- exception adbc_driver_manager.ProgrammingError(message, *, status_code, vendor_code=None, sqlstate=None, details=None)¶
-
与用户错误相关的错误。
- exception adbc_driver_manager.Warning¶
基类:
UserWarning
符合PEP 249的基本警告类。