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 1uwUuW-003IWq-2x for pgsql-general@arkaria.postgresql.org; Thu, 11 Sep 2025 00:11:36 +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 1uwUuS-004G8w-Mk for pgsql-general@arkaria.postgresql.org; Thu, 11 Sep 2025 00:11:33 +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 1uwUuS-004G8n-BZ for pgsql-general@lists.postgresql.org; Thu, 11 Sep 2025 00:11:32 +0000 Received: from mail-oa1-x35.google.com ([2001:4860:4864:20::35]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uwUuO-0005s8-1V for pgsql-general@postgresql.org; Thu, 11 Sep 2025 00:11:32 +0000 Received: by mail-oa1-x35.google.com with SMTP id 586e51a60fabf-32170a988a1so136735fac.1 for ; Wed, 10 Sep 2025 17:11:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757549487; x=1758154287; darn=postgresql.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=beL7/78gCEh343J6QNOf+z58fVQhCHEAs90wJKNy3tQ=; b=gnhZurAu+bns7RaZxtHU1AYLMqm5fngM09W7e+UEvv6s4JcboI4WC+ySr160rFWhP5 CynOs2gq8huw+QXxVHSxYqFYIcR8gwp6uKntZAwOm26ENY7572N0Q1fZKCQIdqo/6trJ LFIdDckwpR96Gk7Zj/v2YXcqJopDgPhxy1x5UMHyfHtHDHnUaESSzG8zBHvcjP+W9MVD QHNFFdTx8JZG9V8yFAXXsTYA8/wtTP1G0FcRvs0cj2tLIkFXlKLwGZjJZgV9+F/BDpWo 09O/9J9jZFrMtfkQj4L2gGgUbIH12rv1C3gWGy6brRtuoVZA01G/vkV+aYi8c9XUBY9B xGmg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757549487; x=1758154287; h=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=beL7/78gCEh343J6QNOf+z58fVQhCHEAs90wJKNy3tQ=; b=aQ5/yjsKtsqLnWGvKtm9ln6bEGwzkD+ZJMGZSqfGSVm7A3MmsiNY+U6QJSlDJrVabI xYM2BJVKT7yZSHIsU98Nx3WYJql/BKhUZsQN0i7kP4P6ML0sfVpoIMotd56ly05Zw3cb CQaWd7gSPAqjyiewcc7t47BnG3xQD9L5T+ubWp0FBFVgpUkt9TXxPIvwBJCuOLkZZu12 IYCwNeSKm2kOHY7dVURci5BqSBA0QiOdEGUDCGhRsW32/06DtCqvqoDp7ugOhbyaWTf6 PkBhUajHCMNl7B0e9hmBC81BUztyYk2R9CjcMheziRKWL6lSDkeFjC6OBwSflApaR24x XnpQ== X-Gm-Message-State: AOJu0YxwAAgQabG6dsrvuhvDsfG6m+aR/4tj8JQmTJXNC9uv9h5L21mL m1/PrsSA8m8UGkknm/XTWbWE4zU/srsPwtJ/Xp4fpzOtQBIIW+JhvFq++PZUNngTVWuiDj/7A0B oMkCyfglfDN8B/Zne/g06f654AHXEdYOTDw== X-Gm-Gg: ASbGncuKh8m+/YZQ3N3C2JdNVxMubAyAXP1MB/H8MB36pBeiYJt9Fj6mmgMOViaQZ7Y JgQIrpGawWNdZtPKffys3Yz3XInaRVdi4S5Os9lotLHPUUJGhPophESu1zffbgMKvN5dIe5RlxX EDrZIygQHWHdZO5O6GEqzVZfmJCwfNCKRwYzhu0JISio9g5GYfII7ygDCS9eC12u6Sv87bPcAZX yKowQFUHtJIup+j7ac= X-Google-Smtp-Source: AGHT+IFcerdBSf/IkbmlO+S2IRvpG3+ALcu+dxN4O99Mqu11Q3h3oVrFxW0C2uHxgzIrPsv7lNb7fmCHHJVHx7DWW8w= X-Received: by 2002:a05:6870:e391:b0:31d:6f72:cae6 with SMTP id 586e51a60fabf-32264e1f14dmr8281935fac.36.1757549486782; Wed, 10 Sep 2025 17:11:26 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Ron Johnson Date: Wed, 10 Sep 2025 20:11:15 -0400 X-Gm-Features: Ac12FXyUlo44ThNZSxAd-_rrmjpmY5Gg2dESQmkp8_KytPHEbm-ynWFXZYW-AxE Message-ID: Subject: Re: MVCC and all that... To: pgsql-general Content-Type: multipart/alternative; boundary="000000000000d5bf2f063e7b6086" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000d5bf2f063e7b6086 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Sep 10, 2025 at 6:20=E2=80=AFPM Justin wrote= : > On Wed, Sep 10, 2025 at 5:28=E2=80=AFPM Nico Williams > wrote: > >> [snip] > I would really like out-of-band hints. These would be hints not >> specified in the SQL itself but to be sent separately and which address >> table sources or joins by name, like this: >> >> psql> SELECT .. FROM x x1 JOIN y y1 ON .. JOIN y y2 ON .. WHERE ..; >> ...> \hint y1 indexed by .. >> ...> \hint y2 indexed by .. >> ...> ; >> > > I humbly disagree, the point of SQL being a 4th generation language is, > I tell it what I want, not how to go get what I want. > And the point of high-level languages is to eliminate GOTO, and yet GOTO still exists. The real problem is requiring the application to carry the hints. My old RDBMS let you CREATE HINT to which you (the DBA) would put a SELECT, UPDATE or DELETE statement (similar to PREPARE), and what indices to use. That way, the application doesn't carry them, and "you" can update them as needed. Rarely useful, but occasionally *VERY* useful. --=20 Death to , and butter sauce. Don't boil me, I'm still alive. lobster! --000000000000d5bf2f063e7b6086 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Wed, Sep 10, 2025 at 6:20=E2=80=AFPM J= ustin <zzzzz.graf@gmail.com&= gt; wrote:
On Wed, Sep 1= 0, 2025 at 5:28=E2=80=AFPM Nico Williams <nico@cryptonector.com> wrote:
=C2=A0[snip]
I would really like out-of-band hints.=C2=A0 These would be hints not
specified in the SQL itself but to be sent separately and which address
table sources or joins by name, like this:

psql> SELECT .. FROM x x1 JOIN y y1 ON .. JOIN y y2 ON .. WHERE ..;
...> \hint y1 indexed by ..
...> \hint y2 indexed by ..
...> ;

I humbly disagree, the point of SQL bein= g=C2=A0a 4th=C2=A0 generation language is,=C2=A0 I tell it what I want, not= how to go get=C2=A0what I want.=C2=A0
= =C2=A0
And the point of high-level languages is to eliminat= e GOTO, and yet GOTO still exists.

The real proble= m is requiring the application to carry the hints.

My old RDBMS let you CREATE HINT to which you (the DBA) would put a SELECT= , UPDATE or DELETE statement (similar to PREPARE), and what indices to use.= =C2=A0 That way, the application doesn't carry them, and "you"= ; can update them as needed.

Rarely useful, but oc= casionally *VERY* useful.

--
Death to <Redacted>, and butter sauce.
Don't boil me= , I'm still alive.
<Redacted> lobster!
--000000000000d5bf2f063e7b6086--