File: casts_test.sql

package info (click to toggle)
pg-comparator 2.2.5-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 796 kB
  • ctags: 367
  • sloc: perl: 8,750; ansic: 457; sql: 66; makefile: 64
file content (37 lines) | stat: -rw-r--r-- 1,130 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
-- test bit and varbit to bytea

-- 80
SELECT 
  (VARBIT '1')::BYTEA, 
  (BIT '1')::BYTEA, 
  (VARBIT '1000')::BYTEA, 
  (BIT '1000')::BYTEA,
  (VARBIT '10000000')::BYTEA,
  (BIT '10000000')::BYTEA;

SELECT 
  (VARBIT '0100001101000001010011')::BYTEA AS "CAL",
  (VARBIT '0101011')::BYTEA AS "V",
  (VARBIT '010010010100111')::BYTEA AS "IN";

-- test bytea to bit and varbit
SELECT (BYTEA 'hello')::VARBIT AS "hello";
SELECT (BYTEA 'he')::VARBIT;
SELECT (BYTEA 'he')::BIT(4) AS "restricted bit(4)";
SELECT (BYTEA 'he')::BIT(12) AS "restricted bit(12)";
SELECT (BYTEA 'he')::BIT(16) AS "bit(16)";
SELECT (BYTEA 'he')::BIT(20) AS "expanded bit(20)";
SELECT (BYTEA 'he')::BIT(33) AS "expanded bit(33)";

-- bitwise operations
SELECT (BYTEA 'hello')::VARBIT & (BYTEA 'world')::VARBIT AS "hello & world";
SELECT (BYTEA 'hello')::BIT(40) & (BYTEA 'foo')::BIT(40) AS "hello & foo";
SELECT 
  DECODE(MD5('hello'),'hex')::VARBIT # DECODE(MD5('world'),'hex')::VARBIT
  AS "md5('hello') xor md5('world')";

-- should be found with implicit?
-- SELECT BYTEA 'hello' & BYTEA 'world';

-- no
-- SELECT (BYTEA 'he')::VARBIT(12) AS "varbit(12)";