final class FuncExprCommonSubexprWithJsonExistsJsonValueExprAExprJsonPassingClauseOptJsonOnErrorClauseOpt_7fca87cc
    implements AExprForm, BExprForm, CExprForm, CaseArgForm, ExprListForm, FuncArgExprForm, FuncArgListForm, FuncArgListOptForm, FuncExprForm, FuncExprCommonSubexprForm, FuncExprWindowlessForm, GroupByItemForm, GroupByListForm, OptSliceBoundForm, OptTargetListForm, SelectFetchFirstValueForm, SelectLimitValueForm, SelectOffsetValueForm, StatsParamForm, StatsParamsForm, TargetElForm, TargetListForm, TrimListForm, XmlAttributeElForm, XmlAttributeListForm
    uses Assertion
Public API: explicitly declared with @visibility public.

The func_expr_common_subexpr SQL value; generated by bin/build-models.php.

Accept a structured SQL valuedoctest
$write = static fn (\SqlSemantics\Statement\Model\PostgreSql\Value\FuncExprCommonSubexprWithJsonExistsJsonValueExprAExprJsonPassingClauseOptJsonOnErrorClauseOpt_7fca87cc $value): string => \SqlSemantics\Statement\Writer::render($value);
    $write instanceof \Closure // => true

Properties§

public JsonValueExprForm $jsonValueExpr
public AExprForm $aExpr
public JsonPassingClauseOptForm $jsonPassingClauseOpt
public JsonOnErrorClauseOptForm $jsonOnErrorClauseOpt
public Comments $comments = new \SqlSemantics\Statement\Comments()

Methods§

public function __construct(
    public JsonValueExprForm $jsonValueExpr,
    public AExprForm $aExpr,
    public JsonPassingClauseOptForm $jsonPassingClauseOpt,
    public JsonOnErrorClauseOptForm $jsonOnErrorClauseOpt,
    public Comments $comments = new \SqlSemantics\Statement\Comments(),
)

Supplies the SQL values of this form; comments are kept by the position of the symbol each precedes.

Parameters

$jsonValueExprJsonValueExprForm
$aExprAExprForm
$jsonPassingClauseOptJsonPassingClauseOptForm
$jsonOnErrorClauseOptJsonOnErrorClauseOptForm
$commentsComments
Calls 3
public function write(Writer $writer): void

Writes SQL entirely from this value's fields.

Parameters

$writerWriter
Calls 6
public function withJsonValueExpr(JsonValueExprForm $jsonValueExpr): self

Returns a copy with a new jsonValueExpr, preserving every other field.

Parameters

$jsonValueExprJsonValueExprForm

Returns

self
Calls 1
public function withAExpr(AExprForm $aExpr): self

Returns a copy with a new aExpr, preserving every other field.

Parameters

$aExprAExprForm

Returns

self
Calls 1
public function withJsonPassingClauseOpt(JsonPassingClauseOptForm $jsonPassingClauseOpt): self

Returns a copy with a new jsonPassingClauseOpt, preserving every other field.

Parameters

$jsonPassingClauseOptJsonPassingClauseOptForm

Returns

self
Calls 1
public function withJsonOnErrorClauseOpt(JsonOnErrorClauseOptForm $jsonOnErrorClauseOpt): self

Returns a copy with a new jsonOnErrorClauseOpt, preserving every other field.

Parameters

$jsonOnErrorClauseOptJsonOnErrorClauseOptForm

Returns

self
Calls 1
public function withComments(Comments $comments): self

Returns a copy with a new comments, preserving every other field.

Parameters

$commentsComments

Returns

self
Calls 1