-- bigbase36 conversion should encode integer; SELECT 120::bigint::bigbase36; bigbase36 ----------- 3c (1 row) -- bigbase36 conversion should decode text; SELECT '3c'::bigbase36::bigint; int8 ------ 120 (1 row) -- bigbase36 conversion should error to big values; SELECT '3caaaaaaaaaaaaa'::bigbase36::bigint; ERROR: value "3caaaaaaaaaaaaa" is out of range for type bigbase36 LINE 1: SELECT '3caaaaaaaaaaaaa'::bigbase36::bigint; ^ -- bigbase36 conversion should cast big bigbase36 values; SELECT '1y2p0ij32e8e7'::bigbase36::bigint; int8 --------------------- 9223372036854775807 (1 row) -- bigbase36 conversion should cast big bigint values; SELECT 9223372036854775807::bigbase36; bigbase36 --------------- 1y2p0ij32e8e7 (1 row) -- bigbase36 conversion should error to big values; SELECT '1y2p0ij32e8e8'::bigbase36::bigint; ERROR: value "1y2p0ij32e8e8" is out of range for type bigbase36 LINE 1: SELECT '1y2p0ij32e8e8'::bigbase36::bigint; ^ -- bigbase36 conversion should error invalid values; SELECT '3&'::bigbase36::bigint; ERROR: value "&" is not a valid digit for type bigbase36 LINE 1: SELECT '3&'::bigbase36::bigint; ^ -- bigbase36 comparison should compare using >; SELECT 'a'::bigbase36 > 'b'::bigbase36; ?column? ---------- f (1 row) -- bigbase36 comparison should compare using <; SELECT 'a'::bigbase36 < 'b'::bigbase36; ?column? ---------- t (1 row) -- bigbase36 negative values should convert from base36; SELECT '-zik0zj'::bigbase36::bigint; int8 ------------- -2147483647 (1 row) -- bigbase36 negative values should convert from ints; SELECT '-2147483647'::bigint::bigbase36; bigbase36 ----------- -zik0zj (1 row)