Re: [PATCHES] [HACKERS] contrib/pg_buffercache
Mark Kirkwood wrote: So, please ignore my previous patch to the header file, and consider this one - which eliminates it completely. Thanks, applied. -Neil ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq
Re: [PATCHES] [HACKERS] contrib/pg_buffercache
Neil Conway wrote: Mark Kirkwood wrote: Great that it fixes it... however, I had submitted a tidier patch that puts the macro in the header How is this tidier? err... puts the macro in the header (I don't see a reason for pg_buffercache_pages.h at all, actually.) (chuckles) - well, that puts a different complexion on it, best leave it as is then! (in fact, feel free to move the declaration from pg_buffercache_pages.h to pg_buffercache_pages.c, and eliminate the header altogether) cheers Mark ---(end of broadcast)--- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq
Re: [PATCHES] [HACKERS] contrib/pg_buffercache
Mark Kirkwood wrote: Neil Conway wrote: Andrew Dunstan wrote: I have confirmed that the attached patch works on Cygwin as well as Windows. Please apply. Applied, thanks. Great that it fixes it... however, I had submitted a tidier patch that puts the macro in the header (probably after asking Andrew to test the first one, oops - sorry Andrew). I have tested it on win32 native. Do you want to back out the first one and use this instead? I didn't see the original of the later patch, which is why I sent in mine. I honestly don't care that much either way, although I'm inclined to agree that the header file is just unnecessary noise. cheers andrew ---(end of broadcast)--- TIP 7: don't forget to increase your free space map settings
Re: [PATCHES] [HACKERS] contrib/pg_buffercache
Andrew Dunstan wrote: I didn't see the original of the later patch, which is why I sent in mine. I honestly don't care that much either way, although I'm inclined to agree that the header file is just unnecessary noise. Well, looks like a strong feeling for no header :-). I didn't really think about *not* having one to be honest. So, anyway - instead of inviting Neil to spend valuable time eliminating it, I should do it myself... So, please ignore my previous patch to the header file, and consider this one - which eliminates it completely. best wishes Mark diff -Nacr pg_buffercache.orig/pg_buffercache_pages.c pg_buffercache/pg_buffercache_pages.c *** pg_buffercache.orig/pg_buffercache_pages.c Fri Apr 1 11:25:49 2005 --- pg_buffercache/pg_buffercache_pages.c Fri Apr 1 11:28:22 2005 *** *** 12,18 #include storage/buf_internals.h #include storage/bufmgr.h #include utils/relcache.h - #include pg_buffercache_pages.h #define NUM_BUFFERCACHE_PAGES_ELEM6 --- 12,17 *** *** 21,26 --- 20,27 extern DLLIMPORT BufferDesc *BufferDescriptors; extern DLLIMPORT volatile uint32 InterruptHoldoffCount; #endif + + Datum pg_buffercache_pages(PG_FUNCTION_ARGS); /* diff -Nacr pg_buffercache.orig/pg_buffercache_pages.h pg_buffercache/pg_buffercache_pages.h *** pg_buffercache.orig/pg_buffercache_pages.h Fri Apr 1 11:25:49 2005 --- pg_buffercache/pg_buffercache_pages.h Thu Jan 1 12:00:00 1970 *** *** 1,18 - /*- - * - * pg_buffercache_pages.h - *Prototypes for pg_buffercache_pages - * - * - *$PostgreSQL: pgsql/contrib/pg_buffercache/pg_buffercache_pages.h,v 1.1 2005/03/12 15:36:24 neilc Exp $ - * - *- - */ - - - #ifndef PG_BUFFERCACHE_PAGES_H - #define PG_BUFFERCACHE_PAGES_H - - extern Datum pg_buffercache_pages(PG_FUNCTION_ARGS); - - #endif /* PG_BUFFERCACHE_PAGES_H */ --- 0 ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://archives.postgresql.org
Re: [PATCHES] [HACKERS] contrib/pg_buffercache
I have confirmed that the attached patch works on Cygwin as well as Windows. Please apply. cheers andrew Andrew Dunstan wrote: It fixes the build error on Windows - haven't tried because i don't have time, but I know it won't work on Cygwin, because WIN32 isn't (usually) defined on Cygwin - see previous almost endless discussions. cheers andrew Mark Kirkwood wrote: Andrew Dunstan wrote: ... is apparently broken for Windows and Cygwin. See for example http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=lorisdt=2005-03-16%2001:55:33 Andrew, The attached patch seems to sort it for me, can you give it try on win32 and cygwin? cheers Mark Index: contrib/pg_buffercache/pg_buffercache_pages.c === RCS file: /home/cvsmirror/pgsql/contrib/pg_buffercache/pg_buffercache_pages.c,v retrieving revision 1.1 diff -c -r1.1 pg_buffercache_pages.c *** contrib/pg_buffercache/pg_buffercache_pages.c 12 Mar 2005 15:36:24 - 1.1 --- contrib/pg_buffercache/pg_buffercache_pages.c 30 Mar 2005 19:35:59 - *** *** 17,22 --- 17,27 #define NUM_BUFFERCACHE_PAGES_ELEM 6 + #if defined(WIN32) || defined(__CYGWIN__) + extern DLLIMPORT BufferDesc *BufferDescriptors; + extern DLLIMPORT volatile uint32 InterruptHoldoffCount; + #endif + /* * Record structure holding the to be exposed cache data. ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://archives.postgresql.org
Re: [PATCHES] [HACKERS] contrib/pg_buffercache
Neil Conway wrote: Andrew Dunstan wrote: I have confirmed that the attached patch works on Cygwin as well as Windows. Please apply. Applied, thanks. Great that it fixes it... however, I had submitted a tidier patch that puts the macro in the header (probably after asking Andrew to test the first one, oops - sorry Andrew). I have tested it on win32 native. Do you want to back out the first one and use this instead? regards Mark *** pg_buffercache_pages.h.orig Thu Mar 17 10:12:20 2005 --- pg_buffercache_pages.h Thu Mar 17 13:44:45 2005 *** *** 15,18 --- 15,24 extern Datum pg_buffercache_pages(PG_FUNCTION_ARGS); + /* A little hackery for Windows and Cygwin */ + #if defined (WIN32) || defined (__CYGWIN__) + extern DLLIMPORT BufferDesc *BufferDescriptors; + extern DLLIMPORT volatile uint32 InterruptHoldoffCount; + #endif + #endif /* PG_BUFFERCACHE_PAGES_H */ ---(end of broadcast)--- TIP 7: don't forget to increase your free space map settings
Re: [PATCHES] [HACKERS] contrib/pg_buffercache
Mark Kirkwood wrote: Great that it fixes it... however, I had submitted a tidier patch that puts the macro in the header How is this tidier? (I don't see a reason for pg_buffercache_pages.h at all, actually.) -Neil ---(end of broadcast)--- TIP 7: don't forget to increase your free space map settings
Re: [PATCHES] [HACKERS] contrib/pg_buffercache
Andrew Dunstan wrote: I have confirmed that the attached patch works on Cygwin as well as Windows. Please apply. Applied, thanks. -Neil ---(end of broadcast)--- TIP 8: explain analyze is your friend
Re: [PATCHES] [HACKERS] contrib/pg_buffercache
Andrew Dunstan wrote: It fixes the build error on Windows - haven't tried because i don't have time, but I know it won't work on Cygwin, because WIN32 isn't (usually) defined on Cygwin - see previous almost endless discussions. Yes - I recall that discussion a while ago. This patch should sort the issue. One question, should I be using defined(__MINGW32__) as opposed to defined(WIN32)? I figured I didn't as in this case it is not necessary to distinguish between native and cygwin. regards Mark *** pg_buffercache_pages.h.orig Thu Mar 17 10:12:20 2005 --- pg_buffercache_pages.h Thu Mar 17 13:44:45 2005 *** *** 15,18 --- 15,24 extern Datum pg_buffercache_pages(PG_FUNCTION_ARGS); + /* A little hackery for Windows and Cygwin */ + #if defined (WIN32) || defined (__CYGWIN__) + extern DLLIMPORT BufferDesc *BufferDescriptors; + extern DLLIMPORT volatile uint32 InterruptHoldoffCount; + #endif + #endif /* PG_BUFFERCACHE_PAGES_H */ ---(end of broadcast)--- TIP 6: Have you searched our list archives? http://archives.postgresql.org
Re: [PATCHES] [HACKERS] contrib/pg_buffercache
Mark Kirkwood wrote: Andrew Dunstan wrote: It fixes the build error on Windows - haven't tried because i don't have time, but I know it won't work on Cygwin, because WIN32 isn't (usually) defined on Cygwin - see previous almost endless discussions. Yes - I recall that discussion a while ago. This patch should sort the issue. One question, should I be using defined(__MINGW32__) as opposed to defined(WIN32)? I figured I didn't as in this case it is not necessary to distinguish between native and cygwin. You figured correctly. cheers andrew ---(end of broadcast)--- TIP 8: explain analyze is your friend