Fix CREATE TABLE / LIKE with bigint identity column
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 7 Mar 2018 19:38:35 +0000 (14:38 -0500)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 13 Mar 2018 13:41:30 +0000 (09:41 -0400)
commit377b5ac4845c5ffbf992ee95c32d7d16d38b9081
tree1db979dde0c8843cd2c1bebbedf345744595edf8
parent1f8a3327a9db9a8a662fb39fdcde2337acffa68c
Fix CREATE TABLE / LIKE with bigint identity column

CREATE TABLE / LIKE with a bigint identity column would fail on
platforms where long is 32 bits.  Copying the sequence values used
makeInteger(), which would truncate the 64-bit sequence data to 32 bits.
To fix, use makeFloat() instead, like the parser.  (This does not
actually make use of floats, but stores the values as strings.)

Bug: #15096
Reviewed-by: Michael Paquier <michael@paquier.xyz>
src/backend/commands/sequence.c
src/test/regress/expected/create_table_like.out
src/test/regress/sql/create_table_like.sql