Zdenek Kotala wrote:
> Dne 4.01.10 19:28, Alvaro Herrera napsal(a):
> > Bruce Momjian escribi?:
> >
> >> I considered that but realize that pg_migrator has to read
> >> pg_controldata in both the old and new servers, meaning it would need
> >> access to both C structures, and considering they both have the same
> >> structure names, that would require some odd C tricks. Add to that you
> >> don't know which version of Postgres you are migrating from/to during
> >> compile and the idea of using C becomes even less attractive.
> >
> > However, keep in mind that this might not be the last time on which we
> > will want to read something from a C struct, so perhaps it would be good
> > to bite the bullet and write the odd tricks. Does it already have
> > access (at compile time) to the old and new source trees?
>
> I have some proof of concept when each control data struct version
> version have one header file like pg_control_843.h and structure like
> ControlFileData has name ControlFileData_843. The main pg_control.h
> defines types without version like
>
> typedef ControlFileData_843 ControlFileData;
>
> I planed to do it for 8.5 but unfortunately no time :( commit fest is
> too close.
Yea, I think the confusion of doing it isn't worth it.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +