forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit26a944c
committed
Adjust bytea get_bit/set_bit to use int8 not int4 for bit numbering.
Since the existing bit number argument can't exceed INT32_MAX, it'snot possible for these functions to manipulate bits beyond the first256MB of a bytea value. Lift that restriction by redeclaring thebit number arguments as int8 (which requires a catversion bump,hence is not back-patchable).The similarly-named functions for bit/varbit don't really have aproblem because we restrict those types to at most VARBITMAXLEN bits;hence leave them alone.While here, extend the encode/decode functions in utils/adt/encode.cto allow dealing with values wider than 1GB. This is not a live bugor restriction in current usage, because no input could be more than1GB, and since none of the encoders can expand a string more than 4X,the result size couldn't overflow uint32. But it might be desirableto support more in future, so make the input length values size_tand the potential-output-length values uint64.Also add some test cases to improve the miserable code coverageof these functions.Movead Li, editorialized some by me; also reviewed by Ashutosh BapatDiscussion:https://postgr.es/m/20200312115135445367128@highgo.ca1 parent9c74ceb commit26a944c
File tree
8 files changed
+217
-71
lines changed- doc/src/sgml
- src
- backend/utils/adt
- include
- catalog
- utils
- test/regress
- expected
- sql
8 files changed
+217
-71
lines changedLines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2905 | 2905 |
| |
2906 | 2906 |
| |
2907 | 2907 |
| |
2908 |
| - | |
| 2908 | + | |
2909 | 2909 |
| |
2910 | 2910 |
| |
2911 | 2911 |
| |
| |||
2990 | 2990 |
| |
2991 | 2991 |
| |
2992 | 2992 |
| |
2993 |
| - | |
| 2993 | + | |
2994 | 2994 |
| |
2995 | 2995 |
| |
2996 | 2996 |
| |
|
Lines changed: 85 additions & 51 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
16 | 16 |
| |
17 | 17 |
| |
18 | 18 |
| |
| 19 | + | |
19 | 20 |
| |
20 | 21 |
| |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
21 | 31 |
| |
22 | 32 |
| |
23 |
| - | |
24 |
| - | |
25 |
| - | |
26 |
| - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
27 | 37 |
| |
28 | 38 |
| |
29 | 39 |
| |
| |||
39 | 49 |
| |
40 | 50 |
| |
41 | 51 |
| |
42 |
| - | |
43 |
| - | |
44 |
| - | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
45 | 56 |
| |
46 | 57 |
| |
47 |
| - | |
48 |
| - | |
49 | 58 |
| |
50 | 59 |
| |
51 | 60 |
| |
| |||
54 | 63 |
| |
55 | 64 |
| |
56 | 65 |
| |
57 |
| - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
58 | 80 |
| |
59 | 81 |
| |
60 |
| - | |
| 82 | + | |
61 | 83 |
| |
62 | 84 |
| |
63 | 85 |
| |
| |||
75 | 97 |
| |
76 | 98 |
| |
77 | 99 |
| |
78 |
| - | |
79 |
| - | |
80 |
| - | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
81 | 104 |
| |
82 | 105 |
| |
83 |
| - | |
84 |
| - | |
85 | 106 |
| |
86 | 107 |
| |
87 | 108 |
| |
| |||
90 | 111 |
| |
91 | 112 |
| |
92 | 113 |
| |
93 |
| - | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
94 | 128 |
| |
95 | 129 |
| |
96 |
| - | |
| 130 | + | |
97 | 131 |
| |
98 | 132 |
| |
99 | 133 |
| |
| |||
122 | 156 |
| |
123 | 157 |
| |
124 | 158 |
| |
125 |
| - | |
126 |
| - | |
| 159 | + | |
| 160 | + | |
127 | 161 |
| |
128 | 162 |
| |
129 | 163 |
| |
| |||
133 | 167 |
| |
134 | 168 |
| |
135 | 169 |
| |
136 |
| - | |
| 170 | + | |
137 | 171 |
| |
138 | 172 |
| |
139 | 173 |
| |
| |||
152 | 186 |
| |
153 | 187 |
| |
154 | 188 |
| |
155 |
| - | |
156 |
| - | |
| 189 | + | |
| 190 | + | |
157 | 191 |
| |
158 | 192 |
| |
159 | 193 |
| |
| |||
184 | 218 |
| |
185 | 219 |
| |
186 | 220 |
| |
187 |
| - | |
188 |
| - | |
| 221 | + | |
| 222 | + | |
189 | 223 |
| |
190 |
| - | |
| 224 | + | |
191 | 225 |
| |
192 | 226 |
| |
193 |
| - | |
194 |
| - | |
| 227 | + | |
| 228 | + | |
195 | 229 |
| |
196 |
| - | |
| 230 | + | |
197 | 231 |
| |
198 | 232 |
| |
199 | 233 |
| |
| |||
214 | 248 |
| |
215 | 249 |
| |
216 | 250 |
| |
217 |
| - | |
218 |
| - | |
| 251 | + | |
| 252 | + | |
219 | 253 |
| |
220 | 254 |
| |
221 | 255 |
| |
| |||
261 | 295 |
| |
262 | 296 |
| |
263 | 297 |
| |
264 |
| - | |
265 |
| - | |
| 298 | + | |
| 299 | + | |
266 | 300 |
| |
267 | 301 |
| |
268 | 302 |
| |
| |||
331 | 365 |
| |
332 | 366 |
| |
333 | 367 |
| |
334 |
| - | |
335 |
| - | |
| 368 | + | |
| 369 | + | |
336 | 370 |
| |
337 | 371 |
| |
338 |
| - | |
| 372 | + | |
339 | 373 |
| |
340 | 374 |
| |
341 |
| - | |
342 |
| - | |
| 375 | + | |
| 376 | + | |
343 | 377 |
| |
344 |
| - | |
| 378 | + | |
345 | 379 |
| |
346 | 380 |
| |
347 | 381 |
| |
| |||
361 | 395 |
| |
362 | 396 |
| |
363 | 397 |
| |
364 |
| - | |
365 |
| - | |
| 398 | + | |
| 399 | + | |
366 | 400 |
| |
367 | 401 |
| |
368 | 402 |
| |
369 |
| - | |
| 403 | + | |
370 | 404 |
| |
371 | 405 |
| |
372 | 406 |
| |
| |||
400 | 434 |
| |
401 | 435 |
| |
402 | 436 |
| |
403 |
| - | |
404 |
| - | |
| 437 | + | |
| 438 | + | |
405 | 439 |
| |
406 | 440 |
| |
407 | 441 |
| |
408 |
| - | |
| 442 | + | |
409 | 443 |
| |
410 | 444 |
| |
411 | 445 |
| |
| |||
448 | 482 |
| |
449 | 483 |
| |
450 | 484 |
| |
451 |
| - | |
452 |
| - | |
| 485 | + | |
| 486 | + | |
453 | 487 |
| |
454 | 488 |
| |
455 |
| - | |
| 489 | + | |
456 | 490 |
| |
457 | 491 |
| |
458 | 492 |
| |
| |||
469 | 503 |
| |
470 | 504 |
| |
471 | 505 |
| |
472 |
| - | |
473 |
| - | |
| 506 | + | |
| 507 | + | |
474 | 508 |
| |
475 | 509 |
| |
476 |
| - | |
| 510 | + | |
477 | 511 |
| |
478 | 512 |
| |
479 | 513 |
| |
|
Lines changed: 26 additions & 13 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
389 | 389 |
| |
390 | 390 |
| |
391 | 391 |
| |
392 |
| - | |
| 392 | + | |
393 | 393 |
| |
394 | 394 |
| |
395 | 395 |
| |
| |||
403 | 403 |
| |
404 | 404 |
| |
405 | 405 |
| |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
406 | 416 |
| |
| 417 | + | |
407 | 418 |
| |
408 | 419 |
| |
409 | 420 |
| |
| |||
3456 | 3467 |
| |
3457 | 3468 |
| |
3458 | 3469 |
| |
3459 |
| - | |
| 3470 | + | |
3460 | 3471 |
| |
3461 | 3472 |
| |
3462 | 3473 |
| |
3463 | 3474 |
| |
3464 | 3475 |
| |
3465 | 3476 |
| |
3466 | 3477 |
| |
3467 |
| - | |
| 3478 | + | |
3468 | 3479 |
| |
3469 | 3480 |
| |
3470 |
| - | |
3471 |
| - | |
| 3481 | + | |
| 3482 | + | |
3472 | 3483 |
| |
3473 |
| - | |
3474 |
| - | |
| 3484 | + | |
| 3485 | + | |
| 3486 | + | |
3475 | 3487 |
| |
3476 | 3488 |
| |
3477 | 3489 |
| |
| |||
3525 | 3537 |
| |
3526 | 3538 |
| |
3527 | 3539 |
| |
3528 |
| - | |
| 3540 | + | |
3529 | 3541 |
| |
3530 | 3542 |
| |
3531 | 3543 |
| |
| |||
3535 | 3547 |
| |
3536 | 3548 |
| |
3537 | 3549 |
| |
3538 |
| - | |
| 3550 | + | |
3539 | 3551 |
| |
3540 | 3552 |
| |
3541 |
| - | |
3542 |
| - | |
| 3553 | + | |
| 3554 | + | |
3543 | 3555 |
| |
3544 |
| - | |
3545 |
| - | |
| 3556 | + | |
| 3557 | + | |
| 3558 | + | |
3546 | 3559 |
| |
3547 | 3560 |
| |
3548 | 3561 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
53 | 53 |
| |
54 | 54 |
| |
55 | 55 |
| |
56 |
| - | |
| 56 | + | |
57 | 57 |
| |
58 | 58 |
|
0 commit comments
Comments
(0)