Re: Permute underscore separated components of columns before fuzzy matching

From: Mikhail Gribkov <youzhick(at)gmail(dot)com>
To: Arne Roland <A(dot)Roland(at)index(dot)de>
Cc: Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Permute underscore separated components of columns before fuzzy matching
Date: 2023-07-24 17:12:16
Message-ID: CAMEv5_u4mBp7qfhitvXDBQWzgeuYfkYek5kU13=O7iB1VgKXKQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello Arne,

yep, now the warnings have gone. And I must thank you for quite a fun time
I had here testing your patch :) I tried even some weird combinations like
this:
postgres=# create table t("_ __ ___" int);
CREATE TABLE
postgres=# select "__ _ ___" from t;
ERROR: column "__ _ ___" does not exist
LINE 1: select "__ _ ___" from t;
^
HINT: Perhaps you meant to reference the column "t._ __ ___".
postgres=# select "___ __ _" from t;
ERROR: column "___ __ _" does not exist
LINE 1: select "___ __ _" from t;
^
HINT: Perhaps you meant to reference the column "t._ __ ___".
postgres=#

... and it still worked fine.
Honestly I'm not entirely sure fixing only two switched words is worth the
effort, but the declared goal is clearly achieved.

I think the patch is good to go, although you need to fix code formatting.
At least the char*-definition and opening "{" brackets are conspicuous.
Maybe there are more: it is worth running pgindend tool.

And it would be much more convenient to work with your patch if every next
version file will have a unique name (maybe something like "_v2", "_v3"
etc. suffixes)

--
best regards,
Mikhail A. Gribkov

e-mail: youzhick(at)gmail(dot)com
*http://www.flickr.com/photos/youzhick/albums
<http://www.flickr.com/photos/youzhick/albums>*
http://www.strava.com/athletes/5085772
phone: +7(916)604-71-12
Telegram: @youzhick

On Mon, Jul 17, 2023 at 1:42 AM Arne Roland <A(dot)Roland(at)index(dot)de> wrote:

> Hello Mikhail,
>
> I'm sorry. Please try attached patch instead.
>
> Thank you for having a look!
>
> Regards
> Arne
>
> ------------------------------
> *From:* Mikhail Gribkov <youzhick(at)gmail(dot)com>
> *Sent:* Thursday, July 6, 2023 13:31
> *To:* Arne Roland <A(dot)Roland(at)index(dot)de>
> *Cc:* Pg Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
> *Subject:* Re: Permute underscore separated components of columns before
> fuzzy matching
>
> Hello Arne,
>
> The goal of supporting words-switching hints sounds interesting and I've
> tried to apply your patch.
> The patch was applied smoothly to the latest master and check-world
> reported no problems. Although I had problems after trying to test the new
> functionality.
>
> I tried to simply mix words in pg_stat_activity.wait_event_type:
>
> postgres=# select wait_type_event from pg_stat_activity ;
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] WARNING: detected write past chunk end
> in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> 2023-07-06 14:12:35.968 MSK [1480] ERROR: column "wait_type_event" does
> not exist at character 8
> 2023-07-06 14:12:35.968 MSK [1480] HINT: Perhaps you meant to reference
> the column "pg_stat_activity.wait_event_type".
> 2023-07-06 14:12:35.968 MSK [1480] STATEMENT: select wait_type_event from
> pg_stat_activity ;
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> WARNING: detected write past chunk end in MessageContext 0x559d668aaf30
> ERROR: column "wait_type_event" does not exist
> LINE 1: select wait_type_event from pg_stat_activity ;
> ^
> HINT: Perhaps you meant to reference the column
> "pg_stat_activity.wait_event_type".
> postgres=#
>
> So the desired hint is really there, but thgether with looots of warnings.
> For sure these should not be be encountered.
>
> And no, this is not some kind of side problem brought by some other
> commit. The same request on a plain master branch performs without these
> warnings:
>
> postgres=# select wait_type_event from pg_stat_activity ;
> 2023-07-06 14:10:17.171 MSK [22431] ERROR: column "wait_type_event" does
> not exist at character 8
> 2023-07-06 14:10:17.171 MSK [22431] STATEMENT: select wait_type_event
> from pg_stat_activity ;
> ERROR: column "wait_type_event" does not exist
> LINE 1: select wait_type_event from pg_stat_activity ;
> --
> best regards,
> Mikhail A. Gribkov
>
> e-mail: youzhick(at)gmail(dot)com
> *http://www.flickr.com/photos/youzhick/albums
> <http://www.flickr.com/photos/youzhick/albums>*
> http://www.strava.com/athletes/5085772
> phone: +7(916)604-71-12
> Telegram: @youzhick
>
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2023-07-24 17:17:33 Re: cataloguing NOT NULL constraints
Previous Message Tristan Partin 2023-07-24 17:11:27 Re: psql not responding to SIGINT upon db reconnection