> On Tue, 6 Nov 2018 at 10:19, Higuchi, Daisuke 
> <higuchi.dais...@jp.fujitsu.com> wrote:
>
> Thank you for checking!
> I rebased patches on the current master, so I attach them.

After adding 'EXEC SQL ALLOCATE DESCRIPTOR sqlda' I've managed to reproduce the
problem you're talking about, and indeed it looks strange:

=# table testtab ;
   c1
---------
1.23456
0.12345
0.01234
(3 rows)

but in ecpg program we've got from gdb:

# for the second record 0.12345
$$1 = {
  ndigits = 5,
  weight = -1,
  rscale = 5,
  dscale = 5,
  sign = 0,
  buf = 0x5555557636d8 "",
  digits = 0x5555557636da "\001\002\003\004"
}

# for the third record 0.01234
$$0 = {
  ndigits = 4,
  weight = -2,
  rscale = 5,
  dscale = 5,
  sign = 0,
  buf = 0x555555763578 "",
  digits = 0x55555576357b "\001\002"
}

Also what's strange for me is that after applying your patches I still got the
same output, not sure why:

    ./numeric_test
    ndigits :6
    buf     :0   1   2   3   4   5   6
    digits  :1   2   3   4   5   6
    numeric :1.23456
    ----------------------------
    ndigits :5
    buf     :0   0   1   2   3   4   0
    digits  :1   2   3   4   0
    numeric :0.12340
    ----------------------------
    ndigits :4
    buf     :0   0   0   1   2   0   0
    digits  :1   2   0   0
    numeric :0.01200
    ----------------------------

Reply via email to