Postgres module

query_opt

procedure · 1 overloadsince 0.27.0Source

The first row and whether there was one.

query_opt :: (
    db: $D,
    $sql: string,
    args: ..Any,
    plan := Plan.AUTO,
    json := Json_Options.{},
    $call := #caller_code
) -> (#run row_type(sql, call, 1, #insert,scope(call) #run row_table_type(sql, call, 1, #insert,scope(call) #run row_table_exists(sql, call, 1)), Row(#run row_shape(sql, call, 1))), bool, Pg_Error)

The first row and whether there was one.

Parameters

db: $D
a *Connection or a *Pool.
$sql: string
the statement, written at the call as a string: % marks each argument, %% is a literal %.
args: ..Any
one value per %, in order.
plan := Plan.AUTO
.AUTO runs it as a cached named statement; .CUSTOM plans it again on every run.
json := Json_Options.{}
decoding options for json columns in this query; they apply over the connection's and the column's.
$call := #caller_code
the code of the call, which lets the query text be checked while compiling. Leave the default.

Returns

#run row_type(sql, call, 1, #insert,scope(call) #run row_table_type(sql, call, 1, #insert,scope(call) #run row_table_exists(sql, call, 1)), Row(#run row_shape(sql, call, 1)))
bool

See also