[HACKERS] PostgreSQL 9.4 InterlockedCompareExchange appearing in mingw64-w32 causing issue with PostGIS win32 load

2014-05-22 Thread Paragon Corporation
Not sure if people know this, but PostGIS windows builds are built with
mingw64-w32 and mingw64-w64 chains and usually used with EDB VC++ built
PostgreSQL. 
This is mostly because there is too much unix stuff ingrained in PostGIS
toolchain making it difficult to compile in VC++.

Anyrate this has worked fine in the past, but when I tried the mingw64-w32
build in the EDB PostgreSQL 9.4beta1 Windows 32, it failed to load.

The 64-bit chain still works fine and regresses fine against PostGIS tests.

I looked at dependency walker, and noticed what was additional in the mingw
postgres that couldn't be found in the 9.4beta1 EDB postgres was a function:

InterlockedCompareExchange@12


I'm pretty sure this must be something that has changed in 9.4 because I'm
using the same chain to build 9.3 for 32-bit and this 

InterlockedCompareExchange call doesn't exist in 9.3 (niether the ming
compiled or edb compiled)

I'm using mingw64-w32 gcc 4.8.0 rev2.  I have the same chain mingw64-w64 to
build the 64-bit.

The only place I could find reference to this function is in 

src\include\storage\s_lock.h

I have related PostGIS ticket here:

http://trac.osgeo.org/postgis/ticket/2746

Thanks,
Regina Obe





-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] relaying errors from background workers

2014-05-22 Thread Petr Jelinek

On 22/05/14 06:21, Robert Haas wrote:


The main thing I'm not sure about is how to format the message that we
write to the shm_mq.  One option is to try to use the good old FEBE
protocol.  This doesn't look entirely straightforward, because
send_message_to_frontend() assembles the message using pq_sendbyte()
and pq_sendstring(), and then sends it out to the client using
pq_endmessage() and pq_flush().  This infrastructure assumes that the
connection to the frontend is a socket.  It doesn't seem impossible to
kludge that infrastructure to be able to send to either a socket or a
shm_mq, but I'm not sure whether it's a good idea.  Alternatively, we
could devise some other message format specific to this problem; it
would probably look a lot like an ErrorData protocol message, but
maybe that's doesn't really matter.  Any thoughts?



I played with this a bit already and even have some (very much hacked 
up) prototype based on ErrorData as it seemed better solution than using 
sockets. Obviously some of the ErrorData fields don't really have 
meaning during transport (send_to_client for example) as those must be 
set based on the connection options and I didn't get to making this 
nicer yet.




Another thing to think about is that, most likely, many users of the
background worker facility will want to respond to a relayed error by
rethrowing it.  That means that whatever format we use to send the
error from one process to the other has to be able to be decoded by
the receiving process.  That process will probably want to do
something like add add a bit more to the context (e.g. in background
worker PID %d) and throw the resulting error preserving the rest of
the original fields.  I'm not sure exactly what make sense here, but
the point is that ideally the message format should be something that
the receiver can rethrow, possibly after tweaking it a bit.



This is one advantage of using ErrorData or ErrorData-like structure 
based messaging, rethrowing is simpler, but I guess if we really needed 
we could provide some conversion api.


One side effect of the rethrowing that maybe deserves a bit of thought 
is that we are going to log the same error from both bgworker and 
backend if we rethrow it.


--
 Petr Jelinek  http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] 9.5 commit fest schedule

2014-05-22 Thread Peter Eisentraut
For those who were not at the developer meeting, here is the commit fest
schedule for 9.5:

June 15
August 15
October 15
December 15
February 15

beta in June 2015

The obvious change is that there will be five commit fests instead of
four.  Also, the time between beta and release is planned to be a bit
shorter.

The first commit fest will continue to use the existing web app
(https://commitfest.postgresql.org/action/commitfest_view?id=22), while
the new one continues to be developed.

We need a volunteer to manage the first commit fest.


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] relaying errors from background workers

