File: test.expected.74

package info (click to toggle)
postgresql-plruby 0.5.3-1
  • links: PTS, VCS
  • area: main
  • in suites: lenny
  • size: 1,500 kB
  • ctags: 1,259
  • sloc: ansic: 8,272; sql: 1,841; ruby: 882; sh: 62; makefile: 39
file content (237 lines) | stat: -rw-r--r-- 13,046 bytes parent folder | download | duplicates (9)
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
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
create table pl_inet (
  host text, abbrev text, masklen int,
  network inet, netmask inet, first inet, last inet
);
create or replace function inet_val(inet) returns pl_inet as '
   a = args[0]
   [a.host, a.abbrev, a.masklen, a.network, a.netmask, 
    a.first, a.last]
 ' language 'plruby';
select * from inet_val('192.168.1'::cidr);
    host     |    abbrev    | masklen |    network     |    netmask    |     first      |     last      
-------------+--------------+---------+----------------+---------------+----------------+---------------
 192.168.1.0 | 192.168.1/24 |      24 | 192.168.1.0/24 | 255.255.255.0 | 192.168.1.0/24 | 192.168.1.255
(1 row)

select * from inet_val('192.168.1.226/24'::inet);
     host      |      abbrev      | masklen |    network     |    netmask    |     first      |     last      
---------------+------------------+---------+----------------+---------------+----------------+---------------
 192.168.1.226 | 192.168.1.226/24 |      24 | 192.168.1.0/24 | 255.255.255.0 | 192.168.1.0/24 | 192.168.1.255
(1 row)

select * from inet_val('192.168.1.0/24'::cidr);
    host     |    abbrev    | masklen |    network     |    netmask    |     first      |     last      
-------------+--------------+---------+----------------+---------------+----------------+---------------
 192.168.1.0 | 192.168.1/24 |      24 | 192.168.1.0/24 | 255.255.255.0 | 192.168.1.0/24 | 192.168.1.255
(1 row)

select * from inet_val('192.168.1.226'::inet);
     host      |    abbrev     | masklen |     network      |     netmask     |      first       |     last      
---------------+---------------+---------+------------------+-----------------+------------------+---------------
 192.168.1.226 | 192.168.1.226 |      32 | 192.168.1.226/32 | 255.255.255.255 | 192.168.1.226/32 | 192.168.1.226
(1 row)

select * from inet_val('192.168.1'::cidr);
    host     |    abbrev    | masklen |    network     |    netmask    |     first      |     last      
-------------+--------------+---------+----------------+---------------+----------------+---------------
 192.168.1.0 | 192.168.1/24 |      24 | 192.168.1.0/24 | 255.255.255.0 | 192.168.1.0/24 | 192.168.1.255
(1 row)

select * from inet_val('192.168.1.0/24'::inet);
    host     |     abbrev     | masklen |    network     |    netmask    |     first      |     last      
-------------+----------------+---------+----------------+---------------+----------------+---------------
 192.168.1.0 | 192.168.1.0/24 |      24 | 192.168.1.0/24 | 255.255.255.0 | 192.168.1.0/24 | 192.168.1.255
(1 row)

select * from inet_val('192.168.1'::cidr);
    host     |    abbrev    | masklen |    network     |    netmask    |     first      |     last      
-------------+--------------+---------+----------------+---------------+----------------+---------------
 192.168.1.0 | 192.168.1/24 |      24 | 192.168.1.0/24 | 255.255.255.0 | 192.168.1.0/24 | 192.168.1.255
(1 row)

select * from inet_val('192.168.1.0/25'::inet);
    host     |     abbrev     | masklen |    network     |     netmask     |     first      |     last      
-------------+----------------+---------+----------------+-----------------+----------------+---------------
 192.168.1.0 | 192.168.1.0/25 |      25 | 192.168.1.0/25 | 255.255.255.128 | 192.168.1.0/25 | 192.168.1.127
(1 row)

select * from inet_val('192.168.1'::cidr);
    host     |    abbrev    | masklen |    network     |    netmask    |     first      |     last      
-------------+--------------+---------+----------------+---------------+----------------+---------------
 192.168.1.0 | 192.168.1/24 |      24 | 192.168.1.0/24 | 255.255.255.0 | 192.168.1.0/24 | 192.168.1.255
(1 row)

select * from inet_val('192.168.1.255/24'::inet);
     host      |      abbrev      | masklen |    network     |    netmask    |     first      |     last      
---------------+------------------+---------+----------------+---------------+----------------+---------------
 192.168.1.255 | 192.168.1.255/24 |      24 | 192.168.1.0/24 | 255.255.255.0 | 192.168.1.0/24 | 192.168.1.255
(1 row)

select * from inet_val('192.168.1'::cidr);
    host     |    abbrev    | masklen |    network     |    netmask    |     first      |     last      
-------------+--------------+---------+----------------+---------------+----------------+---------------
 192.168.1.0 | 192.168.1/24 |      24 | 192.168.1.0/24 | 255.255.255.0 | 192.168.1.0/24 | 192.168.1.255
