Re: Fix bug with indexes on whole-row expressions

2023-12-17 Thread ywgrit
Thanks, tom. Considering the scenario where the indexed column is a function Var on a whole expression, it's really not a good idea to disable creating index on whole expression. I tried find_composite_type_dependencies, it seems that this function can only detect dependencies created by statements

Re: Fix bug with indexes on whole-row expressions

2023-12-14 Thread Nikolay Samokhvalov
On Wed, Dec 13, 2023 at 7:01 AM Tom Lane wrote: > ywgrit writes: > > I forbid to create indexes on whole-row expression in the following > patch. > > I'd like to hear your opinions. > > As I said in the previous thread, I don't think this can possibly > be acceptable. Surely there are people de

Re: Fix bug with indexes on whole-row expressions

2023-12-13 Thread Tom Lane
ywgrit writes: > I forbid to create indexes on whole-row expression in the following patch. > I'd like to hear your opinions. As I said in the previous thread, I don't think this can possibly be acceptable. Surely there are people depending on the capability. I'm not worried so much about the ex

Fix bug with indexes on whole-row expressions

2023-12-12 Thread ywgrit
Hi, Thomas Munro and Laurenz Albe. Since I didn't subscribe to the psql-hackers mailing list before this bug was raised, please forgive me for not being able to reply to this email by placing the email message below. https://www.postgresql.org/message-id/flat/e48a5d9a2d3d72985d61ee254314f5f5f5444a

Re: Bug with indexes on whole-row expressions

2020-07-12 Thread Ashutosh Bapat
On Mon, Jun 29, 2020 at 3:43 PM Laurenz Albe wrote: > > CREATE TABLE boom (a integer, b integer); > > -- index on whole-row expression > CREATE UNIQUE INDEX ON boom ((boom)); > > INSERT INTO boom VALUES >(1, 2), >(1, 3); > > ALTER TABLE boom DROP b; > > TABLE boom; > > a > --- > 1 > 1 >

Bug with indexes on whole-row expressions

2020-06-29 Thread Laurenz Albe
CREATE TABLE boom (a integer, b integer); -- index on whole-row expression CREATE UNIQUE INDEX ON boom ((boom)); INSERT INTO boom VALUES (1, 2), (1, 3); ALTER TABLE boom DROP b; TABLE boom; a --- 1 1 (2 rows) REINDEX TABLE boom; ERROR: could not create unique index "boom_boom_idx"