mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-09-09 17:49:31 +02:00
Since the code underlying pg_get_expr() is not secure against malformed input, and can't practically be made so, we need to prevent miscreants from feeding arbitrary data to it. We can do this securely by declaring pg_get_expr() to take a new datatype "pg_node_tree" and declaring the system catalog columns that hold nodeToString output to be of that type. There is no way at SQL level to create a non-null value of type pg_node_tree. Since the backend-internal operations that fill those catalog columns operate below the SQL level, they are oblivious to the datatype relabeling and don't need any changes. |
||
---|---|---|
.. | ||
acl.c | ||
array_userfuncs.c | ||
arrayfuncs.c | ||
arrayutils.c | ||
ascii.c | ||
bool.c | ||
cash.c | ||
char.c | ||
date.c | ||
datetime.c | ||
datum.c | ||
dbsize.c | ||
domains.c | ||
encode.c | ||
enum.c | ||
float.c | ||
format_type.c | ||
formatting.c | ||
genfile.c | ||
geo_ops.c | ||
geo_selfuncs.c | ||
inet_net_ntop.c | ||
inet_net_pton.c | ||
int8.c | ||
int.c | ||
like_match.c | ||
like.c | ||
lockfuncs.c | ||
mac.c | ||
Makefile | ||
misc.c | ||
nabstime.c | ||
name.c | ||
network.c | ||
numeric.c | ||
numutils.c | ||
oid.c | ||
oracle_compat.c | ||
pg_locale.c | ||
pg_lzcompress.c | ||
pgstatfuncs.c | ||
pseudotypes.c | ||
quote.c | ||
regexp.c | ||
regproc.c | ||
ri_triggers.c | ||
rowtypes.c | ||
ruleutils.c | ||
selfuncs.c | ||
tid.c | ||
timestamp.c | ||
trigfuncs.c | ||
tsginidx.c | ||
tsgistidx.c | ||
tsquery_cleanup.c | ||
tsquery_gist.c | ||
tsquery_op.c | ||
tsquery_rewrite.c | ||
tsquery_util.c | ||
tsquery.c | ||
tsrank.c | ||
tsvector_op.c | ||
tsvector_parser.c | ||
tsvector.c | ||
txid.c | ||
uuid.c | ||
varbit.c | ||
varchar.c | ||
varlena.c | ||
version.c | ||
windowfuncs.c | ||
xid.c | ||
xml.c |