The function has no side effects. No information about the
arguments is conveyed except via the return value. Any function
that might throw an error depending on the values of its arguments
- is not leak-proof.
+ is not leakproof.
</para></entry>
</row>
error, in which case this mechanism is invisible in practice. But if the
user is reading from a security-barrier view, then the planner might wish
to check the statistics of an underlying table that is otherwise
- inaccessible to the user. In that case, the operator should be leak-proof
+ inaccessible to the user. In that case, the operator should be leakproof
or the statistics will not be used. There is no direct feedback about
that, except that the plan might be suboptimal. If one suspects that this
is the case, one could try running the query as a more privileged user,
<literal>LEAKPROOF</literal> to be pushed down, as they never receive data
from the view. In contrast, a function that might throw an error depending
on the values received as arguments (such as one that throws an error in the
- event of overflow or division by zero) is not leak-proof, and could provide
+ event of overflow or division by zero) is not leakproof, and could provide
significant information about the unseen rows if applied before the security
view's row filters.
</para>
/*
* If there are any securityQuals on the RTE from security barrier
* views or RLS policies, then the user may not have access to all the
- * table's data, and we must check that the operator is leak-proof.
+ * table's data, and we must check that the operator is leakproof.
*
* If the operator is leaky, then we must ignore this clause for the
* purposes of estimating with MCV lists, otherwise the operator might
/*
* If there are any securityQuals on the RTE from security barrier
* views or RLS policies, then the user may not have access to all the
- * table's data, and we must check that the operator is leak-proof.
+ * table's data, and we must check that the operator is leakproof.
*
* If the operator is leaky, then we must ignore this clause for the
* purposes of estimating with MCV lists, otherwise the operator might
* Check whether it is permitted to call func_oid passing some of the
* pg_statistic data in vardata. We allow this either if the user has SELECT
* privileges on the table or column underlying the pg_statistic data or if
- * the function is marked leak-proof.
+ * the function is marked leakproof.
*/
bool
statistic_proc_security_check(VariableStatData *vardata, Oid func_oid)
return true;
ereport(DEBUG2,
- (errmsg_internal("not using statistics because function \"%s\" is not leak-proof",
+ (errmsg_internal("not using statistics because function \"%s\" is not leakproof",
get_func_name(func_oid))));
return false;
}
/* security definer */
bool prosecdef BKI_DEFAULT(f);
- /* is it a leak-proof function? */
+ /* is it a leakproof function? */
bool proleakproof BKI_DEFAULT(f);
/* strict with respect to NULLs? */