forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitbac2739
committed
Support arrays as input to array_agg() and ARRAY(SELECT ...).
These cases formerly failed with errors about "could not find array typefor data type". Now they yield arrays of the same element type and onehigher dimension.The implementation involves creating functions with API similar to theexisting accumArrayResult() family. I (tgl) also extended the base familyby adding an initArrayResult() function, which allows callers to avoidspecial-casing the zero-inputs case if they just want an empty array asresult. (Not all do, so the previous calling convention remains valid.)This allowed simplifying some existing code in xml.c and plperl.c.Ali Akbar, reviewed by Pavel Stehule, significantly modified by me1 parent2597671 commitbac2739
File tree
18 files changed
+797
-115
lines changed- doc/src/sgml
- src
- backend
- executor
- nodes
- optimizer/plan
- utils
- adt
- cache
- include
- catalog
- utils
- pl/plperl
- test/regress
- expected
- sql
18 files changed
+797
-115
lines changedLines changed: 16 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
12035 | 12035 |
| |
12036 | 12036 |
| |
12037 | 12037 |
| |
12038 |
| - | |
| 12038 | + | |
12039 | 12039 |
| |
12040 | 12040 |
| |
12041 | 12041 |
| |
12042 | 12042 |
| |
12043 | 12043 |
| |
12044 | 12044 |
| |
12045 | 12045 |
| |
| 12046 | + | |
| 12047 | + | |
| 12048 | + | |
| 12049 | + | |
| 12050 | + | |
| 12051 | + | |
| 12052 | + | |
| 12053 | + | |
| 12054 | + | |
| 12055 | + | |
| 12056 | + | |
| 12057 | + | |
| 12058 | + | |
| 12059 | + | |
| 12060 | + | |
12046 | 12061 |
| |
12047 | 12062 |
| |
12048 | 12063 |
| |
|
Lines changed: 12 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2239 | 2239 |
| |
2240 | 2240 |
| |
2241 | 2241 |
| |
| 2242 | + | |
| 2243 | + | |
| 2244 | + | |
| 2245 | + | |
| 2246 | + | |
| 2247 | + | |
2242 | 2248 |
| |
2243 |
| - | |
| 2249 | + | |
| 2250 | + | |
2244 | 2251 |
| |
2245 | 2252 |
| |
2246 | 2253 |
| |
| 2254 | + | |
| 2255 | + | |
| 2256 | + | |
| 2257 | + | |
2247 | 2258 |
| |
2248 | 2259 |
| |
2249 | 2260 |
| |
|
Lines changed: 4 additions & 4 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
359 | 359 |
| |
360 | 360 |
| |
361 | 361 |
| |
362 |
| - | |
| 362 | + | |
363 | 363 |
| |
364 |
| - | |
| 364 | + | |
365 | 365 |
| |
366 | 366 |
| |
367 |
| - | |
| 367 | + | |
368 | 368 |
| |
369 | 369 |
| |
370 | 370 |
| |
| |||
376 | 376 |
| |
377 | 377 |
| |
378 | 378 |
| |
379 |
| - | |
| 379 | + | |
380 | 380 |
| |
381 | 381 |
| |
382 | 382 |
| |
|
Lines changed: 20 additions & 18 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
231 | 231 |
| |
232 | 232 |
| |
233 | 233 |
| |
234 |
| - | |
| 234 | + | |
235 | 235 |
| |
236 | 236 |
| |
237 | 237 |
| |
| |||
259 | 259 |
| |
260 | 260 |
| |
261 | 261 |
| |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
262 | 267 |
| |
263 | 268 |
| |
264 | 269 |
| |
| |||
366 | 371 |
| |
367 | 372 |
| |
368 | 373 |
| |
369 |
| - | |
370 |
| - | |
| 374 | + | |
| 375 | + | |
371 | 376 |
| |
372 | 377 |
| |
373 | 378 |
| |
| |||
437 | 442 |
| |
438 | 443 |
| |
439 | 444 |
| |
440 |
| - | |
441 |
| - | |
442 |
| - | |
443 |
| - | |
| 445 | + | |
444 | 446 |
| |
445 | 447 |
| |
446 | 448 |
| |
| |||
951 | 953 |
| |
952 | 954 |
| |
953 | 955 |
| |
954 |
| - | |
| 956 | + | |
955 | 957 |
| |
956 | 958 |
| |
957 | 959 |
| |
958 | 960 |
| |
959 | 961 |
| |
960 | 962 |
| |
961 | 963 |
| |
| 964 | + | |
| 965 | + | |
| 966 | + | |
| 967 | + | |
| 968 | + | |
962 | 969 |
| |
963 | 970 |
| |
964 | 971 |
| |
| |||
1018 | 1025 |
| |
1019 | 1026 |
| |
1020 | 1027 |
| |
1021 |
| - | |
1022 |
| - | |
| 1028 | + | |
| 1029 | + | |
1023 | 1030 |
| |
1024 | 1031 |
| |
1025 | 1032 |
| |
| |||
1072 | 1079 |
| |
1073 | 1080 |
| |
1074 | 1081 |
| |
1075 |
| - | |
1076 |
| - | |
1077 |
| - | |
1078 |
| - | |
1079 |
| - | |
1080 |
| - | |
1081 |
| - | |
1082 |
| - | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
1083 | 1085 |
| |
1084 | 1086 |
| |
1085 | 1087 |
| |
|
Lines changed: 2 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
108 | 108 |
| |
109 | 109 |
| |
110 | 110 |
| |
111 |
| - | |
| 111 | + | |
112 | 112 |
| |
113 | 113 |
| |
114 | 114 |
| |
| |||
139 | 139 |
| |
140 | 140 |
| |
141 | 141 |
| |
142 |
| - | |
| 142 | + | |
143 | 143 |
| |
144 | 144 |
| |
145 | 145 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
668 | 668 |
| |
669 | 669 |
| |
670 | 670 |
| |
671 |
| - | |
| 671 | + | |
672 | 672 |
| |
673 | 673 |
| |
674 | 674 |
| |
|
Lines changed: 78 additions & 10 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
471 | 471 |
| |
472 | 472 |
| |
473 | 473 |
| |
474 |
| - | |
| 474 | + | |
475 | 475 |
| |
476 | 476 |
| |
477 | 477 |
| |
| |||
486 | 486 |
| |
487 | 487 |
| |
488 | 488 |
| |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
489 | 495 |
| |
490 | 496 |
| |
491 | 497 |
| |
| |||
516 | 522 |
| |
517 | 523 |
| |
518 | 524 |
| |
519 |
| - | |
520 |
| - | |
521 |
| - | |
522 |
| - | |
523 |
| - | |
524 |
| - | |
525 |
| - | |
526 |
| - | |
527 | 525 |
| |
528 | 526 |
| |
529 | 527 |
| |
530 |
| - | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
531 | 532 |
| |
532 | 533 |
| |
533 | 534 |
| |
| |||
544 | 545 |
| |
545 | 546 |
| |
546 | 547 |
| |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + |
0 commit comments
Comments
(0)