2014-05-22 Thread Robert Haas
On Thu, May 22, 2014 at 6:33 AM, Petr Jelinek p...@2ndquadrant.com wrote:
 On 22/05/14 06:21, Robert Haas wrote:
 The main thing I'm not sure about is how to format the message that we
 write to the shm_mq.  One option is to try to use the good old FEBE
 protocol.  This doesn't look entirely straightforward, because
 send_message_to_frontend() assembles the message using pq_sendbyte()
 and pq_sendstring(), and then sends it out to the client using
 pq_endmessage() and pq_flush().  This infrastructure assumes that the
 connection to the frontend is a socket.  It doesn't seem impossible to
 kludge that infrastructure to be able to send to either a socket or a
 shm_mq, but I'm not sure whether it's a good idea.  Alternatively, we
 could devise some other message format specific to this problem; it
 would probably look a lot like an ErrorData protocol message, but
 maybe that's doesn't really matter.  Any thoughts?

 I played with this a bit already and even have some (very much hacked up)
 prototype based on ErrorData as it seemed better solution than using
 sockets. Obviously some of the ErrorData fields don't really have meaning
 during transport (send_to_client for example) as those must be set based on
 the connection options and I didn't get to making this nicer yet.

I didn't mean the ErrorData structure that the backend uses
internally; it doesn't seem practical to use that because it contains
pointers.  Even if we stored all the data in the DSM (which seems
rather hard without a shared-memory allocator), it might not be mapped
at the same address in both backends.  I meant the libpq wire protocol
used to transmit errors to the client; I guess the message is actually
called ErrorResponse rather than ErrorData:

http://www.postgresql.org/docs/current/static/protocol-message-formats.html

ErrorResponse of course wouldn't contain anything like send_to_client,
as that's a server-internal thing.

 Another thing to think about is that, most likely, many users of the
 background worker facility will want to respond to a relayed error by
 rethrowing it.  That means that whatever format we use to send the
 error from one process to the other has to be able to be decoded by
 the receiving process.  That process will probably want to do
 something like add add a bit more to the context (e.g. in background
 worker PID %d) and throw the resulting error preserving the rest of
 the original fields.  I'm not sure exactly what make sense here, but
 the point is that ideally the message format should be something that
 the receiver can rethrow, possibly after tweaking it a bit.


 This is one advantage of using ErrorData or ErrorData-like structure based
 messaging, rethrowing is simpler, but I guess if we really needed we could
 provide some conversion api.

 One side effect of the rethrowing that maybe deserves a bit of thought is
 that we are going to log the same error from both bgworker and backend if we
 rethrow it.

Yeah, I'm not sure how to handle that.  It probably wouldn't be hard
to make the routine that re-throws the error suppress sending it to
the server log, but that could also be confusing if someone is trying
to follow the progress of a particular session.  Having the background
worker suppress sending it to the  log also seems bad; it has no
guarantee that it will successfully relay the message, or that the
recipient will re-throw it.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] 9.5 commit fest schedule

2014-05-22 Thread Abhijit Menon-Sen
At 2014-05-22 07:22:42 -0400, pete...@gmx.net wrote:

 We need a volunteer to manage the first commit fest.

I volunteer.

-- Abhijit


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] 9.5 commit fest schedule

2014-05-22 Thread Fabrízio de Royes Mello
Em quinta-feira, 22 de maio de 2014, Peter Eisentraut pete...@gmx.net
escreveu:

 For those who were not at the developer meeting, here is the commit fest
 schedule for 9.5:

 June 15
 August 15
 October 15
 December 15
 February 15

 beta in June 2015


Actually you meant:
June 14
August 14
October 14
December 14
February 15
Beta in June 2015

Ok?

Fabrízio Mello




-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
 Timbira: http://www.timbira.com.br
 Blog sobre TI: http://fabriziomello.blogspot.com
 Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
 Twitter: http://twitter.com/fabriziomello


Re: [HACKERS] 9.5 commit fest schedule

2014-05-22 Thread Heikki Linnakangas

