Re: [PATCH] binary heap implementation - Mailing list pgsql-hackers

From Robert Haas
Subject Re: [PATCH] binary heap implementation
Date
Msg-id CA+TgmoYPWnpFnh2CSW_J4i4Mritb97E6ZUJOGW_SuyF-UKZD1w@mail.gmail.com
Whole thread Raw
In response to Re: [PATCH] binary heap implementation  (Abhijit Menon-Sen <ams@2ndQuadrant.com>)
Responses Re: [PATCH] binary heap implementation  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On Thu, Nov 15, 2012 at 8:56 PM, Abhijit Menon-Sen <ams@2ndquadrant.com> wrote:
> [ new patch ]

I went over this again today with a view to getting it committed, but
discovered some compiler warnings that look like this:

warning: cast to pointer from integer of different size

The problem seems to be that the binary heap implementation wants the
key and value to be a void *, but the way it's being used in
nodeMergeAppend.c the value is actually an int.  I don't think we want
to commit a binary heap implementation which has an impedance mismatch
of this type with its only client.  The obvious solution seems to be
to make the key and value each a Datum, and then clients can use
WhateverGetDatum and DatumGetWhatever to pass whatever built-in data
type they happen to have.  I'm trying that approach now and will post
an updated patch based on that approach if it seems to work OK and
nobody suggests something better between now and then.

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



pgsql-hackers by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: review: Reduce palloc's in numeric operations
Next
From: Simon Riggs
Date:
Subject: Re: Dumping an Extension's Script