forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit486cfb3
committed
Fix parsetree representation of XMLTABLE(XMLNAMESPACES(DEFAULT ...)).
The original coding for XMLTABLE thought it could represent a defaultnamespace by a T_String Value node with a null string pointer. That'snot okay, though; in particular outfuncs.c/readfuncs.c are not on boardwith such a representation, meaning you'll get a null pointer crashif you try to store a view or rule containing this construct.To fix, change the parsetree representation so that we have a NULLlist element, instead of a bogus Value node.This isn't really a functional limitation since default XML namespacesaren't yet implemented in the executor; you'd just get "DEFAULTnamespace is not supported" anyway. But crashes are not nice, soback-patch to v10 where this syntax was added. Ordinarily we'd considera parsetree representation change to be un-backpatchable; but sinceexisting releases would crash on the way to storing such constructs,there can't be any existing views/rules to be incompatible with.Per report from Andrey Lepikhov.Discussion:https://postgr.es/m/3690074f-abd2-56a9-144a-aa5545d7a291@postgrespro.ru1 parentd45f157 commit486cfb3
File tree
5 files changed
+23
-15
lines changed- src
- backend
- executor
- parser
- utils/adt
- include/nodes
5 files changed
+23
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
364 | 364 | | |
365 | 365 | | |
366 | 366 | | |
367 | | - | |
| 367 | + | |
368 | 368 | | |
| 369 | + | |
369 | 370 | | |
370 | 371 | | |
371 | 372 | | |
| |||
374 | 375 | | |
375 | 376 | | |
376 | 377 | | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
377 | 381 | | |
378 | 382 | | |
379 | 383 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
779 | 779 | | |
780 | 780 | | |
781 | 781 | | |
782 | | - | |
| 782 | + | |
783 | 783 | | |
784 | 784 | | |
785 | 785 | | |
| |||
900 | 900 | | |
901 | 901 | | |
902 | 902 | | |
903 | | - | |
| 903 | + | |
904 | 904 | | |
905 | | - | |
| 905 | + | |
906 | 906 | | |
907 | | - | |
| 907 | + | |
908 | 908 | | |
909 | 909 | | |
910 | 910 | | |
911 | | - | |
| 911 | + | |
912 | 912 | | |
913 | 913 | | |
914 | 914 | | |
| |||
922 | 922 | | |
923 | 923 | | |
924 | 924 | | |
925 | | - | |
926 | | - | |
| 925 | + | |
| 926 | + | |
| 927 | + | |
927 | 928 | | |
928 | 929 | | |
929 | 930 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9739 | 9739 | | |
9740 | 9740 | | |
9741 | 9741 | | |
9742 | | - | |
| 9742 | + | |
9743 | 9743 | | |
9744 | 9744 | | |
9745 | 9745 | | |
9746 | 9746 | | |
9747 | 9747 | | |
9748 | 9748 | | |
9749 | | - | |
| 9749 | + | |
9750 | 9750 | | |
9751 | 9751 | | |
9752 | | - | |
| 9752 | + | |
9753 | 9753 | | |
9754 | 9754 | | |
9755 | 9755 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1564 | 1564 | | |
1565 | 1565 | | |
1566 | 1566 | | |
1567 | | - | |
1568 | | - | |
| 1567 | + | |
| 1568 | + | |
1569 | 1569 | | |
1570 | 1570 | | |
1571 | 1571 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
78 | 81 | | |
79 | 82 | | |
80 | 83 | | |
81 | 84 | | |
82 | | - | |
83 | | - | |
| 85 | + | |
| 86 | + | |
84 | 87 | | |
85 | 88 | | |
86 | 89 | | |
| |||
0 commit comments
Comments
(0)