Re: suspicious pointer/integer coersion

From: Andrew Dunstan <andrew(at)dunslane(dot)net>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: suspicious pointer/integer coersion
Date: 2005-07-13 13:24:39
Message-ID: 42D51617.6050203@dunslane.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


This seems to have gone AWOL in the email ether, so I am resending.

-------- Original Message --------

Tom Lane wrote:

>Andrew Dunstan <andrew(at)dunslane(dot)net> writes:
>
>
>>I have just noticed this code in plperl.c:
>>
>>
>> hv_store(plperl_proc_hash, internal_proname, proname_len,
>> newSViv((IV) prodesc), 0);
>>
>>
>>basically, here prodesc is a pointer to a struct, and we are storing it
>>as an integer in a perl hash for easy lookup by stringified oid.
>>
>>How safe is this conversion on 64 bit platforms?
>>
>>
>
>Not at all. I'd vote for converting the whole thing to a dynahash
>hashtable ...
>
>
>

Further investigation yields this from the perlguts man page:

What is an "IV"?

Perl uses a special typedef IV which is a simple signed integer type
that is guaranteed to be large enough to hold a pointer (as well as
an integer).

So it looks like my original concern was unfounded. Sorry for the noise.
We now return you to your previous program ...

cheers

andrew

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2005-07-13 15:05:00 Re: [PATCHES] HEAD doesn't cope with libraries in non-default
Previous Message Richard Huxton 2005-07-13 13:02:47 Re: A Guide to Constraint Exclusion (Partitioning)