On 05/22/2014 07:55 AM, Fabrízio de Royes Mello wrote:

Em quinta-feira, 22 de maio de 2014, Peter Eisentraut pete...@gmx.net
escreveu:


For those who were not at the developer meeting, here is the commit fest
schedule for 9.5:

June 15
August 15
October 15
December 15
February 15

beta in June 2015



Actually you meant:
June 14
August 14
October 14
December 14
February 15
Beta in June 2015

Ok?


No, those numbers are dates, not years:

June 15th, 2014
August 15th, 2014
October 15th, 2014
December 15th, 2014
February 15th, 2015

- Heikki


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] 9.5 commit fest schedule

2014-05-22 Thread Fabrízio de Royes Mello
Em quinta-feira, 22 de maio de 2014, Heikki Linnakangas 
hlinnakan...@vmware.com escreveu:

 On 05/22/2014 07:55 AM, Fabrízio de Royes Mello wrote:

 Em quinta-feira, 22 de maio de 2014, Peter Eisentraut pete...@gmx.net
 escreveu:

  For those who were not at the developer meeting, here is the commit fest
 schedule for 9.5:

 June 15
 August 15
 October 15
 December 15
 February 15

 beta in June 2015


  Actually you meant:
 June 14
 August 14
 October 14
 December 14
 February 15
 Beta in June 2015

 Ok?


 No, those numbers are dates, not years:

 June 15th, 2014
 August 15th, 2014
 October 15th, 2014
 December 15th, 2014
 February 15th, 2015


 Deadlines?

Fabrízio Mello


-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
 Timbira: http://www.timbira.com.br
 Blog sobre TI: http://fabriziomello.blogspot.com
 Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
 Twitter: http://twitter.com/fabriziomello


Re: [HACKERS] pg_upgrade fails: Mismatch of relation OID in database 8.4 - 9.3

2014-05-22 Thread Bruce Momjian
On Wed, May 21, 2014 at 04:37:13PM -0400, Bruce Momjian wrote:
 On Wed, May 21, 2014 at 04:23:34PM -0400, Tom Lane wrote:
  Bruce Momjian br...@momjian.us writes:
   On Wed, May 21, 2014 at 10:56:59AM -0600, Jeff Ross wrote:
   Yes, using 9.3's pg_dump of 8.4 and applying it to both an 8.4 and a
   9.3 cluster, the contact_email table now has toast in both 8.4 and
   9.3.
  
   So the big question is why doesn't the existing 8.4 table have a toast
   table?  Did you use pg_upgrade on the old cluster before, e.g. from 8.3?
  
  I have a vague recollection that we changed the calculations about whether
  a toast table would be needed, but I can't find it in the commit logs
  right now --- and anyway I think this was pre-8.4.
 
 The only item I can think of that would cause this is someone changing
 the length of a string.  Did someone modify pg_attribute directly to
 increase the length of one of the character columns?  
 
 I just tested ALTER TABLE in 8.4 and it does create a toast table for
 this case in 9.4:
 
   CREATE TABLE test (x CHAR(10));
   ALTER TABLE test ALTER COLUMN x TYPE CHAR(8000);

Has anyone changed the database encoding by modifying the system
catalogs?  That might cause the problem too.

Moving forward, I think you need to add a dummy column to each problem
table and drop the column  that will create a toast table and allow
you to do the upgrade.  I could have pg_upgrade detect this problem, but
until I know the cause, I don't think that is wise.

-- 
  Bruce Momjian  br...@momjian.ushttp://momjian.us
  EnterpriseDB http://enterprisedb.com

  + Everyone has their own god. +


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] 9.5 commit fest schedule

2014-05-22 Thread Tom Lane
=?UTF-8?Q?Fabr=C3=ADzio_de_Royes_Mello?= fabriziome...@gmail.com writes:
  Deadlines?

I think the plan is 1 month for each of the first 4 fests, and a bit more
for the last one (6-8 weeks maybe).

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.4 InterlockedCompareExchange appearing in mingw64-w32 causing issue with PostGIS win32 load

