esqueleto-3.3.1: Type-safe EDSL for SQL queries on persistent backends.

Safe HaskellNone
LanguageHaskell2010

Database.Esqueleto.Internal.ExprParser

Description

This is an internal module. This module may have breaking changes without a corresponding major version bump. If you use this module, please open an issue with your use-case so we can safely support it.

Synopsis

Documentation

data TableAccess Source #

A type representing the access of a table value. In Esqueleto, we get a guarantee that the access will look something like:

escape-char [character] escape-char . escape-char [character] escape-char
            ^^^^^^^^^^^                           ^^^^^^^^^^^
            table name                            column name

parseOnExpr :: SqlBackend -> Text -> Either String (Set TableAccess) Source #

Parse a SqlExpr (Value Bool)'s textual representation into a list of TableAccess

mkEscapeChar :: SqlBackend -> Either String Char Source #

This function uses the connEscapeName function in the SqlBackend with an empty identifier to pull out an escape character. This implementation works with postgresql, mysql, and sqlite backends.

type ExprParser a = Char -> Parser a Source #