Re: pgsql: Use TRUNCATE to preserve relfilenode for pg_largeobject + index.

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: pgsql: Use TRUNCATE to preserve relfilenode for pg_largeobject + index.
Дата
Msg-id CA+TgmoasMX_9esbBTzi7Cio0Ghc7C6eNs12DwAmDEzzxSQymPA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: pgsql: Use TRUNCATE to preserve relfilenode for pg_largeobject + index.  (Dilip Kumar <dilipbalaut@gmail.com>)
Список pgsql-committers
On Fri, Jul 29, 2022 at 7:00 AM Dilip Kumar <dilipbalaut@gmail.com> wrote:
> @ -3167,15 +3168,36 @@ dumpDatabase(Archive *fout)
>
> ....
>   appendPQExpBuffer(loOutQry, "UPDATE pg_catalog.pg_class\n"
> -   "SET relfrozenxid = '%u', relminmxid = '%u', relfilenode = '%u'\n"
> +   "SET relfrozenxid = '%u', relminmxid = '%u'\n"
>     "WHERE oid = %u;\n",
>     atooid(PQgetvalue(lo_res, i, i_relfrozenxid)),
>     atooid(PQgetvalue(lo_res, i, i_relminmxid)),
> -   atooid(PQgetvalue(lo_res, i, i_relfilenode)),
> -   atooid(PQgetvalue(lo_res, i, i_oid)));
> +   atooid(PQgetvalue(lo_res, i, i_relfilenode)));
>
> Is this correct? I mean why are we updating only those tuples where
> oid= i_relfilenode?  I think it should use
> atooid(PQgetvalue(lo_res, i, i_oid) in where clause not
> atooid(PQgetvalue(lo_res, i, i_relfilenode)?  Or am I missing
> something?

No, that's definitely not correct. Thanks for catching it.

-- 
Robert Haas
EDB: http://www.enterprisedb.com



В списке pgsql-committers по дате отправления:

Предыдущее
От: Dilip Kumar
Дата:
Сообщение: Re: pgsql: Use TRUNCATE to preserve relfilenode for pg_largeobject + index.
Следующее
От: Robert Haas
Дата:
Сообщение: pgsql: Fix mistake in bbe08b8869bd29d587f24ef18eb45c7d4d14afca.