- Notifications
You must be signed in to change notification settings - Fork5
Commit3f2cec7
committed
Fix jsonb replace and delete on scalars and empty structures
These operations now error out if attempted on scalars, and simplyreturn the input if attempted on empty arrays or objects. Along the waywe remove the unnecessary cloning of the input when it's known to beunchanged. Regression tests covering these cases are added.1 parentae61571 commit3f2cec7
File tree
4 files changed
+165
-53
lines changed- src
- backend/utils/adt
- test/regress
- expected
- sql
4 files changed
+165
-53
lines changedLines changed: 35 additions & 53 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3332 | 3332 |
| |
3333 | 3333 |
| |
3334 | 3334 |
| |
3335 |
| - | |
| 3335 | + | |
3336 | 3336 |
| |
3337 | 3337 |
| |
3338 | 3338 |
| |
| |||
3349 | 3349 |
| |
3350 | 3350 |
| |
3351 | 3351 |
| |
3352 |
| - | |
3353 | 3352 |
| |
3354 | 3353 |
| |
3355 | 3354 |
| |
3356 | 3355 |
| |
3357 | 3356 |
| |
3358 | 3357 |
| |
3359 | 3358 |
| |
3360 |
| - | |
| 3359 | + | |
| 3360 | + | |
| 3361 | + | |
| 3362 | + | |
3361 | 3363 |
| |
3362 | 3364 |
| |
3363 |
| - | |
| 3365 | + | |
3364 | 3366 |
| |
3365 | 3367 |
| |
3366 | 3368 |
| |
| |||
3382 | 3384 |
| |
3383 | 3385 |
| |
3384 | 3386 |
| |
3385 |
| - | |
3386 |
| - | |
3387 |
| - | |
3388 |
| - | |
3389 |
| - | |
| 3387 | + | |
3390 | 3388 |
| |
3391 |
| - | |
| 3389 | + | |
3392 | 3390 |
| |
3393 | 3391 |
| |
3394 | 3392 |
| |
| |||
3403 | 3401 |
| |
3404 | 3402 |
| |
3405 | 3403 |
| |
3406 |
| - | |
3407 | 3404 |
| |
3408 | 3405 |
| |
3409 | 3406 |
| |
| |||
3412 | 3409 |
| |
3413 | 3410 |
| |
3414 | 3411 |
| |
| 3412 | + | |
| 3413 | + | |
| 3414 | + | |
| 3415 | + | |
| 3416 | + | |
3415 | 3417 |
| |
3416 |
| - | |
3417 |
| - | |
3418 |
| - | |
3419 |
| - | |
| 3418 | + | |
3420 | 3419 |
| |
3421 | 3420 |
| |
3422 | 3421 |
| |
| |||
3435 | 3434 |
| |
3436 | 3435 |
| |
3437 | 3436 |
| |
3438 |
| - | |
3439 |
| - | |
3440 |
| - | |
3441 |
| - | |
| 3437 | + | |
3442 | 3438 |
| |
3443 | 3439 |
| |
3444 | 3440 |
| |
| |||
3457 | 3453 |
| |
3458 | 3454 |
| |
3459 | 3455 |
| |
3460 |
| - | |
3461 |
| - | |
3462 |
| - | |
3463 |
| - | |
3464 |
| - | |
| 3456 | + | |
3465 | 3457 |
| |
3466 |
| - | |
| 3458 | + | |
3467 | 3459 |
| |
3468 | 3460 |
| |
3469 | 3461 |
| |
| |||
3475 | 3467 |
| |
3476 | 3468 |
| |
3477 | 3469 |
| |
3478 |
| - | |
3479 | 3470 |
| |
3480 | 3471 |
| |
3481 | 3472 |
| |
| |||
3488 | 3479 |
| |
3489 | 3480 |
| |
3490 | 3481 |
| |
| 3482 | + | |
| 3483 | + | |
| 3484 | + | |
| 3485 | + | |
| 3486 | + | |
3491 | 3487 |
| |
3492 |
| - | |
3493 |
| - | |
3494 |
| - | |
3495 |
| - | |
| 3488 | + | |
3496 | 3489 |
| |
3497 | 3490 |
| |
3498 | 3491 |
| |
3499 | 3492 |
| |
3500 | 3493 |
| |
3501 |
| - | |
3502 |
| - | |
3503 |
| - | |
3504 |
| - | |
| 3494 | + | |
3505 | 3495 |
| |
3506 | 3496 |
| |
3507 | 3497 |
| |
3508 | 3498 |
| |
3509 | 3499 |
| |
3510 |
| - | |
3511 |
| - | |
3512 |
| - | |
3513 |
| - | |
| 3500 | + | |
3514 | 3501 |
| |
3515 |
| - | |
| 3502 | + | |
3516 | 3503 |
| |
3517 | 3504 |
| |
3518 | 3505 |
| |
| |||
3524 | 3511 |
| |
3525 | 3512 |
| |
3526 | 3513 |
| |
3527 |
| - | |
3528 | 3514 |
| |
3529 | 3515 |
| |
3530 | 3516 |
| |
| |||
3537 | 3523 |
| |
3538 | 3524 |
| |
3539 | 3525 |
| |
| 3526 | + | |
| 3527 | + | |
| 3528 | + | |
| 3529 | + | |
| 3530 | + | |
3540 | 3531 |
| |
3541 |
| - | |
3542 |
| - | |
3543 |
| - | |
3544 |
| - | |
| 3532 | + | |
3545 | 3533 |
| |
3546 | 3534 |
| |
3547 | 3535 |
| |
3548 | 3536 |
| |
3549 | 3537 |
| |
3550 |
| - | |
3551 |
| - | |
3552 |
| - | |
3553 |
| - | |
| 3538 | + | |
3554 | 3539 |
| |
3555 | 3540 |
| |
3556 | 3541 |
| |
3557 | 3542 |
| |
3558 | 3543 |
| |
3559 |
| - | |
3560 |
| - | |
3561 |
| - | |
3562 |
| - | |
| 3544 | + | |
3563 | 3545 |
| |
3564 |
| - | |
| 3546 | + | |
3565 | 3547 |
| |
3566 | 3548 |
| |
3567 | 3549 |
| |
|
Lines changed: 57 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3175 | 3175 |
| |
3176 | 3176 |
| |
3177 | 3177 |
| |
| 3178 | + | |
| 3179 | + | |
| 3180 | + | |
| 3181 | + | |
| 3182 | + | |
| 3183 | + | |
| 3184 | + | |
| 3185 | + | |
| 3186 | + | |
| 3187 | + | |
| 3188 | + | |
| 3189 | + | |
| 3190 | + | |
| 3191 | + | |
| 3192 | + | |
| 3193 | + | |
| 3194 | + | |
| 3195 | + | |
| 3196 | + | |
| 3197 | + | |
| 3198 | + | |
| 3199 | + | |
| 3200 | + | |
| 3201 | + | |
| 3202 | + | |
| 3203 | + | |
| 3204 | + | |
| 3205 | + | |
| 3206 | + | |
| 3207 | + | |
| 3208 | + | |
| 3209 | + | |
| 3210 | + | |
| 3211 | + | |
| 3212 | + | |
| 3213 | + | |
| 3214 | + | |
| 3215 | + | |
| 3216 | + | |
| 3217 | + | |
| 3218 | + | |
| 3219 | + | |
| 3220 | + | |
| 3221 | + | |
| 3222 | + | |
| 3223 | + | |
| 3224 | + | |
| 3225 | + | |
| 3226 | + | |
| 3227 | + | |
| 3228 | + | |
| 3229 | + | |
| 3230 | + | |
| 3231 | + | |
| 3232 | + | |
| 3233 | + | |
| 3234 | + |
Lines changed: 57 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
3175 | 3175 |
| |
3176 | 3176 |
| |
3177 | 3177 |
| |
| 3178 | + | |
| 3179 | + | |
| 3180 | + | |
| 3181 | + | |
| 3182 | + | |
| 3183 | + | |
| 3184 | + | |
| 3185 | + | |
| 3186 | + | |
| 3187 | + | |
| 3188 | + | |
| 3189 | + | |
| 3190 | + | |
| 3191 | + | |
| 3192 | + | |
| 3193 | + | |
| 3194 | + | |
| 3195 | + | |
| 3196 | + | |
| 3197 | + | |
| 3198 | + | |
| 3199 | + | |
| 3200 | + | |
| 3201 | + | |
| 3202 | + | |
| 3203 | + | |
| 3204 | + | |
| 3205 | + | |
| 3206 | + | |
| 3207 | + | |
| 3208 | + | |
| 3209 | + | |
| 3210 | + | |
| 3211 | + | |
| 3212 | + | |
| 3213 | + | |
| 3214 | + | |
| 3215 | + | |
| 3216 | + | |
| 3217 | + | |
| 3218 | + | |
| 3219 | + | |
| 3220 | + | |
| 3221 | + | |
| 3222 | + | |
| 3223 | + | |
| 3224 | + | |
| 3225 | + | |
| 3226 | + | |
| 3227 | + | |
| 3228 | + | |
| 3229 | + | |
| 3230 | + | |
| 3231 | + | |
| 3232 | + | |
| 3233 | + | |
| 3234 | + |
Lines changed: 16 additions & 0 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
767 | 767 |
| |
768 | 768 |
| |
769 | 769 |
| |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + |
0 commit comments
Comments
(0)