2014-05-22 Thread Tom Lane
Paragon Corporation l...@pcorp.us writes:
 Not sure if people know this, but PostGIS windows builds are built with
 mingw64-w32 and mingw64-w64 chains and usually used with EDB VC++ built
 PostgreSQL. 
 This is mostly because there is too much unix stuff ingrained in PostGIS
 toolchain making it difficult to compile in VC++.

 Anyrate this has worked fine in the past, but when I tried the mingw64-w32
 build in the EDB PostgreSQL 9.4beta1 Windows 32, it failed to load.

 The 64-bit chain still works fine and regresses fine against PostGIS tests.

 I looked at dependency walker, and noticed what was additional in the mingw
 postgres that couldn't be found in the 9.4beta1 EDB postgres was a function:

 InterlockedCompareExchange@12

 I'm pretty sure this must be something that has changed in 9.4 because I'm
 using the same chain to build 9.3 for 32-bit and this 
 InterlockedCompareExchange call doesn't exist in 9.3 (niether the ming
 compiled or edb compiled)

Hm.  s_lock.h does define TAS() in terms of InterlockedCompareExchange()
if WIN32_ONLY_COMPILER is defined ... but that code hasn't changed in
quite a long time.  It seems like the combination of an extension built
with WIN32_ONLY_COMPILER and a core built without that flag should never
have worked, if the core is what has to link in
InterlockedCompareExchange.

I wonder if there is something you're doing that results in inlining
a spinlock call given the 9.4 headers, but did not previously.  Can
you narrow down what part of your code is giving rise to the undefined
reference?

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] pg_upgrade fails: Mismatch of relation OID in database 8.4 - 9.3

2014-05-22 Thread Alvaro Herrera
Bruce Momjian wrote:

 Moving forward, I think you need to add a dummy column to each problem
 table and drop the column  that will create a toast table and allow
 you to do the upgrade.  I could have pg_upgrade detect this problem, but
 until I know the cause, I don't think that is wise.

Maybe --check mode could examine both clusters and see whether each
table having toast table or not matches.  That wouldn't solve the actual
problem but at least give a clue, instead of these very obscure
problems.

-- 
Álvaro Herrerahttp://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] pg_upgrade fails: Mismatch of relation OID in database 8.4 - 9.3

2014-05-22 Thread Tom Lane
Alvaro Herrera alvhe...@2ndquadrant.com writes:
 Bruce Momjian wrote:
 Moving forward, I think you need to add a dummy column to each problem
 table and drop the column  that will create a toast table and allow
 you to do the upgrade.  I could have pg_upgrade detect this problem, but
 until I know the cause, I don't think that is wise.

 Maybe --check mode could examine both clusters and see whether each
 table having toast table or not matches.  That wouldn't solve the actual
 problem but at least give a clue, instead of these very obscure
 problems.

Well, the case of not needing a toast table anymore is expected
(drop a wide column).  What we're scratching our heads over is the
other case.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] uuid-ossp (Re: [pgsql-packagers] Postgresapp 9.4 beta build ready)

2014-05-22 Thread Robert Haas
On Sun, May 18, 2014 at 12:28 AM, Tom Lane t...@sss.pgh.pa.us wrote:
 I was intending to draft something more self-contained to present to
 -hackers, but since this is where we're at ... the quoted material
 omits a couple of important points:

 (1) People had been working around uuid-ossp's issues on OS X by
 patching a #define _XOPEN_SOURCE into contrib/uuid-ossp/uuid-ossp.c.
 As of 9.4 this is no longer sufficient because we upgraded to autoconf
 2.69, which uses stricter testing for include-file validity than older
 versions did.  The test to see if uuid.h is available therefore fails,
 unless that #define is also patched into the configure script.  In any
 case #define _XOPEN_SOURCE has enough potential implications that
 this doesn't seem like a very recommendable solution.

 (2) Palle's patch mentioned above can be seen here:
 http://svnweb.freebsd.org/ports/head/databases/postgresql93-server/files/patch-contrib-uuid?revision=348732view=markup
 Basically it jacks up contrib/uuid-ossp and rolls the BSD uuid functions
 underneath.  It looks like this is based on work by Andrew Gierth.

 So, having seen that proof-of-concept, I'm wondering if we shouldn't make
 an effort to support contrib/uuid-ossp with a choice of UUID libraries
 underneath it.  There is a non-OSSP set of UUID library functions
 available on Linux (libuuid from util-linux-ng).  I don't know whether
 that's at all compatible with the BSD functions, but even if it's not,
 presumably a shim for it wouldn't be much larger than the BSD patch.

