@@ -195,7 +195,7 @@ build_compressed_scan_pathkeys(SortInfo *sort_info, PlannerInfo *root, List *chu
195
195
* already refers a compressed column, it is a bug. See
196
196
* build_sortinfo().
197
197
*/
198
- Assert (compressed_em != NULL );
198
+ Ensure (compressed_em , "corresponding equivalence member not found" );
199
199
200
200
required_compressed_pathkeys = lappend (required_compressed_pathkeys , pk );
201
201
@@ -1488,17 +1488,6 @@ add_segmentby_to_equivalence_class(PlannerInfo *root, EquivalenceClass *cur_ec,
1488
1488
Var * var ;
1489
1489
Assert (!bms_overlap (cur_em -> em_relids , info -> compressed_rel -> relids ));
1490
1490
1491
- /*
1492
- * We want to base our equivalence member on the hypertable equivalence
1493
- * member, not on the uncompressed chunk one, because the latter is
1494
- * marked as child itself. This is mostly relevant for PG16 where we
1495
- * have to specify a parent for the newly created equivalence member.
1496
- */
1497
- if (cur_em -> em_is_child )
1498
- {
1499
- continue ;
1500
- }
1501
-
1502
1491
/* only consider EquivalenceMembers that are Vars, possibly with RelabelType, of the
1503
1492
* uncompressed chunk */
1504
1493
var = (Var * ) cur_em -> em_expr ;
@@ -1507,6 +1496,13 @@ add_segmentby_to_equivalence_class(PlannerInfo *root, EquivalenceClass *cur_ec,
1507
1496
if (!(var && IsA (var , Var )))
1508
1497
continue ;
1509
1498
1499
+ /*
1500
+ * We want to base our equivalence member on the hypertable equivalence
1501
+ * member, not on the uncompressed chunk one. We can't just check for
1502
+ * em_is_child though because the hypertable might be a child itself and not
1503
+ * a top-level EquivalenceMember. This is mostly relevant for PG16+ where
1504
+ * we have to specify a parent for the newly created equivalence member.
1505
+ */
1510
1506
if ((Index ) var -> varno != info -> ht_rel -> relid )
1511
1507
continue ;
1512
1508
0 commit comments