summaryrefslogtreecommitdiffstats
path: root/src/test/regress/expected/dbsize.out
blob: 29804aee8b801f8a0ab612548067b63384d5c8b5 (plain)
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM
    (VALUES (10::bigint), (1000::bigint), (1000000::bigint),
            (1000000000::bigint), (1000000000000::bigint),
            (1000000000000000::bigint)) x(size);
       size       | pg_size_pretty | pg_size_pretty 
------------------+----------------+----------------
               10 | 10 bytes       | -10 bytes
             1000 | 1000 bytes     | -1000 bytes
          1000000 | 977 kB         | -977 kB
       1000000000 | 954 MB         | -954 MB
    1000000000000 | 931 GB         | -931 GB
 1000000000000000 | 909 TB         | -909 TB
(6 rows)

SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM
    (VALUES (10::numeric), (1000::numeric), (1000000::numeric),
            (1000000000::numeric), (1000000000000::numeric),
            (1000000000000000::numeric),
            (10.5::numeric), (1000.5::numeric), (1000000.5::numeric),
            (1000000000.5::numeric), (1000000000000.5::numeric),
            (1000000000000000.5::numeric)) x(size);
        size        | pg_size_pretty | pg_size_pretty 
--------------------+----------------+----------------
                 10 | 10 bytes       | -10 bytes
               1000 | 1000 bytes     | -1000 bytes
            1000000 | 977 kB         | -977 kB
         1000000000 | 954 MB         | -954 MB
      1000000000000 | 931 GB         | -931 GB
   1000000000000000 | 909 TB         | -909 TB
               10.5 | 10.5 bytes     | -10.5 bytes
             1000.5 | 1000.5 bytes   | -1000.5 bytes
          1000000.5 | 977 kB         | -977 kB
       1000000000.5 | 954 MB         | -954 MB
    1000000000000.5 | 931 GB         | -931 GB
 1000000000000000.5 | 909 TB         | -909 TB
(12 rows)

-- test where units change up
SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM
    (VALUES (10239::bigint), (10240::bigint),
            (10485247::bigint), (10485248::bigint),
            (10736893951::bigint), (10736893952::bigint),
            (10994579406847::bigint), (10994579406848::bigint),
            (11258449312612351::bigint), (11258449312612352::bigint)) x(size);
       size        | pg_size_pretty | pg_size_pretty 
-------------------+----------------+----------------
             10239 | 10239 bytes    | -10239 bytes
             10240 | 10 kB          | -10 kB
          10485247 | 10239 kB       | -10239 kB
          10485248 | 10 MB          | -10 MB
       10736893951 | 10239 MB       | -10239 MB
       10736893952 | 10 GB          | -10 GB
    10994579406847 | 10239 GB       | -10239 GB
    10994579406848 | 10 TB          | -10 TB
 11258449312612351 | 10239 TB       | -10239 TB
 11258449312612352 | 10240 TB       | -10240 TB
(10 rows)

SELECT size, pg_size_pretty(size), pg_size_pretty(-1 * size) FROM
    (VALUES (10239::numeric), (10240::numeric),
            (10485247::numeric), (10485248::numeric),
            (10736893951::numeric), (10736893952::numeric),
            (10994579406847::numeric), (10994579406848::numeric),
            (11258449312612351::numeric), (11258449312612352::numeric)) x(size);
       size        | pg_size_pretty | pg_size_pretty 
-------------------+----------------+----------------
             10239 | 10239 bytes    | -10239 bytes
             10240 | 10 kB          | -10 kB
          10485247 | 10239 kB       | -10239 kB
          10485248 | 10 MB          | -10 MB
       10736893951 | 10239 MB       | -10239 MB
       10736893952 | 10 GB          | -10 GB
    10994579406847 | 10239 GB       | -10239 GB
    10994579406848 | 10 TB          | -10 TB
 11258449312612351 | 10239 TB       | -10239 TB
 11258449312612352 | 10240 TB       | -10240 TB
(10 rows)

-- pg_size_bytes() tests
SELECT size, pg_size_bytes(size) FROM
    (VALUES ('1'), ('123bytes'), ('1kB'), ('1MB'), (' 1 GB'), ('1.5 GB '),
            ('1TB'), ('3000 TB'), ('1e6 MB')) x(size);
   size   |  pg_size_bytes   