Well, if you want to do the work, I'm fine with that.  But if you want
to just shoot uuid-ossp in the head, I'm fine with that, too.  As
Peter says, perfectly reasonable alternatives are available.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] uuid-ossp (Re: [pgsql-packagers] Postgresapp 9.4 beta build ready)

2014-05-22 Thread Tom Lane
Robert Haas robertmh...@gmail.com writes:
 On Sun, May 18, 2014 at 12:28 AM, Tom Lane t...@sss.pgh.pa.us wrote:
 So, having seen that proof-of-concept, I'm wondering if we shouldn't make
 an effort to support contrib/uuid-ossp with a choice of UUID libraries
 underneath it.  There is a non-OSSP set of UUID library functions
 available on Linux (libuuid from util-linux-ng).  I don't know whether
 that's at all compatible with the BSD functions, but even if it's not,
 presumably a shim for it wouldn't be much larger than the BSD patch.

 Well, if you want to do the work, I'm fine with that.  But if you want
 to just shoot uuid-ossp in the head, I'm fine with that, too.  As
 Peter says, perfectly reasonable alternatives are available.

Well, *I* don't want to do that work.  I was hoping to find a volunteer,
but the silence has been notable.  I think deprecation is the next step.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] pg_upgrade fails: Mismatch of relation OID in database 8.4 - 9.3

2014-05-22 Thread Jeff Ross


On 5/21/14, 2:37 PM, Bruce Momjian wrote:


On Wed, May 21, 2014 at 04:23:34PM -0400, Tom Lane wrote:

Bruce Momjian br...@momjian.us writes:

On Wed, May 21, 2014 at 10:56:59AM -0600, Jeff Ross wrote:

Yes, using 9.3's pg_dump of 8.4 and applying it to both an 8.4 and a
9.3 cluster, the contact_email table now has toast in both 8.4 and
9.3.



So the big question is why doesn't the existing 8.4 table have a toast
table?  Did you use pg_upgrade on the old cluster before, e.g. from 8.3?


I have a vague recollection that we changed the calculations about whether
a toast table would be needed, but I can't find it in the commit logs
right now --- and anyway I think this was pre-8.4.


The only item I can think of that would cause this is someone changing
the length of a string.  Did someone modify pg_attribute directly to
increase the length of one of the character columns?



I don't know, sorry.


I just tested ALTER TABLE in 8.4 and it does create a toast table for
this case in 9.4:

CREATE TABLE test (x CHAR(10));
ALTER TABLE test ALTER COLUMN x TYPE CHAR(8000);

I just tried this on the problem table and it did indeed create a toast 
table.


I then retried pg_upgrade and it failed with the same problem on a 
different table in the same database.  Of the 67 databases in the 8.4 
cluster, 5 (so far) have had this problem on at least one table.


Jeff


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.4 InterlockedCompareExchange appearing in mingw64-w32 causing issue with PostGIS win32 load

2014-05-22 Thread Paragon Corporation

 Hm.  s_lock.h does define TAS() in terms of InterlockedCompareExchange()
if WIN32_ONLY_COMPILER is defined ... but that code hasn't changed in quite
a long time.  It 
 seems like the combination of an extension built with WIN32_ONLY_COMPILER
and a core built without that flag should never have worked, if the core is
what has to link 
 in InterlockedCompareExchange.

 I wonder if there is something you're doing that results in inlining a
