From: | Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
Cc: | Ashutosh Bapat <ashutosh(dot)bapat(at)enterprisedb(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(at)2ndquadrant(dot)com>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, "Hou, Zhijie" <houzj(dot)fnst(at)cn(dot)fujitsu(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Improper use about DatumGetInt32 |
Date: | 2021-01-08 09:21:15 |
Message-ID: | c6eaa580-9f2e-f9d8-feb5-2b56db9d56f6@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2020-12-25 08:45, Michael Paquier wrote:
>> If we really think that we ought to differentiate, then we could do what
>> pg_stat_statement does, and have a separate C function that's called
>> with the obsolete signature (pg_stat_statements_1_8 et al).
> With the 1.8 flavor, it is possible to pass down a negative number
> and it may not fail depending on the number of blocks of the relation,
> so I think that you had better have a compatibility layer if a user
> has the new binaries but is still on 1.8. And that's surely a safe
> move.
I think on 64-bit systems it's actually safe, but on 32-bit systems
(with USE_FLOAT8_BYVAL), if you use the new binaries with the old
SQL-level definitions, you'd get the int4 that is passed in interpreted
as a pointer, which would lead to very bad things. So I think we need
to create new functions with a different C symbol. I'll work on that.
From | Date | Subject | |
---|---|---|---|
Next Message | Bharath Rupireddy | 2021-01-08 09:24:50 | Re: EXPLAIN/EXPLAIN ANALYZE REFRESH MATERIALIZED VIEW |
Previous Message | Amit Kapila | 2021-01-08 09:18:44 | Re: Parallel INSERT (INTO ... SELECT ...) |