PL/Python: Simplify PLyLong_FromInt64
We don't actually need two code paths, one for 32 bits and one for 64 bits. Since the existing code already assumed that "long long" is available, we can just use PyLong_FromLongLong() for 64 bits as well. In Python 2.5 and later, PyLong_FromLong() and PyLong_FromLongLong() use the same code, so there will be no difference for 64-bit platforms. In Python 2.4, the code is different, but performance testing showed no noticeable difference in PL/Python, and that Python version is ancient anyway. Discussion: https://www.postgresql.org/message-id/0a02203c-e157-55b2-464e-6087066a1849@2ndquadrant.com
This commit is contained in:
parent
2f17844104
commit
eee50a8d4c
@ -618,11 +618,7 @@ PLyInt_FromInt32(PLyDatumToOb *arg, Datum d)
|
||||
static PyObject *
|
||||
PLyLong_FromInt64(PLyDatumToOb *arg, Datum d)
|
||||
{
|
||||
/* on 32 bit platforms "long" may be too small */
|
||||
if (sizeof(int64) > sizeof(long))
|
||||
return PyLong_FromLongLong(DatumGetInt64(d));
|
||||
else
|
||||
return PyLong_FromLong(DatumGetInt64(d));
|
||||
return PyLong_FromLongLong(DatumGetInt64(d));
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
|
Loading…
x
Reference in New Issue
Block a user