On Thu, 11 Apr 2002, Vaclav Kulakovsky wrote:
> Hi all,
>
> When I update row in table with foring key, referenced row is locked. I
> can see it in log file:
>
> DEBUG: query: update entry set sometext = 'aaa' where id = 1;
> DEBUG: query: SELECT 1 FROM ONLY "languages" WHERE "id" = $1 FOR UPDATE
> OF "languages"
>
> When I execute update second time I receive only this:
>
> query: update entry set sometext = 'aaa' where id = 1;
>
> Referenced row is locked only first time ? This behavior looks me little
> bit strange. Can anybody explain it ?
I believe this is just the query plan caching. It only plans the query
once for each session on its first use. The query is run from that saved
plan from then on.