| 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: | Whole Thread | Raw Message | 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
| 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) |