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 1w7vUj-0002Gs-1L for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 13:20:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7vUi-00082r-0i for pgsql-hackers@arkaria.postgresql.org; Wed, 01 Apr 2026 13:20:28 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7vUh-00082j-34 for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 13:20:28 +0000 Received: from mail-ua1-x932.google.com ([2607:f8b0:4864:20::932]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w7vUg-000000000xz-2BK3 for pgsql-hackers@lists.postgresql.org; Wed, 01 Apr 2026 13:20:27 +0000 Received: by mail-ua1-x932.google.com with SMTP id a1e0cc1a2514c-9519e97c01aso1963346241.0 for ; Wed, 01 Apr 2026 06:20:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1775049626; cv=none; d=google.com; s=arc-20240605; b=J2yxVJCNrqO+dUrlPQiEZXbYzxLeqRskTHtChMKZoYuWAH04RFrkwJMEZEbDl4doL1 CsQMefsJPqrZl7apx/rwkh06ER/8nmdZ8Do+BYrlCmuHwd0mDwRm1uTcZUNahX0GO2co +1JH+mnV4/tpr49NzE0rQuSzx5u86YqUREey1MsjyNQEC4gGZ9EhV1xDnJcMKVFkbAFq Ua3wczGxJR1gGmXYRiCkC1+FC9G0niiL0klBJAMa/ZkACEaHZ78NbnDwfRk5Xonxq1jd 9B7jNs5ehtrYAWJU8D6Nf/B/KNgFRnXSfFP1282SH/iuY1E7jECJ+sw8MBGCAW2EBF+r VOSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=+7xPH/H+CUefDSycH2EMwaY2z8fsZQFkZw0gBUuUP+8=; fh=ZQ0wTgYmxdcL4enSgu4LgJ4BKpp0Z4OHKj7jCrxUj7I=; b=RCbXoN0ChXfSfnl6x7h9jpNGzXv1kRFjUMhqnlgpXY9aqOgI27YfpCXsVWscGgNFwy sUVMKOYntuLYYFPZ6eCfp815pnpoJhEvtxJtbOA3YC0fXtnKJYCWIfEGzgwKH7howTaQ MPoQwnDIG3NrKZQigORFwb0B13bhzyfX7JgczNLWW481Pfs815fdOHEbkx/LYJ31hHn7 CH104ArPM/+gLRs91LeyP9ieJQIL/U4Y6uEC9HDje+iBCwI1OVyyt4opHeh1e2HLkQO0 k8kX3FhTEtQMp5jIGpBV3uicr/LJ5nAKsHq9z50dnFud8mVSE+6m1zIXxu9229fkxmfS y8Og==; darn=lists.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=1775049626; x=1775654426; darn=lists.postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=+7xPH/H+CUefDSycH2EMwaY2z8fsZQFkZw0gBUuUP+8=; b=XG8NcSs6iAdK+vHjX8DalxWrjYear0kJqoWv5JPAAONDrFEjSBpEYKDknyn7k5CZ+d 6nu1hMncZdgcCmDq+h1Uzm11vMfqOJwbvp4lxnytYqSL10ApZcSAb30AEvkeGMC3XYCC D5DRyl2+dNVST5c8Whxe1BLUU0ra0mj17g1E5gdpOOwuqVly+BBGUqj1yPbA+GcgDkfa ONH7vVMpNd7etvOMuadsn3pwoRXV7dkFNODWFMXWFz8UYlIXuXfSc+zNaxD+QWj171Am ZJysNYac/8Y4LU42EYJAb9V4sIkcuAY03K/Gf3ZPYrjtLC6E5uGaPHFkh4J5AaEB/QGx VdTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775049626; x=1775654426; h=content-transfer-encoding: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=+7xPH/H+CUefDSycH2EMwaY2z8fsZQFkZw0gBUuUP+8=; b=Y/6cHtEY3nduSfEFBgc6Y+bYkqfSui5S49QW2jsaoLLbLaU+HSg2aLCcBWQWW1qvQO mpJ6WFRiz9jta/LJye3TKu5SG9uHRExGaB5C0jxbd0snO92/5unQgNEYoECE0G07Hj5N ojGbzcjtFyU2jceDR42GvNb9eLKmo588nZQCiGkSJO12scHpXHWKAKwkLkFymU5dYgIa +9Gr20B1mwmGg5+Yf85tL7YNhEqI8/h6XrT/WiATjfzVpb3onqvB7q14jpQA/Rxlk32Q T+Z7QxQ0lAuATrDE3SrOW1J8Pgj0KKGSPwizZlcB4+Cts8Gz1+k4sTJVFP8ArC+GQ/ZN APRw== X-Forwarded-Encrypted: i=1; AJvYcCWjr+S2MuCm5wQooNbAOWVrJMjn8bSVXy2YMcYIcxmnvLTQ8drLbMN8Y+ZS8i9opgq/N5a4tnJd9uIH17B4@lists.postgresql.org X-Gm-Message-State: AOJu0YyDP6YB3PrMs7CfLnPcxw0CthUuoN6fI06RH1GpTESy8FGcTbz9 qbfKPa6Q3wCS3gr+KloxPJ+xPtILCtcPjOLNCihs2wzY7mXcPfohpYkuc/ZZkSr2OlXs6np+Cqa iKz5dUJp+u12CRdiIzUzMUWRilykp9NQ= X-Gm-Gg: ATEYQzyT82/XPK8o60RDt5nTHebUku8nfoWkahppIxC+897serStLLtevtm1ax6vMbi VWBZQwF14sm98T/JLTg9SvZ/uwCu+gN4FIliY0SewulvwK+L8UUS4AOCHwWPlnxfz8YnL9I4Bse 7iGq3PNxvM2vEuk0qUUDeVzCHPtxaCdmChEnvT/6CkARqaiVlIn7kVIk6+ntYB52o50qdSHVfsI Z5azMyR3SJiIb1iYPIx0gRmhKoZx/QCKABmos+GJSR7uejAZrcAkRC0a8KuTC43G6Giu9VdDz6Q UGdg0JvLh8eezvSd5tnGDpo5iFIU8gqIO4h3agIFZdbmEPOcYup2Iu2ZAL/AQeHz/JTqcSEihZh COGDyZ2bwV3Sl/EYXNJQSoKoQhSWrtuDr65n2lsM+fg/ngCp0iFEBDb0kqi/+X2RrWGixt4i5Ev uXleSqkhDLWNqY9UAmLOYzaw== X-Received: by 2002:a05:6102:291f:b0:605:25a4:9808 with SMTP id ada2fe7eead31-605681ab71amr1047565137.33.1775049625759; Wed, 01 Apr 2026 06:20:25 -0700 (PDT) MIME-Version: 1.0 References: <80aeac57-8f50-4732-a5b4-c2373c3f8149@gmail.com> In-Reply-To: From: jian he Date: Wed, 1 Apr 2026 21:19:48 +0800 X-Gm-Features: AQROBzA4L_ObbC8iAecCNN-iVBdkyOsWpeymdiXRA9WjRJrd3MAMW55bnv9QUCk Message-ID: Subject: Re: More speedups for tuple deformation To: Junwang Zhao Cc: David Rowley , Alexander Lakhin , Tender Wang , Andres Freund , John Naylor , PostgreSQL Developers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, Apr 1, 2026 at 1:13=E2=80=AFPM Junwang Zhao wro= te: > > The parser transforms '' (or any cstring) into Const with UNKNOWNOID. > When building the tuple descriptor in ExecTypeFromExprList, > TupleDescInitEntry uses UNKNOWNOID to populate the attribute entry, > thus the failure in nocachegetattr. > > Therefore, the assertion should be addressed by removing the pg_assume, > since this case can occur. > > Just trying to learn through analysis, might be incorrect. Let's wait for > David's fix. > HI. You can also trigger it via: SELECT row_to_json(('', '')); In transformRowExpr, we can coerce these UNKNOWNOID Const to TEXTOID Const. But I guess it's harder to guarantee that comment "cstrings don't exist in heap tuples." in nocachegetattr to be true. -- jian https://www.enterprisedb.com/