On Thu, Oct 2, 2014 at 2:55 AM, Etsuro Fujita
<fujita.etsuro@lab.ntt.co.jp> wrote:
> Here is the comments in process_matched_tle() in rewriteHandler.c.
>
> 883 * such nodes; consider
> 884 * UPDATE tab SET col.fld1.subfld1 = x, col.fld2.subfld2 = y
> 885 * The two expressions produced by the parser will look like
> 886 * FieldStore(col, fld1, FieldStore(placeholder, subfld1, x))
> 887 * FieldStore(col, fld2, FieldStore(placeholder, subfld2, x))
>
> I think the second one is not correct and should be
>
> FieldStore(col, fld2, FieldStore(placeholder, subfld2, y))
>
> Just like this,
>
> 891 * FieldStore(FieldStore(col, fld1,
> 892 * FieldStore(placeholder, subfld1, x)),
> 893 * fld2, FieldStore(placeholder, subfld2, x))
>
> should be
>
> FieldStore(FieldStore(col, fld1,
> FieldStore(placeholder, subfld1, x)),
> fld2, FieldStore(placeholder, subfld2, y))
>
> Patch attached.
Looks right to me. Committed.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company