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.94.2) (envelope-from ) id 1v2B5Q-0015JK-Tm for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Sep 2025 16:14:20 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v2B4Q-003jua-LG for pgsql-hackers@arkaria.postgresql.org; Fri, 26 Sep 2025 16:13:19 +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.94.2) (envelope-from ) id 1v2B4Q-003juQ-BR for pgsql-hackers@lists.postgresql.org; Fri, 26 Sep 2025 16:13:19 +0000 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v2B4O-000Fiu-2M for pgsql-hackers@postgresql.org; Fri, 26 Sep 2025 16:13:18 +0000 Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-afcb7322da8so463111066b.0 for ; Fri, 26 Sep 2025 09:13:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgguru-net.20230601.gappssmtp.com; s=20230601; t=1758903195; x=1759507995; darn=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=IFB0wJPInCbE+PnDHE85fazwYsdp4XBfUccdf2Z3TUk=; b=SsdIizze3e9LSyqjem7RHMe5TMOal3H/yRFeCj3xldhuZ0PhukPGjcDcS5WqpK1cda bBxf7y4h66ao5DtyqxxVaSiCY0VSdIz7n6drchm0vEBmnlUCrkHG1elPgfzHeIGKlhia U1VhHUuOerX3NrlNRh6c0Z0Met9g3YZV/vUtLLnfc6EuwQyqDotcKpYyPDPbbzRpgOCE 3cI8FsSM3sa54Xlh7YjcTiYTYrmTv8BlHTXYEMOCYYWxKWM5OCmW/o+wvWjoDSL1Zw5f qusRevu7eFFuIaTzzkG247IGAR78+1YYCmw4G9wzmVGAo4UDPZgGoUJhqp/c6s7JMP8L 6htA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758903195; x=1759507995; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IFB0wJPInCbE+PnDHE85fazwYsdp4XBfUccdf2Z3TUk=; b=h0NqB3TekK4HsE2VSv00LWvtodpHhLJmdSYfFa7Bk52lhiVkJa2HchdgLsBbVZ4NXB d7+YtejGEJIGfjm7kqnyOM8EnIq94igU4Nh0uXTOdaUQzU1FOWiKOLL8Fu3qRqIxEBgg 5YwBCkZs1KiNI+P3DCb6smN3NV+fCXHQULkxwfnyxPHVbBsIg1nkU5dTuDJRWrzh8Jy1 JlleeVroOnLqT6fkO6aEhbzyR2HAKlSIcmDDPiQsZ12NYberqwIv4Ry5GBLPdQL1G9qy neJbQ5zmJ8a3fTcXtqzq3oGLP7NwfFvfUr/32xuVJCGxdBFroqx4xBCwEl4zbsVuRtWB o0lw== X-Forwarded-Encrypted: i=1; AJvYcCUIJlEy2q0FBccSS+JkqJpFbz95JOp3+TCADaZ/d8XcURfBmnRNvvkH622xcUC/1RlE1JhSC5AR5l2pKhzC@postgresql.org X-Gm-Message-State: AOJu0YybNAQddl5Q2/73zl6OXF/6IUnfCRI9Qe+/O834Vd4WXRI1uwmF 6qgmQiYVTMQCzlS2cI4l8qiGqNtbmNGmDtlQLGCwrPt634DaK7E2JoX4IsGeIW0h4DqF/FWIw0u hjs5ZNzW9PL1SvLtuJ1g43x/wtBs7e7tiK5eADvItxQ== X-Gm-Gg: ASbGncuMRfkE8OoSlQxkoTl4TItkfPp3mj4Obo/ETRNe+yKwvCw4nbJiaMd214aZ6WC MyVVpYgTXHu0E9nZJOTWyiKNmYBd2ATLqrLia32NDe67aSIYE+VHdUTwbqNVOCa1Cf//jOxl21q AZIIyjmtBHJc6zg+TXLDMsFWmAkRWstAI+jqm+2P78sviStlucdPDeVWbEdaHpt6DwtMgIyXbl9 JNrM8RDcjcTeM+I67gXcwFcyLZUR0BXo85ytO9P+g== X-Google-Smtp-Source: AGHT+IEFh5cQzGAoni5tWPndoVqPcED/R+I3SJ+GFdcsedDlX1t77+SBO1cducR4aysof8GrSKa5aUg2wiwRUJQ0p1o= X-Received: by 2002:a17:906:ee8e:b0:b0a:f3f3:a28 with SMTP id a640c23a62f3a-b34b9c6dedfmr817453066b.14.1758903194915; Fri, 26 Sep 2025 09:13:14 -0700 (PDT) MIME-Version: 1.0 References: <4D2047B0-E8D8-472B-B7E8-61206B1E6AFA@yandex-team.ru> <4083063.1758902694@sss.pgh.pa.us> In-Reply-To: <4083063.1758902694@sss.pgh.pa.us> From: David Christensen Date: Fri, 26 Sep 2025 11:13:04 -0500 X-Gm-Features: AS18NWDg45VFTjgv3RzKLuNA1xTk-yT6r711Ps7gl_EryP5AjRYnnO7LFEFbB1U Message-ID: Subject: Re: [PATCH] GROUP BY ALL To: Tom Lane Cc: Andrey Borodin , Peter Eisentraut , pgsql-hackers , "David G. Johnston" , Jelte Fennema-Nio 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 Fri, Sep 26, 2025 at 11:05=E2=80=AFAM Tom Lane wrote= : > > David Christensen writes: > > Here is a rebased version with a few more tests. I also changed the > > main check here to using `!contain_agg_clause` instead of > > `!IsA(Aggref))` directly. (This was defined in `optimizer/clauses.h`, > > but we already are pulling in `optimizer.h`, so it felt valid to me.) > > contain_agg_clause will blow up on a SubLink, so I doubt this is > gonna be robust. Fair enough, see that Assert now; easy enough to make a new expression_tree_walker that only looks for Aggref and short-circuits SubLink (which I assume is the right behavior here, but might have to add some more tests/play around with subqueries in the GROUP BY ALL part). David