fix_array_length_for_printing_sortgrouprefs.patch
application/octet-stream
Filename: fix_array_length_for_printing_sortgrouprefs.patch
Type: application/octet-stream
Part: 0
Patch
Format: unified
| File | + | − |
|---|---|---|
| src/backend/nodes/outfuncs.c | 4 | 1 |
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c
index 6a02f81ad5..9f45b07936 100644
--- a/src/backend/nodes/outfuncs.c
+++ b/src/backend/nodes/outfuncs.c
@@ -2666,10 +2666,13 @@ _outPathKey(StringInfo str, const PathKey *node)
static void
_outPathTarget(StringInfo str, const PathTarget *node)
{
+ int refnos_len = node->sortgrouprefs ?
+ list_length(node->exprs) : 0;
+
WRITE_NODE_TYPE("PATHTARGET");
WRITE_NODE_FIELD(exprs);
- WRITE_INDEX_ARRAY(sortgrouprefs, list_length(node->exprs));
+ WRITE_INDEX_ARRAY(sortgrouprefs, refnos_len);
WRITE_FLOAT_FIELD(cost.startup, "%.2f");
WRITE_FLOAT_FIELD(cost.per_tuple, "%.2f");
WRITE_INT_FIELD(width);