Tom Lane wrote:
> Bruce Momjian <bruce@momjian.us> writes:
> > Takahiro Itagaki wrote:
> >> ==== 2. extern PGDLLIMPORT ====
> >> pg_upgrade has own definitions of
> >> extern PGDLLIMPORT Oid binary_upgrade_next_xxx
> >> in pg_upgrade_sysoids.c. But those variables are not declared as
> >> PGDLLIMPORT in the core. Can we access unexported variables here?
>
> > The issue here is that you use PGDLLIMPORT where you are importing the
> > variable, not where it is defined. For example, look at
> > 'seq_page_cost'. You can see PGDLLIMPORT used where it is imported with
> > 'extern', but not where is it defined.
>
> Right. Also we are intentionally not exposing those variables in any
> backend .h file, because they are not meant for general use. So the
> "extern PGDLLIMPORT" isn't going to be in the main backend and has to
> be in pg_upgrade. This was discussed awhile ago when we put in those
> variables, I believe.
Yes, this was discussed.
-- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB
http://enterprisedb.com