Обсуждение: AlterTableCreateToastTable API still not right for pg_migrator
I just started reading the pg_migrator source code, and I notice that we still didn't get AlterTableCreateToastTable's API right for pg_migrator's usage. It needs to be exposing an option to force a particular OID for the toast table. The way pg_migrator is handling that now is both ugly and unsafe, and it's really pretty silly when the underlying create_toast_table() function is perfectly capable of being told what we want it to do. There's still time to fix this before RC1. I propose adding "Oid toastOid" to AlterTableCreateToastTable's arguments, with the semantics that if it's not InvalidOid then we attempt to create the toast table with that OID. regards, tom lane
Tom Lane wrote: > I just started reading the pg_migrator source code, and I notice that > we still didn't get AlterTableCreateToastTable's API right for > pg_migrator's usage. It needs to be exposing an option to force > a particular OID for the toast table. The way pg_migrator is handling > that now is both ugly and unsafe, and it's really pretty silly when the > underlying create_toast_table() function is perfectly capable of being > told what we want it to do. > > There's still time to fix this before RC1. I propose adding > "Oid toastOid" to AlterTableCreateToastTable's arguments, with > the semantics that if it's not InvalidOid then we attempt to create > the toast table with that OID. Fine with me. I can adjust pg_migrator to match. We did discuss this in the past, and the current API is less than idea. I think we held off on the change so we were not changing the API between betas. At the start of RC1 seems fine and I will time pg_migrator's final release to match RC1. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. +
Tom Lane wrote: > I just started reading the pg_migrator source code, and I notice that > we still didn't get AlterTableCreateToastTable's API right for > pg_migrator's usage. It needs to be exposing an option to force > a particular OID for the toast table. The way pg_migrator is handling > that now is both ugly and unsafe, and it's really pretty silly when the > underlying create_toast_table() function is perfectly capable of being > told what we want it to do. > > There's still time to fix this before RC1. I propose adding > "Oid toastOid" to AlterTableCreateToastTable's arguments, with > the semantics that if it's not InvalidOid then we attempt to create > the toast table with that OID. I have update pg_migrator CVS to match the new API, but I will not put out a new pg_migrator release until Postgres 8.4RC1 is released. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. +