(1 row)

select * from inet_val('192.168.1.255/25'::inet);
     host      |      abbrev      | masklen |     network      |     netmask     |      first       |     last      
---------------+------------------+---------+------------------+-----------------+------------------+---------------
 192.168.1.255 | 192.168.1.255/25 |      25 | 192.168.1.128/25 | 255.255.255.128 | 192.168.1.128/25 | 192.168.1.255
(1 row)

select * from inet_val('10'::cidr);
   host   | abbrev | masklen |  network   |  netmask  |   first    |      last      
----------+--------+---------+------------+-----------+------------+----------------
 10.0.0.0 | 10/8   |       8 | 10.0.0.0/8 | 255.0.0.0 | 10.0.0.0/8 | 10.255.255.255
(1 row)

select * from inet_val('10.1.2.3/8'::inet);
   host   |   abbrev   | masklen |  network   |  netmask  |   first    |      last      
----------+------------+---------+------------+-----------+------------+----------------
 10.1.2.3 | 10.1.2.3/8 |       8 | 10.0.0.0/8 | 255.0.0.0 | 10.0.0.0/8 | 10.255.255.255
(1 row)

select * from inet_val('10.0.0.0'::cidr);
   host   |   abbrev    | masklen |   network   |     netmask     |    first    |   last   
----------+-------------+---------+-------------+-----------------+-------------+----------
 10.0.0.0 | 10.0.0.0/32 |      32 | 10.0.0.0/32 | 255.255.255.255 | 10.0.0.0/32 | 10.0.0.0
(1 row)

select * from inet_val('10.1.2.3/8'::inet);
   host   |   abbrev   | masklen |  network   |  netmask  |   first    |      last      
----------+------------+---------+------------+-----------+------------+----------------
 10.1.2.3 | 10.1.2.3/8 |       8 | 10.0.0.0/8 | 255.0.0.0 | 10.0.0.0/8 | 10.255.255.255
(1 row)

select * from inet_val('10.1.2.3'::cidr);
   host   |   abbrev    | masklen |   network   |     netmask     |    first    |   last   
----------+-------------+---------+-------------+-----------------+-------------+----------
 10.1.2.3 | 10.1.2.3/32 |      32 | 10.1.2.3/32 | 255.255.255.255 | 10.1.2.3/32 | 10.1.2.3
(1 row)

select * from inet_val('10.1.2.3/32'::inet);
   host   |  abbrev  | masklen |   network   |     netmask     |    first    |   last   
----------+----------+---------+-------------+-----------------+-------------+----------
 10.1.2.3 | 10.1.2.3 |      32 | 10.1.2.3/32 | 255.255.255.255 | 10.1.2.3/32 | 10.1.2.3
(1 row)

select * from inet_val('10.1.2'::cidr);
   host   |  abbrev   | masklen |   network   |    netmask    |    first    |    last    
----------+-----------+---------+-------------+---------------+-------------+------------
 10.1.2.0 | 10.1.2/24 |      24 | 10.1.2.0/24 | 255.255.255.0 | 10.1.2.0/24 | 10.1.2.255
(1 row)

select * from inet_val('10.1.2.3/24'::inet);
   host   |   abbrev    | masklen |   network   |    netmask    |    first    |    last    
----------+-------------+---------+-------------+---------------+-------------+------------
 10.1.2.3 | 10.1.2.3/24 |      24 | 10.1.2.0/24 | 255.255.255.0 | 10.1.2.0/24 | 10.1.2.255
(1 row)

select * from inet_val('10.1'::cidr);
   host   | abbrev  | masklen |   network   |   netmask   |    first    |     last     
----------+---------+---------+-------------+-------------+-------------+--------------
 10.1.0.0 | 10.1/16 |      16 | 10.1.0.0/16 | 255.255.0.0 | 10.1.0.0/16 | 10.1.255.255
(1 row)

select * from inet_val('10.1.2.3/16'::inet);
   host   |   abbrev    | masklen |   network   |   netmask   |    first    |     last     
----------+-------------+---------+-------------+-------------+-------------+--------------
 10.1.2.3 | 10.1.2.3/16 |      16 | 10.1.0.0/16 | 255.255.0.0 | 10.1.0.0/16 | 10.1.255.255
(1 row)

select * from inet_val('10'::cidr);
   host   | abbrev | masklen |  network   |  netmask  |   first    |      last      
----------+--------+---------+------------+-----------+------------+----------------
 10.0.0.0 | 10/8   |       8 | 10.0.0.0/8 | 255.0.0.0 | 10.0.0.0/8 | 10.255.255.255
(1 row)

select * from inet_val('10.1.2.3/8'::inet);
   host   |   abbrev   | masklen |  network   |  netmask  |   first    |      last      