spinlock call given the 9.4 headers, but did not previously.  Can you narrow
down what part of 
 your code is giving rise to the undefined reference?

   regards, tom lane

Tom,

Does it with all extensions, not just PostGIS (before I could swap between
say for example hstore mingw compiled and VC compiled and had no issue).
The Load function as you guessed shows in the extension .dll postgres.exe
reference but not clear where to tell where that is coming thru.  

I'm compiling PostgreSQL the same way in both 9.3 and 9.4:

With something that looks like this:
export MINGHOST=i686-w64-mingw32
PG_VER=9.4

./configure --prefix=${PROJECTS}/postgresql/rel/pg${PG_VER}\
 --build=${MINGHOST} \
 --with-pgport=8443 --disable-float8-byval --enable-cassert
--enable-debug \
 --enable-integer-datetimes --without-zlib


With just the PG_VER being different.

What I did notice is that in 9.3, the config.log shows this for 

9.4:
LDFLAGS=-Wl,--allow-multiple-definition -Wl,--disable-auto-import
-Wl,--as-needed


and
9.3:
LDFLAGS=-Wl,--allow-multiple-definition  -Wl,--as-needed

You know what would cause those to change between versions?


I thought maybe the --disable-auto-import was doing something.

I'm trying to override the flag now to see if it makes a difference, but
having difficulty changing what I am seeing in the config.log

When I do any of the below:
export LDFLAGS=-Wl,--allow-multiple-definition -Wl,--enable-auto-import
-Wl,--as-needed
export LDFLAGS=-Wl,--allow-multiple-definition -Wl,--enable-auto-import
-Wl,--as-needed
export LDFLAGS=-Wl,--allow-multiple-definition  -Wl,--as-needed

Thanks,
Regina




-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] uuid-ossp (Re: [pgsql-packagers] Postgresapp 9.4 beta build ready)

2014-05-22 Thread Matteo Beccati
On 22/05/2014 17:07, Tom Lane wrote:
 Robert Haas robertmh...@gmail.com writes:
 On Sun, May 18, 2014 at 12:28 AM, Tom Lane t...@sss.pgh.pa.us wrote:
 So, having seen that proof-of-concept, I'm wondering if we shouldn't make
 an effort to support contrib/uuid-ossp with a choice of UUID libraries
 underneath it.  There is a non-OSSP set of UUID library functions
 available on Linux (libuuid from util-linux-ng).  I don't know whether
 that's at all compatible with the BSD functions, but even if it's not,
 presumably a shim for it wouldn't be much larger than the BSD patch.
 
 Well, if you want to do the work, I'm fine with that.  But if you want
 to just shoot uuid-ossp in the head, I'm fine with that, too.  As
 Peter says, perfectly reasonable alternatives are available.
 
 Well, *I* don't want to do that work.  I was hoping to find a volunteer,
 but the silence has been notable.  I think deprecation is the next step.

This sounds an easy enough task to try and submit a patch, if I'm able
to allocate enough time to work on it.

I have successfully compiled the extension on a NetBSD box using a
slightly modified version of Palle's patch. I have a few doubts though:

- should we keep the extension name? If not, what would be the plan?
- the patch also uses BSD's own md5 and sha1 implementations: for md5 I
should be able to use pg's own core version, but I'm not sure about
sha1, as it lives in pgcrypto. Any suggestion?


Cheers
-- 
Matteo Beccati

Development  Consulting - http://www.beccati.com/


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] uuid-ossp (Re: [pgsql-packagers] Postgresapp 9.4 beta build ready)

