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