Hoogle Search
Within LTS Haskell 24.52 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
-
postgresql-syntax PostgresqlSyntax.Ast No documentation available.
-
postgresql-syntax PostgresqlSyntax.Ast No documentation available.
PositionFuncExprCommonSubexpr :: Maybe PositionList -> FuncExprCommonSubexprpostgresql-syntax PostgresqlSyntax.Ast No documentation available.
-
postgresql-syntax PostgresqlSyntax.Ast References
position_list: | b_expr IN_P b_expr | EMPTY
PositionList :: BExpr -> BExpr -> PositionListpostgresql-syntax PostgresqlSyntax.Ast No documentation available.
PrecedingFrameBound :: AExpr -> FrameBoundpostgresql-syntax PostgresqlSyntax.Ast No documentation available.
PrefixQualOpAExpr :: QualOp -> AExpr -> AExprpostgresql-syntax PostgresqlSyntax.Ast No documentation available.
-
postgresql-syntax PostgresqlSyntax.Ast References
PreparableStmt: | SelectStmt | InsertStmt | UpdateStmt | DeleteStmt | CallStmt
module PostgresqlSyntax.
Parsing Our parsing strategy is to port the original Postgres parser as closely as possible. We're using the gram.y Postgres source file, which is the closest thing we have to a Postgres syntax spec. Here's a link to it: https://github.com/postgres/postgres/blob/master/src/backend/parser/gram.y. Here's the essence of how the original parser is implemented, citing from PostgreSQL Wiki: scan.l defines the lexer, i.e. the algorithm that splits a string (containing an SQL statement) into a stream of tokens. A token is usually a single word (i.e., doesn't contain spaces but is delimited by spaces), but can also be a whole single or double-quoted string for example. The lexer is basically defined in terms of regular expressions which describe the different token types. gram.y defines the grammar (the syntactical structure) of SQL statements, using the tokens generated by the lexer as basic building blocks. The grammar is defined in BNF notation. BNF resembles regular expressions but works on the level of tokens, not characters. Also, patterns (called rules or productions in BNF) are named, and may be recursive, i.e. use themselves as sub-patterns.
type
Parser = HeadedParsec Void Textpostgresql-syntax PostgresqlSyntax.Parsing No documentation available.