2014-05-22 Thread Robert Haas
On Thu, May 22, 2014 at 11:07 AM, Tom Lane t...@sss.pgh.pa.us wrote:
 Robert Haas robertmh...@gmail.com writes:
 On Sun, May 18, 2014 at 12:28 AM, Tom Lane t...@sss.pgh.pa.us wrote:
 So, having seen that proof-of-concept, I'm wondering if we shouldn't make
 an effort to support contrib/uuid-ossp with a choice of UUID libraries
 underneath it.  There is a non-OSSP set of UUID library functions
 available on Linux (libuuid from util-linux-ng).  I don't know whether
 that's at all compatible with the BSD functions, but even if it's not,
 presumably a shim for it wouldn't be much larger than the BSD patch.

 Well, if you want to do the work, I'm fine with that.  But if you want
 to just shoot uuid-ossp in the head, I'm fine with that, too.  As
 Peter says, perfectly reasonable alternatives are available.

 Well, *I* don't want to do that work.  I was hoping to find a volunteer,
 but the silence has been notable.  I think deprecation is the next step.

If we can't get it fixed up, I think we should remove it outright.  If
we merely deprecate it, then either people will still be trying to
build and package it (in which case we haven't solved any problem), or
we'll never get around to really removing it, or both.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] -DDISABLE_ENABLE_ASSERT

2014-05-22 Thread Andres Freund
Hi,

Since there seem to be multiple static checkers (coverity, clang
checker) having problems with assert_enabled can we just optionally
disable it?
I am thinking of replacing it by a AssertionsEnabled() macro which then
is unconditionally defined when DISABLE_ENABLE_ASSERT is defined.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] -DDISABLE_ENABLE_ASSERT

2014-05-22 Thread Robert Haas
On Thu, May 22, 2014 at 4:31 PM, Andres Freund and...@2ndquadrant.com wrote:
 Since there seem to be multiple static checkers (coverity, clang
 checker) having problems with assert_enabled can we just optionally
 disable it?
 I am thinking of replacing it by a AssertionsEnabled() macro which then
 is unconditionally defined when DISABLE_ENABLE_ASSERT is defined.

Uh, probably.  But I think you need a better name; specifically, one
that doesn't contain two words which are antonyms.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] -DDISABLE_ENABLE_ASSERT

2014-05-22 Thread Tom Lane
Andres Freund and...@2ndquadrant.com writes:
 Since there seem to be multiple static checkers (coverity, clang
 checker) having problems with assert_enabled can we just optionally
 disable it?
 I am thinking of replacing it by a AssertionsEnabled() macro which then
 is unconditionally defined when DISABLE_ENABLE_ASSERT is defined.

We could do that ... but I wonder if we shouldn't remove assert_enabled
altogether.  What's the use case for turning it off?  Not matching the
speed of a non-cassert build, because for instance MEMORY_CONTEXT_CHECKING
doesn't get turned off.

If we went this direction I'd suggest keeping the GUC but turning it into
a read-only report of whether the backend was compiled with assertions.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] -DDISABLE_ENABLE_ASSERT

2014-05-22 Thread Andres Freund
On 2014-05-22 16:37:35 -0400, Tom Lane wrote:
 Andres Freund and...@2ndquadrant.com writes:
  Since there seem to be multiple static checkers (coverity, clang
  checker) having problems with assert_enabled can we just optionally
  disable it?
  I am thinking of replacing it by a AssertionsEnabled() macro which then
  is unconditionally defined when DISABLE_ENABLE_ASSERT is defined.
 
 We could do that ... but I wonder if we shouldn't remove assert_enabled
 altogether.  What's the use case for turning it off?  Not matching the
 speed of a non-cassert build, because for instance MEMORY_CONTEXT_CHECKING
 doesn't get turned off.

I've used it once or twice to avoid having to recompile postgres when I
wanted things not to be *that* slow (AtEOXactBuffers() I am looking at
you). But I wouldn't be very sad if it'd go.

Anybody against that?

 If we went this direction I'd suggest keeping the GUC but turning it into
 a read-only report of whether the backend was compiled with assertions.

Yes, that makes sense.

Greetings,

Andres Freund

-- 
 Andres Freund http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] -DDISABLE_ENABLE_ASSERT