----------+------------+---------+------------+-----------+------------+----------------
 10.1.2.3 | 10.1.2.3/8 |       8 | 10.0.0.0/8 | 255.0.0.0 | 10.0.0.0/8 | 10.255.255.255
(1 row)

select * from inet_val('10'::cidr);
   host   | abbrev | masklen |  network   |  netmask  |   first    |      last      
----------+--------+---------+------------+-----------+------------+----------------
 10.0.0.0 | 10/8   |       8 | 10.0.0.0/8 | 255.0.0.0 | 10.0.0.0/8 | 10.255.255.255
(1 row)

select * from inet_val('11.1.2.3/8'::inet);
   host   |   abbrev   | masklen |  network   |  netmask  |   first    |      last      
----------+------------+---------+------------+-----------+------------+----------------
 11.1.2.3 | 11.1.2.3/8 |       8 | 11.0.0.0/8 | 255.0.0.0 | 11.0.0.0/8 | 11.255.255.255
(1 row)

select * from inet_val('10'::cidr);
   host   | abbrev | masklen |  network   |  netmask  |   first    |      last      
----------+--------+---------+------------+-----------+------------+----------------
 10.0.0.0 | 10/8   |       8 | 10.0.0.0/8 | 255.0.0.0 | 10.0.0.0/8 | 10.255.255.255
(1 row)

select * from inet_val('9.1.2.3/8'::inet);
  host   |  abbrev   | masklen |  network  |  netmask  |   first   |     last      
---------+-----------+---------+-----------+-----------+-----------+---------------
 9.1.2.3 | 9.1.2.3/8 |       8 | 9.0.0.0/8 | 255.0.0.0 | 9.0.0.0/8 | 9.255.255.255
(1 row)

select * from inet_val('10:23::f1'::cidr);
   host    |    abbrev     | masklen |    network    |                 netmask                 |     first     |   last    
-----------+---------------+---------+---------------+-----------------------------------------+---------------+-----------
 10:23::f1 | 10:23::f1/128 |     128 | 10:23::f1/128 | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 10:23::f1/128 | 10:23::f1
(1 row)

select * from inet_val('10:23::f1/64'::inet);
   host    |    abbrev    | masklen |  network   |        netmask        |   first    |            last            
-----------+--------------+---------+------------+-----------------------+------------+----------------------------
 10:23::f1 | 10:23::f1/64 |      64 | 10:23::/64 | ffff:ffff:ffff:ffff:: | 10:23::/64 | 10:23::ffff:ffff:ffff:ffff
(1 row)

select * from inet_val('10:23::8000/113'::cidr);
    host     |     abbrev      | masklen |     network     |                 netmask                 |      first      |    last     
-------------+-----------------+---------+-----------------+-----------------------------------------+-----------------+-------------
 10:23::8000 | 10:23::8000/113 |     113 | 10:23::8000/113 | ffff:ffff:ffff:ffff:ffff:ffff:ffff:8000 | 10:23::8000/113 | 10:23::ffff
(1 row)

select * from inet_val('10:23::ffff'::inet);
    host     |   abbrev    | masklen |     network     |                 netmask                 |      first      |    last     
-------------+-------------+---------+-----------------+-----------------------------------------+-----------------+-------------
 10:23::ffff | 10:23::ffff |     128 | 10:23::ffff/128 | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | 10:23::ffff/128 | 10:23::ffff
(1 row)

select * from inet_val('::ffff:1.2.3.4'::cidr);
      host      |       abbrev       | masklen |      network       |                 netmask                 |       first        |      last      
----------------+--------------------+---------+--------------------+-----------------------------------------+--------------------+----------------
 ::ffff:1.2.3.4 | ::ffff:1.2.3.4/128 |     128 | ::ffff:1.2.3.4/128 | ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff | ::ffff:1.2.3.4/128 | ::ffff:1.2.3.4
(1 row)

select * from inet_val('::4.3.2.1/24'::inet);
   host    |    abbrev    | masklen | network |   netmask   | first |                last                
-----------+--------------+---------+---------+-------------+-------+------------------------------------
 ::4.3.2.1 | ::4.3.2.1/24 |      24 | ::/24   | ffff:ff00:: | ::/24 | 0:ff:ffff:ffff:ffff:ffff:ffff:ffff
(1 row)

create or replace function mac_cmp(macaddr, macaddr) returns int as '
   args[0] <=> args[1]
' language 'plruby';
select mac_cmp('00:07:E9:85:3E:C5'::macaddr, '00:E0:29:3E:E7:25'::macaddr);
 mac_cmp 
---------
      -1
(1 row)

create or replace function mac_trunc(macaddr) returns macaddr as '
   args[0].truncate
' language 'plruby';
select mac_trunc('00:07:E9:85:3E:C5'::macaddr);
     mac_trunc     
-------------------
 00:07:e9:00:00:00
(1 row)

select mac_trunc('00:E0:29:3E:E7:25'::macaddr);
     mac_trunc     
-------------------
 00:e0:29:00:00:00
(1 row)