The code failed to initialize the second isnull argument passed to
FunctionCallInvoke(). This is harmless for existing in-core extended
hash support functions, since FunctionCallInvoke() does not use the
value (note that all the in-core extended hash functions are strict),
examining only the argument values. However, extension-provided
extended hash functions could be affected if they inspect
PG_ARGISNULL(1).
Oversight in
01e658fa74cb.
Author: Man Zeng <zengman@halodbtech.com>
Discussion: https://postgr.es/m/tencent_7818173C01E01836109848C3@qq.com
Backpatch-through: 14
locfcinfo->args[0].value = values[i];
locfcinfo->args[0].isnull = false;
locfcinfo->args[1].value = Int64GetDatum(seed);
- locfcinfo->args[0].isnull = false;
+ locfcinfo->args[1].isnull = false;
element_hash = DatumGetUInt64(FunctionCallInvoke(locfcinfo));
/* We don't expect hash support functions to return null */