SQL Reference
The Patterns SQL api consists of two special objects Tables
and Parameters
. These objects work similar to and take the same arguments as their python equivalents. To use them
wrap them in templating braces {{ Table(...) }}
in your SQL. For an overview and examples, see the introduction to SQL in Patterns.
Table
select * from {{ Table() }};
Arguments
Table(
name: str,
mode: str = "r",
description: str = None,
schema: str = None,
required: bool = True
)
A Table is a thin abstraction over a database table that provides a stable reference across versions of the table.
Arguments:
name
- The Patterns name for the table. The actual database table on disk will include this name and a hash.mode
- Whether to use the table in "read" mode ("r") or "write" mode ("w")description
- An optional short description of this tableschema
- An optional explicit Schema for this table. If not provided the schema will be inferred.required
- Whether this table is a required table for the operation of the node, or is optional.
Parameter
select {{ Parameter() }} as param;
Arguments
Parameter(
description: str = None,
type: Type[T] = str,
default: Any = "MISSING"
)
Parameters let a SQL script take values from the end user and/or UI easily.
Allowed parameter types:
- str
- int
- float
- bool
- datetime
- date
- list
- Connection
Arguments:
description
- Description / help texttype
- should be the actual python type, e.g.type=str
default
- default value. If not set explicitly, the parameter is assumed optional. May be set to None