Em ter., 17 de jun. de 2025 às 06:09, Etsuro Fujita <etsuro.fuj...@gmail.com> escreveu:
> Hi, > > On Tue, Jun 17, 2025 at 2:38 PM Fujii Masao <masao.fu...@oss.nttdata.com> > wrote: > > adjust_foreign_grouping_path_cost(root, > pathkeys, > > > retrieved_rows, width, > > - > fpextra->limit_tuples, > > + > fpextra ? fpextra->limit_tuples : 0.0, > > > &disabled_nodes, > > > &startup_cost, &run_cost); > > > > I couldn't find a query that would reach this code path with > > fpextra == NULL, but I agree the current code is fragile. > > So I think it's a good idea to add the check before accessing > > the field. > > We get here only when called from add_foreign_ordered_paths() or > add_foreign_final_paths(), in which cases fpextra is always set, so it > cannot be NULL. No? > False. In the function *postgresGetForeignRelSize* there is one call, where fpextra is NULL. /* * Get cost/size estimates with help of remote server. Save the * values in fpinfo so we don't need to do it again to generate the * basic foreign path. */ estimate_path_cost_size(root, baserel, NIL, NIL, NULL, &fpinfo->rows, &fpinfo->width, &fpinfo->disabled_nodes, &fpinfo->startup_cost, &fpinfo->total_cost); best regards, Ranier Vilela