semolina.cursor

DBAPI 2.0 cursor wrapper with Row convenience methods.

SemolinaCursor delegates to any DBAPI 2.0-compatible cursor and adds fetchall_rows(), fetchmany_rows(), and fetchone_row() that convert raw tuples into Row objects using cursor.description column names.

Classes

SemolinaCursor

DBAPI 2.0 cursor wrapper with Row convenience methods.

Module Contents

class semolina.cursor.SemolinaCursor(cursor: Any, conn: Any, pool: Any)[source]

DBAPI 2.0 cursor wrapper with Row convenience methods.

Wraps any DBAPI 2.0-compatible cursor via delegation. Adds fetchall_rows(), fetchmany_rows(), and fetchone_row() methods that convert DBAPI tuples to Row objects.

Context manager support releases cursor and connection on exit.

fetchall_rows() list[semolina.results.Row][source]

Fetch all remaining rows as Row objects.

Returns:

List of Row objects with attribute and dict access.

fetchone_row() semolina.results.Row | None[source]

Fetch next row as a Row, or None if exhausted.

Returns:

Row object, or None if no rows remain.

fetchmany_rows(size: int = 1) list[semolina.results.Row][source]

Fetch up to size rows as Row objects.

Parameters:

size – Maximum number of rows to fetch. Defaults to 1.

Returns:

List of Row objects (may be shorter than size).

fetchall() list[tuple[Any, Ellipsis]][source]

Fetch all remaining rows as raw tuples (DBAPI passthrough).

Returns:

List of tuple rows.

fetchone() tuple[Any, Ellipsis] | None[source]

Fetch next row as raw tuple (DBAPI passthrough).

Returns:

Tuple row, or None if exhausted.

fetchmany(size: int = 1) list[tuple[Any, Ellipsis]][source]

Fetch up to size rows as raw tuples (DBAPI passthrough).

Parameters:

size – Maximum number of rows to fetch.

Returns:

List of tuple rows.

property description: list[tuple[Any, Ellipsis]] | None[source]

Cursor description passthrough.

Returns:

List of 7-element tuples describing columns, or None before execute.

property rowcount: int[source]

Row count passthrough.

Returns:

Number of rows affected by the last operation.

close() None[source]

Close cursor and release connection.