2014-05-22 Thread Alvaro Herrera
Andres Freund wrote:
 On 2014-05-22 16:37:35 -0400, Tom Lane wrote:

  We could do that ... but I wonder if we shouldn't remove assert_enabled
  altogether.  What's the use case for turning it off?  Not matching the
  speed of a non-cassert build, because for instance MEMORY_CONTEXT_CHECKING
  doesn't get turned off.
 
 I've used it once or twice to avoid having to recompile postgres when I
 wanted things not to be *that* slow (AtEOXactBuffers() I am looking at
 you). But I wouldn't be very sad if it'd go.
 
 Anybody against that?

I have used it too (for a different reason IIRC), but like you I
wouldn't have a problem if it weren't there.

-- 
Álvaro Herrerahttp://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] 9.4 release notes

2014-05-22 Thread Tomonari Katsumata

Hi,

I have two comments about 9.4 release notes.

1. typo
Pg_upgrade now uses -U to specify the user name (Bruce Momjian)

It should be pg_upgrade.

2. undesirable link
Allow pg_recvlogical to receive data logical decoding data (Andres Freund)

The term of pg_recvlogical jumps to a page of pg_receivexlog.
It should jump to pg_recvlogical(app-pgrecvlogical.html).

regards,

Tomonari Katsumata




--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] Congrats Andres Freund, the newest PostgreSQL Commiter!

2014-05-22 Thread Fabrízio de Royes Mello
Hi All,

At the Developer Meeting that occurred 21th May 2014 was announced a new
PostgreSQL commiter [1], Mr. Andres Freund.

I had the opportunity to work and be mentored by him. He deserves very much
this confidence, for the excellent work that has been doing for the
community.

Thank you and Congrats Andres!


[1]
https://wiki.postgresql.org/wiki/PgCon_2014_Developer_Meeting#New_Committer

-- 
Fabrízio de Royes Mello
Consultoria/Coaching PostgreSQL
 Timbira: http://www.timbira.com.br
 Blog sobre TI: http://fabriziomello.blogspot.com
 Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
 Twitter: http://twitter.com/fabriziomello


Re: [HACKERS] Congrats Andres Freund, the newest PostgreSQL Commiter!

2014-05-22 Thread Michael Paquier
On Fri, May 23, 2014 at 11:24 AM, Fabrízio de Royes Mello
fabriziome...@gmail.com wrote:
 Thank you and Congrats Andres!
+1.
-- 
Michael


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Congrats Andres Freund, the newest PostgreSQL Commiter!

2014-05-22 Thread David Fetter
On Thu, May 22, 2014 at 11:24:47PM -0300, Fabrízio de Royes Mello wrote:
 Hi All,
 
 At the Developer Meeting that occurred 21th May 2014 was announced a new
 PostgreSQL commiter [1], Mr. Andres Freund.
 
 I had the opportunity to work and be mentored by him. He deserves very much
 this confidence, for the excellent work that has been doing for the
 community.
 
 Thank you and Congrats Andres!

Congratulations, Andres!

Cheers,
David.
-- 
David Fetter da...@fetter.org http://fetter.org/
Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter
Skype: davidfetter  XMPP: david.fet...@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics

Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Congrats Andres Freund, the newest PostgreSQL Commiter!

2014-05-22 Thread Atri Sharma
Congrats Andres!


On Fri, May 23, 2014 at 7:54 AM, Fabrízio de Royes Mello 
fabriziome...@gmail.com wrote:

 Hi All,

 At the Developer Meeting that occurred 21th May 2014 was announced a new
 PostgreSQL commiter [1], Mr. Andres Freund.

 I had the opportunity to work and be mentored by him. He deserves very
 much this confidence, for the excellent work that has been doing for the
 community.

 Thank you and Congrats Andres!


 [1]
 https://wiki.postgresql.org/wiki/PgCon_2014_Developer_Meeting#New_Committer

 --
 Fabrízio de Royes Mello
 Consultoria/Coaching PostgreSQL
  Timbira: http://www.timbira.com.br
  Blog sobre TI: http://fabriziomello.blogspot.com
  Perfil Linkedin: http://br.linkedin.com/in/fabriziomello
  Twitter: http://twitter.com/fabriziomello




-- 
Regards,

Atri
*l'apprenant*