File: money.out

package info (click to toggle)
postgresql-rum 1.3.14-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,956 kB
  • sloc: ansic: 29,184; sql: 6,614; perl: 546; python: 97; makefile: 68; sh: 64
file content (80 lines) | stat: -rw-r--r-- 1,677 bytes parent folder | download | duplicates (4)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
set enable_seqscan=off;
CREATE TABLE test_money (
	i money
);
INSERT INTO test_money VALUES ('-2'),('-1'),('0'),('1'),('2'),('3');
CREATE INDEX idx_money ON test_money USING rum (i);
SELECT * FROM test_money WHERE i<'1'::money ORDER BY i;
   i    
--------
 -$2.00
 -$1.00
  $0.00
(3 rows)

SELECT * FROM test_money WHERE i<='1'::money ORDER BY i;
   i    
--------
 -$2.00
 -$1.00
  $0.00
  $1.00
(4 rows)

SELECT * FROM test_money WHERE i='1'::money ORDER BY i;
   i   
-------
 $1.00
(1 row)

SELECT * FROM test_money WHERE i>='1'::money ORDER BY i;
   i   
-------
 $1.00
 $2.00
 $3.00
(3 rows)

SELECT * FROM test_money WHERE i>'1'::money ORDER BY i;
   i   
-------
 $2.00
 $3.00
(2 rows)

EXPLAIN (costs off)
SELECT *, i <=> 0::money FROM test_money ORDER BY i <=> 0::money;
                QUERY PLAN                
------------------------------------------
 Index Scan using idx_money on test_money
   Order By: (i <=> (0)::money)
(2 rows)

SELECT *, i <=> 0::money FROM test_money ORDER BY i <=> 0::money;
   i    | ?column? 
--------+----------
  $0.00 |        0
 -$1.00 |      100
  $1.00 |      100
 -$2.00 |      200
  $2.00 |      200
  $3.00 |      300
(6 rows)

EXPLAIN (costs off)
SELECT *, i <=> 1::money FROM test_money WHERE i<1::money ORDER BY i <=> 1::money;
                QUERY PLAN                
------------------------------------------
 Index Scan using idx_money on test_money
   Index Cond: (i < (1)::money)
   Order By: (i <=> (1)::money)
(3 rows)

SELECT *, i <=> 1::money FROM test_money WHERE i<1::money ORDER BY i <=> 1::money;
   i    | ?column? 
--------+----------
  $0.00 |      100
 -$1.00 |      200
 -$2.00 |      300
(3 rows)