+1, I also think that we may not change the previous behavior of plpython.
@Nikita Glukhov maybe we just check the whether pyobject is int or long only in related conversion functions, and fallback otherwise?
On Fri, Jul 13, 2018 at 12:09 AM Heikki Linnakangas <hlinnaka@iki.fi> wrote:
On 12/07/18 18:06, Nikita Glukhov wrote: > I have added some cross-type test cases and now almost all new code is covered > (excluding several error cases which can be triggered only by custom numeric > type implementations).
Thanks! Some of those new tests actually fail, if you run them against unpatched master. For example:
SELECT * FROM test_type_conversion_float8_int2(100::float8); INFO: (100.0, <type 'float'>) - test_type_conversion_float8_int2 ----------------------------------- - 100 -(1 row) - +ERROR: invalid input syntax for integer: "100.0" +CONTEXT: while creating return value +PL/Python function "test_type_conversion_float8_int2"
So this patch is making some subtle changes to behavior. I don't think we want that.