Re: pg_upgrade code questions
От | Bruce Momjian |
---|---|
Тема | Re: pg_upgrade code questions |
Дата | |
Msg-id | 201005140334.o4E3YW118110@momjian.us обсуждение исходный текст |
Ответ на | Re: pg_upgrade code questions (Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp>) |
Ответы |
Re: pg_upgrade code questions
|
Список | pgsql-hackers |
Takahiro Itagaki wrote: > > Bruce Momjian <bruce@momjian.us> wrote: > > > > >> ==== 2. extern PGDLLIMPORT ==== > > > >> pg_upgrade has own definitions of > > > >> extern PGDLLIMPORT Oid binary_upgrade_next_xxx > > > > > > > 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. > > I wonder some compilers or linkers might hide unexported global variables > from postgres.lib as if they are declared with 'static' specifiers. > I'm especially worried about Windows and MSVC. So, if Windows testers > can see it works, there was nothing to worry about. Yes, none of the variables pg_upgrade is referencing are 'static', and Magnus tested MSVC and checked MinGW compiles. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com
В списке pgsql-hackers по дате отправления: