set enable_vector_engine=on;
-- problem:
-- system function log2() has some defacts. when passed the special value 0x8000000000000002,
-- incorrect value is returned. we have to fix the returned value.
-- but we only concern how many bytes is used to hold the diff value, not exlcuding how many bits.
-- so rewrite function SetDeltaBitsAndBytes() and rename it
CREATE TABLE cstore_log2_error
(
a int,
b bigint
) with (orientation = column) ;
COPY cstore_log2_error FROM '@abs_srcdir@/data/cstore_log2_error.data' delimiter '|';
SELECT * FROM cstore_log2_error ORDER BY 1, 2;
a | b
---+----------------------
1 | -9223372036854775808
1 | -9223372036854775808
1 | -9223372036854775808
1 | -9223372036854775808
1 | -9223372036854775808
1 | -9223372036854775808
1 | -9223372036854775808
1 | -9223372036854775807
1 | -9223372036854775807
1 | -9223372036854775807
1 | -9223372036854775807
1 | -9223372036854775807
1 | -9223372036854775807
1 | -9223372036854775807
1 | -9223372036854775807
1 | -9223372036854775807
1 | -9223372036854775807
1 | -9223372036854775807
1 | 3
1 | 3
1 | 3
1 | 3
1 | 9223372036854775807
1 | 9223372036854775807
1 | 9223372036854775807
1 | 9223372036854775807
1 | 9223372036854775807
1 | 9223372036854775807
1 | 9223372036854775807
1 | 9223372036854775807
(30 rows)
DROP TABLE cstore_log2_error;