Commit 97690ea
committed
Change array_offset to return subscripts, not offsets
... and rename it and its sibling array_offsets to array_position and
array_positions, to account for the changed behavior.
Having the functions return subscripts better matches existing practice,
and is better suited to using the result value as a subscript into the
array directly. For one-based arrays, the new definition is identical
to what was originally committed.
(We use the term "subscript" in the documentation, which is what we use
whenever we talk about arrays; but the functions themselves are named
using the word "position" to match the standard-defined POSITION()
functions.)
Author: Pavel Stěhule
Behavioral problem noted by Dean Rasheed.1 parent 0853630 commit 97690ea
File tree
8 files changed
+137
-118
lines changed- doc/src/sgml
- src
- backend/utils/adt
- include
- catalog
- utils
- test/regress
- expected
- sql
8 files changed
+137
-118
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
601 | 601 | | |
602 | 602 | | |
603 | 603 | | |
604 | | - | |
605 | | - | |
| 604 | + | |
| 605 | + | |
606 | 606 | | |
607 | | - | |
| 607 | + | |
608 | 608 | | |
609 | 609 | | |
610 | | - | |
611 | | - | |
612 | | - | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
613 | 613 | | |
614 | 614 | | |
615 | | - | |
616 | | - | |
617 | | - | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
618 | 618 | | |
619 | 619 | | |
620 | 620 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11481 | 11481 | | |
11482 | 11482 | | |
11483 | 11483 | | |
11484 | | - | |
| 11484 | + | |
11485 | 11485 | | |
11486 | 11486 | | |
11487 | | - | |
| 11487 | + | |
11488 | 11488 | | |
11489 | 11489 | | |
11490 | 11490 | | |
| |||
11606 | 11606 | | |
11607 | 11607 | | |
11608 | 11608 | | |
11609 | | - | |
| 11609 | + | |
11610 | 11610 | | |
11611 | 11611 | | |
11612 | 11612 | | |
11613 | | - | |
| 11613 | + | |
11614 | 11614 | | |
11615 | 11615 | | |
11616 | | - | |
| 11616 | + | |
11617 | 11617 | | |
11618 | 11618 | | |
11619 | 11619 | | |
11620 | 11620 | | |
11621 | 11621 | | |
11622 | | - | |
| 11622 | + | |
11623 | 11623 | | |
11624 | 11624 | | |
11625 | 11625 | | |
11626 | | - | |
| 11626 | + | |
11627 | 11627 | | |
11628 | 11628 | | |
11629 | | - | |
| 11629 | + | |
11630 | 11630 | | |
11631 | 11631 | | |
11632 | 11632 | | |
| |||
11741 | 11741 | | |
11742 | 11742 | | |
11743 | 11743 | | |
11744 | | - | |
| 11744 | + | |
11745 | 11745 | | |
11746 | 11746 | | |
11747 | 11747 | | |
11748 | 11748 | | |
11749 | 11749 | | |
11750 | | - | |
| 11750 | + | |
11751 | 11751 | | |
11752 | 11752 | | |
11753 | 11753 | | |
11754 | 11754 | | |
11755 | | - | |
| 11755 | + | |
11756 | 11756 | | |
11757 | 11757 | | |
11758 | 11758 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
659 | 659 | | |
660 | 660 | | |
661 | 661 | | |
662 | | - | |
| 662 | + | |
663 | 663 | | |
664 | 664 | | |
665 | 665 | | |
666 | 666 | | |
667 | 667 | | |
668 | 668 | | |
669 | 669 | | |
670 | | - | |
| 670 | + | |
671 | 671 | | |
672 | | - | |
| 672 | + | |
673 | 673 | | |
674 | 674 | | |
675 | 675 | | |
676 | | - | |
| 676 | + | |
677 | 677 | | |
678 | | - | |
| 678 | + | |
679 | 679 | | |
680 | 680 | | |
681 | 681 | | |
682 | | - | |
683 | | - | |
| 682 | + | |
| 683 | + | |
684 | 684 | | |
685 | 685 | | |
686 | 686 | | |
687 | 687 | | |
688 | 688 | | |
689 | | - | |
| 689 | + | |
690 | 690 | | |
691 | 691 | | |
692 | 692 | | |
693 | 693 | | |
694 | 694 | | |
695 | 695 | | |
696 | 696 | | |
697 | | - | |
698 | | - | |
| 697 | + | |
| 698 | + | |
699 | 699 | | |
700 | 700 | | |
701 | 701 | | |
| |||
731 | 731 | | |
732 | 732 | | |
733 | 733 | | |
| 734 | + | |
| 735 | + | |
734 | 736 | | |
735 | 737 | | |
736 | 738 | | |
737 | 739 | | |
738 | 740 | | |
739 | 741 | | |
740 | | - | |
| 742 | + | |
741 | 743 | | |
742 | | - | |
| 744 | + | |
743 | 745 | | |
744 | 746 | | |
745 | | - | |
| 747 | + | |
746 | 748 | | |
747 | 749 | | |
748 | 750 | | |
| |||
780 | 782 | | |
781 | 783 | | |
782 | 784 | | |
783 | | - | |
| 785 | + | |
784 | 786 | | |
785 | 787 | | |
786 | | - | |
| 788 | + | |
787 | 789 | | |
788 | 790 | | |
789 | 791 | | |
| |||
818 | 820 | | |
819 | 821 | | |
820 | 822 | | |
821 | | - | |
| 823 | + | |
822 | 824 | | |
823 | 825 | | |
824 | 826 | | |
825 | | - | |
826 | | - | |
| 827 | + | |
| 828 | + | |
827 | 829 | | |
828 | 830 | | |
829 | 831 | | |
| |||
833 | 835 | | |
834 | 836 | | |
835 | 837 | | |
836 | | - | |
| 838 | + | |
837 | 839 | | |
838 | 840 | | |
839 | 841 | | |
840 | 842 | | |
841 | 843 | | |
842 | 844 | | |
843 | 845 | | |
844 | | - | |
| 846 | + | |
845 | 847 | | |
846 | 848 | | |
847 | 849 | | |
| |||
854 | 856 | | |
855 | 857 | | |
856 | 858 | | |
| 859 | + | |
| 860 | + | |
857 | 861 | | |
858 | 862 | | |
859 | 863 | | |
| |||
912 | 916 | | |
913 | 917 | | |
914 | 918 | | |
915 | | - | |
| 919 | + | |
916 | 920 | | |
917 | 921 | | |
918 | 922 | | |
919 | 923 | | |
920 | | - | |
| 924 | + | |
921 | 925 | | |
922 | 926 | | |
923 | 927 | | |
| |||
927 | 931 | | |
928 | 932 | | |
929 | 933 | | |
930 | | - | |
| 934 | + | |
931 | 935 | | |
932 | 936 | | |
933 | 937 | | |
| |||
937 | 941 | | |
938 | 942 | | |
939 | 943 | | |
940 | | - | |
| 944 | + | |
941 | 945 | | |
942 | 946 | | |
943 | 947 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
895 | 895 | | |
896 | 896 | | |
897 | 897 | | |
898 | | - | |
| 898 | + | |
899 | 899 | | |
900 | | - | |
| 900 | + | |
901 | 901 | | |
902 | | - | |
| 902 | + | |
903 | 903 | | |
904 | 904 | | |
905 | 905 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
358 | 358 | | |
359 | 359 | | |
360 | 360 | | |
361 | | - | |
362 | | - | |
363 | | - | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
364 | 364 | | |
365 | 365 | | |
366 | 366 | | |
| |||
0 commit comments