final class SchemaRules
    implements SchemaRules
Restricted visibility: declared "@visibility SqlSemantics". Code outside that scope must not name this declaration.

PostgreSql SchemaRules implementation.

Methods§

public function validate(Node $source, Node $header): void

Rejects declarations whose column state requires evaluating another relation.

Parameters

$sourceNode
$headerNode
Calls 2
public function options(Node $source): list<Node>

Parameters

$sourceNode

Returns

list<Node>
Calls 4
public function primaryOptionsNotNull(Node $source): bool

Reports table-level primary key nullability.

Parameters

$sourceNode

Returns

bool
public function columnNodes(Node $create): list<array{Node, list<Node>}>

Parameters

$createNode

Returns

list<array{Node, list<Node>}>
Calls 1
public function primaryNotNull(
    ColumnDefinition $column,
    list<string> $primary,
    list<TableConstraint> $constraints,
): bool

Parameters

$columnColumnDefinition
$primarylist<string>
$constraintslist<TableConstraint>

Returns

bool
public function schemaNode(Node $statement, Node $create): Node

Selects the syntax node that owns the complete declaration.

Parameters

$statementNode
$createNode

Returns

public function tableKey(TableDefinition $table): string

Returns the declaration identity used for duplicate detection.

Parameters

Returns

string
public function qualify(
    Node $header,
    list<string> $parts,
    Identifiers $identifiers,
): list<string>

Parameters

$headerNode
$partslist<string>
$identifiersIdentifiers

Returns

list<string>

Test cases 61§

Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.

Dedicated tests 2
Other tests reaching this symbol 59

Relations§

Instantiated in 1