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 1t0vTf-00Dq0v-VM for pgsql-docs@arkaria.postgresql.org; Wed, 16 Oct 2024 04:17:40 +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 1t0vTd-00FObE-NT for pgsql-docs@arkaria.postgresql.org; Wed, 16 Oct 2024 04:17:38 +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.94.2) (envelope-from ) id 1t0vTd-00FOb5-F2 for pgsql-docs@lists.postgresql.org; Wed, 16 Oct 2024 04:17:37 +0000 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1t0vTX-0017CH-5T for pgsql-docs@postgresql.org; Wed, 16 Oct 2024 04:17:36 +0000 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-4311fd48032so34638875e9.0 for ; Tue, 15 Oct 2024 21:17:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=cybertec.at; t=1729052248; x=1729657048; darn=postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=h085zbpA3M7k9yjwka26QJXpB0KOcfow/nppHvqVp2Q=; b=AfZauatwssvoa54q5HWblKfr0W1r+ZkTKM5HyYGkYgq4bQWZ7XdhPlGk0SYiECFI0u t8RBKecnJKq9DHRl4MjkWRw67oiRVPVE6oWQq4vZVbi9tDMrER+zPuETI+gyYAMJs7W6 t1nhL0BR7bgJ4hWSnCD3QX/oPq/cKJ2uf5qGE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729052248; x=1729657048; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=h085zbpA3M7k9yjwka26QJXpB0KOcfow/nppHvqVp2Q=; b=ZKihDBBhCPYy8xXcuTbVpKiDCXfDGtYVibJTBud8w0dp64pv9IipBzkUC63wl9QZrN U8dhgrIjK0mLYQkj1wDRVkccf98T7En+meILJ/Nr7/Fa0o2O/DJuYPP95K5p7pOtzDVk jFTWGwLxEMAh9vi7ppZqweZnkv2d2FWzCQkwmu1xgEFUWBSCNthSRfwpGDq+Jyeyhicf kMmxS7sGfZ4OMb/C7LLwz6YRX0te6FhpgsVU2iDiwH1qtWbN59hiCWQbr8D+Ofg/m0QS bSEntcoV9qxcmsE81dVjJAAzUW/tbZBW5dzefU5uXOCFwlSulrCfbmzH8I/5NdfQbXjl 1sQg== X-Gm-Message-State: AOJu0YyD0KuRToVG2Mt+OgyZhP+RNlUO7q5OEwvlEiUpYwrnpM/Gcw4r UPKzi1/EFW+gBLi3VNubvv2j0kGVbU/ZnzfJcjPV2TpX1QUZTltKSG6hQPE+zoQ= X-Google-Smtp-Source: AGHT+IE2QaVdSZ1eie15Nlz+ZnctixvFj+GHwVb8KWwXkoNVxw2w1alavYYLiRpoA2H9KKSYnhuwxg== X-Received: by 2002:a05:600c:458c:b0:427:ff3b:7a20 with SMTP id 5b1f17b1804b1-4314a35ed0fmr18655575e9.27.1729052248386; Tue, 15 Oct 2024 21:17:28 -0700 (PDT) Received: from [10.20.0.55] (212-186-45-11.cable.dynamic.surfer.at. [212.186.45.11]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43150455e1esm6967405e9.1.2024.10.15.21.17.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Oct 2024 21:17:28 -0700 (PDT) Message-ID: Subject: Re: Index of expression over table row or column From: Laurenz Albe To: Steve Lau , Tom Lane , "david.g.johnston@gmail.com" Cc: "pgsql-docs@postgresql.org" Date: Wed, 16 Oct 2024 06:17:01 +0200 In-Reply-To: References: <964FED20-AC2E-47C5-86FB-95C356A68B81@outlook.com> <4169601.1729048988@sss.pgh.pa.us> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.4 (3.52.4-1.fc40) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 2024-10-16 at 04:00 +0000, Steve Lau wrote: > Regarding Tom=E2=80=99s reply, IMHO, =E2=80=9CLOWER(last_name || ' ' || f= irst_name)=E2=80=9D is still an > expression over table columns? Would you like to elaborate on it a bit? Well, a table row consists of columns. So something that depends on or use= s several columns can be said to be "on the table row". I'd say that the documentati= on is correct, but if it gives you trouble, perhaps it should be improved. And what would you say about this (silly) example: CREATE TABLE x (a integer, b integer); CREATE INDEX ON x(hash_record(x)); Yours, Laurenz Albe