Commit cd2b883
committed
support optional map keys
Optional keys of a list map (= associative lists) keys are simply left out
of the set of keys, which is different from a
key with an empty value like "" for a string and obviously also different from
a non-empty value. The comparison of values already supported that and the
comparison of list values supported lists with different number of entries.
Completely empty key field lists continue to trigger an error ("associative
list with keys has an element that omits all key fields <quoted list of
fields> (and doesn't have default values for any key fields)".
Downgrading from a version which has support for a new optional key to a
version which doesn't works as long as the optional key is not used, because
the ManagedFields don't mention the new key and field and there are no list
entries which have it set. It does not work when the new field and key are
used because the older version doesn't know that it needs to consider the new
key, as the key is not listed in the older version's OpenAPI spec.
This is considered acceptable because new fields will be alpha initially and
downgrades with an alpha feature enabled are not required to work. It is worth
calling out in release notes, though.1 parent 5f3bed2 commit cd2b883
File tree
4 files changed
+140
-17
lines changed- fieldpath
- merge
- typed
4 files changed
+140
-17
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
697 | 697 | | |
698 | 698 | | |
699 | 699 | | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
| 734 | + | |
| 735 | + | |
| 736 | + | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
| 741 | + | |
| 742 | + | |
| 743 | + | |
| 744 | + | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
700 | 752 | | |
701 | 753 | | |
702 | 754 | | |
| |||
707 | 759 | | |
708 | 760 | | |
709 | 761 | | |
| 762 | + | |
| 763 | + | |
710 | 764 | | |
711 | 765 | | |
712 | 766 | | |
713 | 767 | | |
714 | 768 | | |
715 | | - | |
| 769 | + | |
| 770 | + | |
716 | 771 | | |
717 | 772 | | |
718 | 773 | | |
| |||
723 | 778 | | |
724 | 779 | | |
725 | 780 | | |
726 | | - | |
| 781 | + | |
| 782 | + | |
727 | 783 | | |
728 | 784 | | |
729 | 785 | | |
| |||
739 | 795 | | |
740 | 796 | | |
741 | 797 | | |
742 | | - | |
| 798 | + | |
| 799 | + | |
743 | 800 | | |
744 | 801 | | |
745 | 802 | | |
| |||
756 | 813 | | |
757 | 814 | | |
758 | 815 | | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
759 | 851 | | |
760 | 852 | | |
761 | 853 | | |
762 | 854 | | |
763 | | - | |
| 855 | + | |
764 | 856 | | |
765 | 857 | | |
766 | 858 | | |
| |||
780 | 872 | | |
781 | 873 | | |
782 | 874 | | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
783 | 880 | | |
784 | 881 | | |
785 | 882 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
163 | 163 | | |
164 | 164 | | |
165 | 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 | + | |
166 | 196 | | |
167 | 197 | | |
168 | 198 | | |
| |||
176 | 206 | | |
177 | 207 | | |
178 | 208 | | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | 209 | | |
192 | 210 | | |
193 | 211 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
220 | | - | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
221 | 223 | | |
222 | 224 | | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
223 | 230 | | |
224 | 231 | | |
225 | 232 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| 216 | + | |
216 | 217 | | |
217 | 218 | | |
218 | 219 | | |
| |||
0 commit comments