layerPostgreSqlGeneration 55

May depend on Grammar, Generation, PostgreSqlGrammar, Faker.

Namespaces§

Classes 54§

GenerationContext @visibility rootSqlFaker\PostgreSql\GenerationBinds the PostgreSql grammar and lexical declarations to the common SQL generation engine.
GenerationPlans @visibility rootSqlFaker\PostgreSql\GenerationNames the generation plans this dialect's provider is built from.
LexicalGrammar @visibility rootSqlFaker\PostgreSql\GenerationPostgreSQL lexical generation using source-based candidate and boundary definitions. Tokenization is exposed separately for diagnostics and does not decide generation success.
DefinitionFactorySqlFaker\PostgreSql\Generation\LexemeDeclares scanner values, fixed spellings, contextual domains and spacing for PostgreSQL 17.2. Source tag REL_17_2 matches pg-17.2 in resources/version.php.
HashBoundLexemeGeneratorSqlFaker\PostgreSql\Generation\LexemeImplements the modulus/remainder name checks in PostgreSQL 17.2 gram.y/PartitionBoundSpec.
KeywordLexemeGeneratorSqlFaker\PostgreSql\Generation\LexemeCombines kwlist.h registrations with parser.c/base_yylex's required followers for lookahead tokens.
LexicalDefinitionSqlFaker\PostgreSql\Generation\LexemeCarries one lexical composition and its tokenizer and token-budget metadata.
PgLookahead @visibility rootSqlFaker\PostgreSql\Generation\LookaheadThe token substitutions PostgreSQL's parser frontend makes by looking ahead.
ConstraintAttributesRuleSqlFaker\PostgreSql\Generation\Rewritegram.y/ConstraintAttributeSpec rejects three conflicting pairs of accumulated option bits.
CopySourceRuleSqlFaker\PostgreSql\Generation\RewriteImplements gram.y/CopyStmt: PROGRAM needs a filename and COPY TO cannot carry a WHERE clause.
FetchWithTiesRuleSqlFaker\PostgreSql\Generation\RewriteCompletes FETCH WITH TIES ordering in gram.y/insertSelectOptions and PLpgSQL_Expr.
GeneratedColumnRuleSqlFaker\PostgreSql\Generation\Rewritegram.y ColConstraintElem requires GENERATED ALWAYS for expressions; IDENTITY also permits BY DEFAULT.
HashPartitionBoundRuleSqlFaker\PostgreSql\Generation\RewriteSupplies exactly the two named bounds required by gram.y/PartitionBoundSpec.
LimitOffsetRuleSqlFaker\PostgreSql\Generation\RewriteReplaces gram.y's always-error LIMIT value,value diagnostic alternative with LIMIT/OFFSET.
LookaheadRuleSqlFaker\PostgreSql\Generation\RewriteSettles parser.c/base_yylex aliases after the grammar's otherwise ambiguous followers have been selected.
OperatorArgumentsRuleSqlFaker\PostgreSql\Generation\RewriteREL_17_2 gram.y oper_argtypes rejects a lone type and prescribes NONE for a missing unary argument.
OverlapsArgumentsRuleSqlFaker\PostgreSql\Generation\RewriteImplements gram.y's two-argument row requirement for each side of OVERLAPS.
PublicationObjectRuleSqlFaker\PostgreSql\Generation\RewriteResolves the table/schema continuation state checked by gram.y/preprocess_pubobj_list.
RewriteDefinitionsSqlFaker\PostgreSql\Generation\RewriteDeclares PostgreSQL structural rules by their original grammar scope.
TimeZoneIntervalRuleSqlFaker\PostgreSql\Generation\RewriteImplements gram.y/zone_value's HOUR and MINUTE interval-mask restriction.
WindowFrameRuleSqlFaker\PostgreSql\Generation\RewriteImplements the frame_extent rejection conditions in PostgreSQL 17.2 gram.y.
ConstraintCapabilitiesRuleSqlFaker\PostgreSql\Generation\Rewrite\ColumnprocessCASbits permits attributes according to the non-null output pointers at each call site.
ForeignKeyActionRuleSqlFaker\PostgreSql\Generation\Rewrite\Columnkey_update rejects SET NULL/DEFAULT column lists; key_delete permits them.
IdentityOptionRuleSqlFaker\PostgreSql\Generation\Rewrite\Columngram.y:alter_identity_column_option excludes AS, RESTART and OWNED BY after SET.
NumericContextRuleSqlFaker\PostgreSql\Generation\Rewrite\Columngram.y bounds FLOAT precision and ALTER COLUMN's positional form before parse analysis.
ExpressionGroupingRuleSqlFaker\PostgreSql\Generation\Rewrite\ExpressionPreserves derived operand grouping where the source grammar permits parenthesized expressions. This also prevents non-associative operators from being serialized as forbidden flat chains.
AliasRuleSqlFaker\PostgreSql\Generation\Rewrite\Namegram.y/relation_expr_opt_alias reduces before SET unless the alias has an explicit AS.
AnyRelationNameRuleSqlFaker\PostgreSql\Generation\Rewrite\Namegram.y/makeRangeVarFromAnyName limits composite type relation names to three components.
ColumnNameRuleSqlFaker\PostgreSql\Generation\Rewrite\Nameparse_expr.c and parse_target.c allow up to four ColumnRef fields before subscripting.
FunctionNameRuleSqlFaker\PostgreSql\Generation\Rewrite\Namegram.y/check_func_name accepts String name components, excluding A_Star and A_Indices. catalog/namespace.c DeconstructQualifiedName limits function lookup to three components.
IndirectionStarRuleSqlFaker\PostgreSql\Generation\Rewrite\Namegram.y/makeColumnRef and check_indirection allow a star only at the end of its own chain.
ParserNameRuleSqlFaker\PostgreSql\Generation\Rewrite\Namegram.y restricts partition strategies, JSON encodings, and literal role names beyond their grammar productions.
RelationNameRuleSqlFaker\PostgreSql\Generation\Rewrite\Namegram.y/makeRangeVarFromQualifiedName accepts at most three String components, without star or subscripts.
UniqueOptionRuleSqlFaker\PostgreSql\Generation\Rewrite\OptionApplies a source-defined uniqueness condition within one grammar scope.
IntoClauseRuleSqlFaker\PostgreSql\Generation\Rewrite\Queryanalyze.c:transformOptionalSelectInto accepts INTO only on a top-level query's leftmost SELECT.
ParserOptionsRuleSqlFaker\PostgreSql\Generation\Rewrite\QueryRemoves options forbidden by the trigger/view grammar actions, scoped to their direct owner.
SchemaElementsRuleSqlFaker\PostgreSql\Generation\Rewrite\QueryCREATE SCHEMA with IF NOT EXISTS cannot contain schema elements.
SelectOptionsRuleSqlFaker\PostgreSql\Generation\Rewrite\Querygram.y:insertSelectOptions merges parenthesized query options into the same SelectStmt.
AggregateArgumentRuleSqlFaker\PostgreSql\Generation\Rewrite\RoutineAggregate arguments cannot have output modes; ordered-set direct VARIADIC types need coordinated lists.
JsonOptionsRuleSqlFaker\PostgreSql\Generation\Rewrite\RoutineApplies syntax-level SQL/JSON option restrictions from parse_expr.c/transformJsonFuncExpr.
JsonTablePathRuleSqlFaker\PostgreSql\Generation\Rewrite\Routinejson_table requires an A_Const containing a string, even though its RHS accepts a_expr.
RangeFunctionOrdinalityRuleSqlFaker\PostgreSql\Generation\Rewrite\Routineparse_clause.c:transformRangeFunction disallows ordinality beside a top-level column definition list.
SubstringRuleSqlFaker\PostgreSql\Generation\Rewrite\Routinegram.y:substr_list uses SIMILAR/ESCAPE as argument separators, also accepted inside a_expr.
TableFunctionRuleSqlFaker\PostgreSql\Generation\Rewrite\Routinegram.y:mergeTableFuncParameters permits only default, IN or VARIADIC input modes.
TypeModifierRuleSqlFaker\PostgreSql\Generation\Rewrite\Routinegram.y:AexprConst reuses function arguments for type modifiers but rejects names and ordering.
WithinGroupRuleSqlFaker\PostgreSql\Generation\Rewrite\Routinegram.y:func_expr forbids inner ordering, DISTINCT and VARIADIC with WITHIN GROUP.
KeywordIndex @visibility rootSqlFaker\PostgreSql\Generation\TokenizationTurns a terminal's spellings into a lookup from spelling to terminal.
PgQuoting @visibility rootSqlFaker\PostgreSql\Generation\TokenizationEncodes chosen text using PostgreSQL quoting rules, independently of generation.
PgTokenizer @visibility rootSqlFaker\PostgreSql\Generation\TokenizationReads PostgreSQL text back into the parser tokens the server would produce.
DollarQuotedDomainSqlFaker\PostgreSql\Generation\ValueReuses one chosen tag at both boundaries; the declared body alphabet excludes dollars.
IdentifierDomainSqlFaker\PostgreSql\Generation\ValueScanner start/continuation alphabets with a safe sampling prefix for generated names.
LiteralGenerator @visibility rootSqlFaker\PostgreSql\Generation\ValueGenerates PostgreSql literal bodies for the bounded lexical API.
OperatorDomainSqlFaker\PostgreSql\Generation\ValueScanner operator runs with explicit fixed-token and comment boundaries.
QuotedDomainSqlFaker\PostgreSql\Generation\ValueOne quoted scanner state: delimiter, optional prefix, doubling and optional backslash escapes.

Enums 1§

StatementRule public APISqlFaker\PostgreSql\GenerationStatement start rules available to PostgreSQL SQL generation.