## engines.Dialect


SQL syntax and semantics of one engine.


Usage

``` python
engines.Dialect(
    name,
    guards=True,
    finite=True,
    decimals=False,
)
```


Every hook takes SQL text for its operands (each already self-contained, e.g. parenthesised) and returns SQL text. The defaults are ANSI SQL; subclasses override what their engine writes differently and raise [Unsupported](sql.Unsupported.md#sverify.sql.Unsupported) for what it cannot do.

Use one of the dialect objects: [sverify.engines.DUCKDB](engines.DUCKDB.md#sverify.engines.DUCKDB), [sverify.engines.SNOWFLAKE](engines.SNOWFLAKE.md#sverify.engines.SNOWFLAKE) and [sverify.engines.SPARK](engines.SPARK.md#sverify.engines.SPARK). This is [sverify.engines.Dialect](engines.Dialect.md#sverify.engines.Dialect). Its fields ([name](engines.Dialect.md#sverify.engines.Dialect.name), [guards](sql.Dialect.md#sverify.sql.Dialect.guards), [finite](sql.Dialect.md#sverify.sql.Dialect.finite), [decimals](sql.Dialect.md#sverify.sql.Dialect.decimals)) are public; its SQL-writing methods change whenever a function lands, so they and subclassing are outside the 1.x promise (`docs/stability.md`).


## Attributes


`name: str`  
The engine's name, used in [Unsupported](sql.Unsupported.md#sverify.sql.Unsupported) messages.
