Capabilities / Sql

SqlCapability

class teksi_hooks.capabilities.sql.SqlCapability(connection)[source]

Capability wrapper around a psycopg database connection.

This class provides small convenience methods for executing SQL commands, fetching rows and managing transaction boundaries. It intentionally stays generic and does not contain TEKSI domain-specific query logic.

Parameters:

connection (Connection)

execute(sql, parameters=None)[source]

Execute a SQL statement that does not need to return rows.

Parameters:
  • sql (str)

  • parameters (tuple[Any, ...] | dict[str, Any] | None)

Return type:

None

fetchone(sql, parameters=None)[source]

Execute a SQL query and return the first row, or None if no row exists.

Parameters:
  • sql (str)

  • parameters (tuple[Any, ...] | dict[str, Any] | None)

Return type:

tuple[Any, …] | None

fetchall(sql, parameters=None)[source]

Execute a SQL query and return all rows.

Parameters:
  • sql (str)

  • parameters (tuple[Any, ...] | dict[str, Any] | None)

Return type:

list[tuple[Any, …]]

executemany(sql, parameters)[source]

Execute a SQL statement repeatedly for a list of parameter tuples.

Parameters:
  • sql (str)

  • parameters (list[tuple[Any, ...]])

Return type:

None

scalar(sql, parameters=None)[source]

Execute a SQL query and return the first column of the first row.

Returns None if the query returns no rows.

Parameters:
  • sql (str)

  • parameters (tuple[Any, ...] | dict[str, Any] | None)

Return type:

Any

commit()[source]

Commit the current database transaction.

Return type:

None

rollback()[source]

Roll back the current database transaction.

Return type:

None

transaction()[source]

Return a psycopg transaction context manager.

The caller is responsible for using the returned context manager.

Fields

connection

Type: psycopg.Connection

Open psycopg database connection used by hook capabilities and services. The connection lifecycle is owned by the caller.