Re: [HACKERS] T_Float morph to T_Integer after nodeRead

2017-01-05 Thread Kouhei Kaigai
> Kouhei Kaigai writes: > > Simplified description of what I did is: > > fval = makeFloat(psprintf("%.0f", plan_nrows)); > > custom_scan->custom_private = list_make1(fval); > > So don't do that. The lexer would never produce T_Float for an > integer-looking string, so

Re: [HACKERS] T_Float morph to T_Integer after nodeRead

2017-01-05 Thread Tom Lane
Kouhei Kaigai writes: > Simplified description of what I did is: > fval = makeFloat(psprintf("%.0f", plan_nrows)); > custom_scan->custom_private = list_make1(fval); So don't do that. The lexer would never produce T_Float for an integer-looking string, so I think it's

[HACKERS] T_Float morph to T_Integer after nodeRead

2017-01-05 Thread Kouhei Kaigai
I noticed a strange behavior when T_Float value is serialized, then deserialized on the worker process for cpu parallel execution. Simplified description of what I did is: fval = makeFloat(psprintf("%.0f", plan_nrows)); custom_scan->custom_private = list_make1(fval); This string expression