plpipes.database.backend#
Module for defining the database backend interface in the plpipes framework.
This module provides the Backend class, which serves as an abstraction layer for different database backends. It allows interaction with various data representations such as pandas, geopandas, Spark DataFrames, polars, and more.
Classes:
| Name | Description |
|---|---|
Backend |
The base class for database backends providing methods for executing queries, handling data chunking, grouping results, and retrieving first results. |
Backend
#
Bases: Plugin
Abstract base class for database backends.
This class defines the interface for various database backends that can perform queries and manage data representations.
Methods:
| Name | Description |
|---|---|
query |
Executes a query and returns the result. |
query_chunked |
Executes a chunked query and returns results. |
query_group |
Executes a grouped query and returns results. |
query_first |
Executes a query and returns the first result. |
query_first_value |
Executes a query and returns the first value. |
Source code in src\plpipes\database\backend\__init__.py
query(engine, sql, parameters, kws)
#
Executes a query against the database.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
engine
|
object
|
The database engine to use for executing the query. |
required |
sql
|
str
|
The SQL query to execute. |
required |
parameters
|
dict
|
Optional parameters for the SQL query. |
required |
kws
|
dict
|
Additional keyword arguments for the execution. |
required |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This method must be implemented in subclasses. |
Source code in src\plpipes\database\backend\__init__.py
query_chunked(engine, sql, parameters, kws)
#
Executes a chunked query against the database.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
engine
|
object
|
The database engine to use for executing the query. |
required |
sql
|
str
|
The SQL query to execute. |
required |
parameters
|
dict
|
Optional parameters for the SQL query. |
required |
kws
|
dict
|
Additional keyword arguments for the execution. |
required |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This method must be implemented in subclasses. |
Source code in src\plpipes\database\backend\__init__.py
query_first(engine, sql, parameters, kws)
#
Executes a query and retrieves the first result.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
engine
|
object
|
The database engine to use for executing the query. |
required |
sql
|
str
|
The SQL query to execute. |
required |
parameters
|
dict
|
Optional parameters for the SQL query. |
required |
kws
|
dict
|
Additional keyword arguments for the execution. |
required |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This method must be implemented in subclasses. |
Source code in src\plpipes\database\backend\__init__.py
query_first_value(engine, sql, parameters, kws)
#
Executes a query and retrieves the first value from the result.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
engine
|
object
|
The database engine to use for executing the query. |
required |
sql
|
str
|
The SQL query to execute. |
required |
parameters
|
dict
|
Optional parameters for the SQL query. |
required |
kws
|
dict
|
Additional keyword arguments for the execution. |
required |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This method must be implemented in subclasses. |
Source code in src\plpipes\database\backend\__init__.py
query_group(engine, sql, parameters, by, kws)
#
Executes a grouped query against the database.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
engine
|
object
|
The database engine to use for executing the query. |
required |
sql
|
str
|
The SQL query to execute. |
required |
parameters
|
dict
|
Optional parameters for the SQL query. |
required |
by
|
str
|
The column(s) to group the results by. |
required |
kws
|
dict
|
Additional keyword arguments for the execution. |
required |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
This method must be implemented in subclasses. |