From 6d8fb415c4c8774192c9437f98d350257526dd29 Mon Sep 17 00:00:00 2001 From: Wooseog Choi Date: Mon, 1 Jul 2024 11:43:08 -0400 Subject: [PATCH 1/3] doc: to_sql docs should mention ADBC #59095 --- pandas/core/generic.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/pandas/core/generic.py b/pandas/core/generic.py index b4908ad7a2158..8569869da401a 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -2779,7 +2779,8 @@ def to_sql( ---------- name : str Name of SQL table. - con : sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection + con : ADBC connection, sqlalchemy.engine.(Engine or Connection) or sqlite3.Connection + ADBC provides high performance I/O with native type support, where available. Using SQLAlchemy makes it possible to use any DB supported by that library. Legacy support is provided for sqlite3.Connection objects. The user is responsible for engine disposal and connection closure for the SQLAlchemy @@ -2966,6 +2967,24 @@ def to_sql( >>> with engine.connect() as conn: ... conn.execute(text("SELECT * FROM integers")).fetchall() [(1,), (None,), (2,)] + + .. versionadded:: 2.2.0 + + pandas now supports writing via ADBC drivers + + >>> df = pd.DataFrame({'name' : ['User 10', 'User 11', 'User 12']}) + >>> df + name + 0 User 10 + 1 User 11 + 2 User 12 + + >>> from adbc_driver_sqlite import dbapi # doctest:+SKIP + >>> with dbapi.connect("sqlite://") as conn: # doctest:+SKIP + ... df.to_sql(name="users", con=conn) + 3 + + """ # noqa: E501 from pandas.io import sql From 43c4ec5274336e2e354a8a1276311114627d601f Mon Sep 17 00:00:00 2001 From: Wooseog Choi Date: Sun, 7 Jul 2024 13:57:47 -0400 Subject: [PATCH 2/3] remove two blank lines at the end of docstring. --- pandas/core/generic.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 686d2ce3a6fde..4c33b6c80abbe 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -2983,8 +2983,6 @@ def to_sql( >>> with dbapi.connect("sqlite://") as conn: # doctest:+SKIP ... df.to_sql(name="users", con=conn) 3 - - """ # noqa: E501 from pandas.io import sql From 60ba9a4f7a3a6f2fdbd3020a467ec95c68641732 Mon Sep 17 00:00:00 2001 From: Wooseog Choi Date: Sun, 7 Jul 2024 17:40:06 -0400 Subject: [PATCH 3/3] added one more space in in-line comments of example. --- pandas/core/generic.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 4c33b6c80abbe..43003553d7ad6 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -2979,8 +2979,8 @@ def to_sql( 1 User 11 2 User 12 - >>> from adbc_driver_sqlite import dbapi # doctest:+SKIP - >>> with dbapi.connect("sqlite://") as conn: # doctest:+SKIP + >>> from adbc_driver_sqlite import dbapi # doctest:+SKIP + >>> with dbapi.connect("sqlite://") as conn: # doctest:+SKIP ... df.to_sql(name="users", con=conn) 3 """ # noqa: E501