----------+------------------
 1        |                1
 123bytes |              123
 1kB      |             1024
 1MB      |          1048576
  1 GB    |       1073741824
 1.5 GB   |       1610612736
 1TB      |    1099511627776
 3000 TB  | 3298534883328000
 1e6 MB   |    1048576000000
(9 rows)

-- case-insensitive units are supported
SELECT size, pg_size_bytes(size) FROM
    (VALUES ('1'), ('123bYteS'), ('1kb'), ('1mb'), (' 1 Gb'), ('1.5 gB '),
            ('1tb'), ('3000 tb'), ('1e6 mb')) x(size);
   size   |  pg_size_bytes   
----------+------------------
 1        |                1
 123bYteS |              123
 1kb      |             1024
 1mb      |          1048576
  1 Gb    |       1073741824
 1.5 gB   |       1610612736
 1tb      |    1099511627776
 3000 tb  | 3298534883328000
 1e6 mb   |    1048576000000
(9 rows)

-- negative numbers are supported
SELECT size, pg_size_bytes(size) FROM
    (VALUES ('-1'), ('-123bytes'), ('-1kb'), ('-1mb'), (' -1 Gb'), ('-1.5 gB '),
            ('-1tb'), ('-3000 TB'), ('-10e-1 MB')) x(size);
   size    |   pg_size_bytes   
-----------+-------------------
 -1        |                -1
 -123bytes |              -123
 -1kb      |             -1024
 -1mb      |          -1048576
  -1 Gb    |       -1073741824
 -1.5 gB   |       -1610612736
 -1tb      |    -1099511627776
 -3000 TB  | -3298534883328000
 -10e-1 MB |          -1048576
(9 rows)

-- different cases with allowed points
SELECT size, pg_size_bytes(size) FROM
     (VALUES ('-1.'), ('-1.kb'), ('-1. kb'), ('-0. gb'),
             ('-.1'), ('-.1kb'), ('-.1 kb'), ('-.0 gb')) x(size);
  size  | pg_size_bytes 
--------+---------------
 -1.    |            -1
 -1.kb  |         -1024
 -1. kb |         -1024
 -0. gb |             0
 -.1    |             0
 -.1kb  |          -102
 -.1 kb |          -102
 -.0 gb |             0
(8 rows)

-- invalid inputs
SELECT pg_size_bytes('1 AB');
ERROR:  invalid size: "1 AB"
DETAIL:  Invalid size unit: "AB".
HINT:  Valid units are "bytes", "kB", "MB", "GB", and "TB".
SELECT pg_size_bytes('1 AB A');
ERROR:  invalid size: "1 AB A"
DETAIL:  Invalid size unit: "AB A".
HINT:  Valid units are "bytes", "kB", "MB", "GB", and "TB".
SELECT pg_size_bytes('1 AB A    ');
ERROR:  invalid size: "1 AB A    "
DETAIL:  Invalid size unit: "AB A".
HINT:  Valid units are "bytes", "kB", "MB", "GB", and "TB".
SELECT pg_size_bytes('9223372036854775807.9');
ERROR:  bigint out of range
SELECT pg_size_bytes('1e100');
ERROR:  bigint out of range
SELECT pg_size_bytes('1e1000000000000000000');
ERROR:  value overflows numeric format
SELECT pg_size_bytes('1 byte');  -- the singular "byte" is not supported
ERROR:  invalid size: "1 byte"
DETAIL:  Invalid size unit: "byte".
HINT:  Valid units are "bytes", "kB", "MB", "GB", and "TB".
SELECT pg_size_bytes('');
ERROR:  invalid size: ""
SELECT pg_size_bytes('kb');
ERROR:  invalid size: "kb"
SELECT pg_size_bytes('..');
ERROR:  invalid size: ".."
SELECT pg_size_bytes('-.');
ERROR:  invalid size: "-."
SELECT pg_size_bytes('-.kb');
ERROR:  invalid size: "-.kb"
SELECT pg_size_bytes('-. kb');
ERROR:  invalid size: "-. kb"
SELECT pg_size_bytes('.+912');
ERROR:  invalid size: ".+912"
SELECT pg_size_bytes('+912+ kB');
ERROR:  invalid size: "+912+ kB"
DETAIL:  Invalid size unit: "+ kB".
HINT:  Valid units are "bytes", "kB", "MB", "GB", and "TB".
SELECT pg_size_bytes('++123 kB');
ERROR:  invalid size: "++123 kB"