Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1webDB-004tTX-25 for pgsql-hackers@arkaria.postgresql.org; Tue, 30 Jun 2026 16:21:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1webDA-00962Z-1w for pgsql-hackers@arkaria.postgresql.org; Tue, 30 Jun 2026 16:21:24 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1webDA-00962Q-11 for pgsql-hackers@lists.postgresql.org; Tue, 30 Jun 2026 16:21:24 +0000 Received: from mail-dl1-x1234.google.com ([2607:f8b0:4864:20::1234]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1webD8-000000012kz-1bkY for pgsql-hackers@postgresql.org; Tue, 30 Jun 2026 16:21:24 +0000 Received: by mail-dl1-x1234.google.com with SMTP id a92af1059eb24-139b914bab6so6393035c88.1 for ; Tue, 30 Jun 2026 09:21:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782836480; cv=none; d=google.com; s=arc-20260327; b=dh83f+RC0C2HNOD0oUdGM0ndCz8RWCUa2bjC5ZZGHM4KkbVUi98K5nLFMk2/xlis72 tHfUZVYvLZ3rHkJhnGEGjUvJ+3kHX3W1nvuN7D93zrKmCrJD7jDIwaQzmMGuLeBQSjmF IPUGVA7wd4DlEb4i0DwGc2zXQb3aEs265yrIPkkLwXeHvFyXI2+IiQHUvbCvTJWxGLFZ x6TjYE10Ra3cE9ui3BsyMnkfSpBAjNjNyJJxmOppIsZSRHmoUaXn06aYLWOGjzLoU4Hc bcVmrebHUKfh1xTa0bsl+j5D3L3DumJ5ONSQP3NkRB8Hmb+D7eRVkGrtX7klD9OxYfMl UnHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=yC9ocekdJxuW1FwKUwlHmbHkCZodaTjE6OFqLcnHmk4=; fh=I7jdVk+tQvCifZ8OpaQfslMnEwUdcrWhqaswGE7VSj8=; b=pwodHUPfrcuaDcKA5RmDhCK8N0vfW4+KkzTaBSDLYylCYRvBlopPbbi0V23sTWyvKZ Kg3+TDBBTPO0Nw3mh5Xi58a+DRZjZS60yyKOcDlDfBO69laVsF2/E8QBMM6Rt2SjmkGg /ypHwFOUYoRS7w9z974SGrXIPw5CcoqV6vA2a0nhmrlj96SnvuiOMHSXLvy+pIFn2fY+ KrGC1B983LUORFVA7WnmTbDZ5kZ/kQP6Ksc0K8RDZDFFW+vIbNTL9lcvtgJtnY3zXq0s hgQ058dDUImQ5h2Uts3Dn0MFMPXmhCsu+HK6AIki/kpY46hjScA+PzVzUnP1QDQOKoKY 0Dog==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782836480; x=1783441280; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=yC9ocekdJxuW1FwKUwlHmbHkCZodaTjE6OFqLcnHmk4=; b=j3MOwHwCvS0q9WWNr6WemOSuizBs2tT2sUB/TN/yqLhJ57PBx/4/DxOGfpd4kACvD5 /nZVGA71kZWgR5D97KXMTuodMVBV2mPsYPr0UXuKDha3FFpeb2/ZS0EzplDjAVreAcBg kuXNIGbVo+YldqlCJeNkQNFg5ZuFy0hYGCddiULlS3Kx0UEoQlfPNVRGPndwo7nTyJAF O4wXUP/iXWwy1yQ+GHZS1JEw1PVHInVj00lYhDWuQTEBnIonBjoxLslCQmkahtGOUZ2H 53ELuyphghs1YnJSW64WUzLzgKTVjq4Wk9zOB1KLHn84NXHC8C1Q1rupKwDydlJHaOuY MjuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782836480; x=1783441280; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yC9ocekdJxuW1FwKUwlHmbHkCZodaTjE6OFqLcnHmk4=; b=daXz0Q+oZiEkNCARhIgLGcNPZwTSbz12xDm5ymcNw/+PLiZPWPxY4IYxxaXAW7Kzi7 li/56VV0LxTYybaQ0LZmVqGoYpau3avwZ66gXHwLcmVU5wo4OZd55B48LpkRgwPXlT29 f945N2+wZukAta0ncNOjX2DlJdHb+8sAXPh8mYDGlj7TIs6JoXeR1oBn0qYdp9YBHrJR 3AFhLu3wFF6QEKIvl88HffMiuwEhNTShP8ibE/drljqW9MrIh060tj7fLSQ7NZ9m9BFo +2Dxtt0dbH2WQFx1wBiLQ/pIm5vIm0ywrPgIlI/6Jlbp0zZGuW0AZooxqF0Rzrdb8fvw lVow== X-Forwarded-Encrypted: i=1; AFNElJ8Uzs5Bkmv0UzyjibbHsKINNAvs/cZzunZlIuC3KTB1JI5vwT2MbqMNZBdWlBicSGZJftMScDIXTXrYNLPg@postgresql.org X-Gm-Message-State: AOJu0Yxh2tV3rnrOmviqmq0p09nyRNOTuDoTdzRQBnIqxYJIqrOCOsmP gH8/FFY0GF/zY1hezCaQOrkhtbcm5Wl01O/PwXu7t9/sGjiRBNeSRObywCFP12g7AWTqDmoaQH0 JeqMzjW+wd0t9iiVm9XWbQC2C2N3Nvzg= X-Gm-Gg: AfdE7cloE3/dx7a97DLkhAKozoKKRj5EAjNdv2h5V0jC7fTaQglK76QzE1/PBBCD6Hf 2C9ZhRm2lNvmUsfoZgMrLMO+Z4+L9sv/4Nn6KnxAAFVAc8EyvoMRfYoPQ6sluSK6tQh3yFchW0O MPbzY3hX/qx3Qcq1MvcGgIJAPcMz0sBEX5Ktf1bU86cyDYLbx5HBPqrf4KLYThRqWCuuD4WZQHn vgTgTnsOr5huHQzGKtAnZC2Ausv9+lpYHL/Dnqw254Zl0prvA14yZh6L5z3n2QtPLJuQtKM9sTD fzACDsVHt/GsDd+tit9HwyJ4G4LTg2WFVOTZnUWATGypB24zPYjkMC6jQ562GsQyeL96ylhhroy FbQMayC+Qu1xl/iQLWERXEomF8szc2aysPcacliS9WPKXSPS7 X-Received: by 2002:a05:7022:6299:b0:138:1569:6f1 with SMTP id a92af1059eb24-13b31426b2bmr724751c88.11.1782836479985; Tue, 30 Jun 2026 09:21:19 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Corey Huinker Date: Tue, 30 Jun 2026 11:21:08 -0500 X-Gm-Features: AVVi8Cd-vgtOnUMdrsbIoexobTjPZChlUAwd4GTumZ4Y0gmj_K9enZWBi1Kzhn0 Message-ID: Subject: Re: use of SPI by postgresImportForeignStatistics To: Etsuro Fujita Cc: Robert Haas , "pgsql-hackers@postgresql.org" Content-Type: multipart/alternative; boundary="000000000000150b1006557af7fc" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000150b1006557af7fc Content-Type: text/plain; charset="UTF-8" > > > My initial concern was that this would bloat up postgres_fdw with type > conversion code, but the patch shows that it isn't that bad. > One additional thought - in an offline conversation I had with Robert Haas, he had taken the position that any FDW was likely pulling values across a wire protocol and then synthesizing postgres-looking statistics from that, so going with cstring inputs was fine, possibly preferable. I'm highlighting that we're now passing in NullableDatums in case he wanted to object to that change. --000000000000150b1006557af7fc Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
=

My initial concern was that this would = bloat up postgres_fdw with type conversion code, but the patch shows that i= t isn't that bad.

One additional thought - in an offline conversation I had with Robert Ha= as, he had taken the position that any FDW was likely pulling values across= a wire protocol and then synthesizing postgres-looking statistics from tha= t, so going with cstring inputs was fine, possibly preferable. I'm high= lighting that we're now passing in NullableDatums in case he wanted to = object to that change.
--000000000000150b1006557af7fc--