Skip to content

Commit ccd2507

Browse files
Add missing execute() method docstrings for specialized cursors
- Add comprehensive docstring to PandasCursor.execute() method - Add comprehensive docstring to ArrowCursor.execute() method - Ensure consistency with base Cursor class documentation - Include cursor-specific details for DataFrame and Arrow Table output - Fix trailing whitespace in docstring examples 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 0444230 commit ccd2507

2 files changed

Lines changed: 56 additions & 0 deletions

File tree

pyathena/arrow/cursor.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,32 @@ def execute(
139139
on_start_query_execution: Optional[Callable[[str], None]] = None,
140140
**kwargs,
141141
) -> ArrowCursor:
142+
"""Execute a SQL query and return results as Apache Arrow Tables.
143+
144+
Executes the SQL query on Amazon Athena and configures the result set
145+
for Apache Arrow Table output. Arrow format provides high-performance
146+
columnar data processing with efficient memory usage.
147+
148+
Args:
149+
operation: SQL query string to execute.
150+
parameters: Query parameters for parameterized queries.
151+
work_group: Athena workgroup to use for this query.
152+
s3_staging_dir: S3 location for query results.
153+
cache_size: Number of queries to check for result caching.
154+
cache_expiration_time: Cache expiration time in seconds.
155+
result_reuse_enable: Enable Athena result reuse for this query.
156+
result_reuse_minutes: Minutes to reuse cached results.
157+
paramstyle: Parameter style ('qmark' or 'pyformat').
158+
on_start_query_execution: Callback called when query starts.
159+
**kwargs: Additional execution parameters.
160+
161+
Returns:
162+
Self reference for method chaining.
163+
164+
Example:
165+
>>> cursor.execute("SELECT * FROM sales WHERE year = 2023")
166+
>>> table = cursor.as_arrow() # Returns Apache Arrow Table
167+
"""
142168
self._reset_state()
143169
if self._unload:
144170
s3_staging_dir = s3_staging_dir if s3_staging_dir else self._s3_staging_dir

pyathena/pandas/cursor.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,36 @@ def execute(
200200
on_start_query_execution: Optional[Callable[[str], None]] = None,
201201
**kwargs,
202202
) -> PandasCursor:
203+
"""Execute a SQL query and return results as pandas DataFrames.
204+
205+
Executes the SQL query on Amazon Athena and configures the result set
206+
for pandas DataFrame output. Supports both regular CSV-based results
207+
and high-performance UNLOAD operations with Parquet format.
208+
209+
Args:
210+
operation: SQL query string to execute.
211+
parameters: Query parameters for parameterized queries.
212+
work_group: Athena workgroup to use for this query.
213+
s3_staging_dir: S3 location for query results.
214+
cache_size: Number of queries to check for result caching.
215+
cache_expiration_time: Cache expiration time in seconds.
216+
result_reuse_enable: Enable Athena result reuse for this query.
217+
result_reuse_minutes: Minutes to reuse cached results.
218+
paramstyle: Parameter style ('qmark' or 'pyformat').
219+
keep_default_na: Whether to keep default pandas NA values.
220+
na_values: Additional values to treat as NA.
221+
quoting: CSV quoting behavior (pandas csv.QUOTE_* constants).
222+
on_start_query_execution: Callback called when query starts.
223+
**kwargs: Additional pandas read_csv/read_parquet parameters.
224+
225+
Returns:
226+
Self reference for method chaining.
227+
228+
Example:
229+
>>> cursor.execute("SELECT * FROM sales WHERE year = %(year)s",
230+
... {"year": 2023})
231+
>>> df = cursor.fetchall() # Returns pandas DataFrame
232+
"""
203233
self._reset_state()
204234
if self._unload:
205235
s3_staging_dir = s3_staging_dir if s3_staging_dir else self._s3_staging_dir

0 commit comments

Comments
 (0)