ofs | hex dump | ascii |
---|
0000 | 62 30 56 49 4d 20 37 2e 33 00 00 00 00 10 00 00 65 d4 20 57 1c f2 ff 03 59 2c 00 00 72 68 61 61 | b0VIM.7.3.......e..W....Y,..rhaa |
0020 | 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | s............................... |
0040 | 00 00 00 00 52 6f 62 65 72 74 73 2d 4d 42 50 2d 32 2e 66 69 6f 73 2d 72 6f 75 74 65 72 2e 68 6f | ....Roberts-MBP-2.fios-router.ho |
0060 | 6d 65 00 00 00 00 00 00 00 00 00 00 7e 72 68 61 61 73 2f 70 67 73 71 6c 2f 73 72 63 2f 62 61 63 | me..........~rhaas/pgsql/src/bac |
0080 | 6b 65 6e 64 2f 6e 6f 64 65 73 2f 6e 6f 64 65 46 75 6e 63 73 2e 63 00 00 00 00 00 00 00 00 00 00 | kend/nodes/nodeFuncs.c.......... |
00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03e0 | 00 00 00 00 00 00 00 00 00 75 74 66 2d 38 0d 00 33 32 31 30 00 00 00 00 23 22 21 20 13 12 55 00 | .........utf-8..3210....#"!...U. |
0400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
04a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
04c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
04e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
05a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
05c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
05e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
06e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
07e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
08a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
08c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
08e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1000 | 74 70 1c 00 7f 00 00 00 02 00 00 00 00 00 00 00 82 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 | tp.............................. |
1020 | 01 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 88 00 00 00 00 00 00 00 83 00 00 00 00 00 00 00 | ................................ |
1040 | 01 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 7d 00 00 00 00 00 00 00 0b 01 00 00 00 00 00 00 | ................}............... |
1060 | 01 00 00 00 00 00 00 00 06 00 00 00 00 00 00 00 83 00 00 00 00 00 00 00 88 01 00 00 00 00 00 00 | ................................ |
1080 | 01 00 00 00 00 00 00 00 07 00 00 00 00 00 00 00 85 00 00 00 00 00 00 00 0b 02 00 00 00 00 00 00 | ................................ |
10a0 | 01 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 8e 00 00 00 00 00 00 00 90 02 00 00 00 00 00 00 | ................................ |
10c0 | 01 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 7a 00 00 00 00 00 00 00 1e 03 00 00 00 00 00 00 | ................z............... |
10e0 | 01 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 8c 00 00 00 00 00 00 00 98 03 00 00 00 00 00 00 | ................................ |
1100 | 01 00 00 00 00 00 00 00 0b 00 00 00 00 00 00 00 75 00 00 00 00 00 00 00 24 04 00 00 00 00 00 00 | ................u.......$....... |
1120 | 01 00 00 00 00 00 00 00 0c 00 00 00 00 00 00 00 72 00 00 00 00 00 00 00 99 04 00 00 00 00 00 00 | ................r............... |
1140 | 01 00 00 00 00 00 00 00 0d 00 00 00 00 00 00 00 7b 00 00 00 00 00 00 00 0b 05 00 00 00 00 00 00 | ................{............... |
1160 | 01 00 00 00 00 00 00 00 0e 00 00 00 00 00 00 00 79 00 00 00 00 00 00 00 86 05 00 00 00 00 00 00 | ................y............... |
1180 | 01 00 00 00 00 00 00 00 0f 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 00 ff 05 00 00 00 00 00 00 | ................\............... |
11a0 | 01 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 73 00 00 00 00 00 00 00 5b 06 00 00 00 00 00 00 | ................s.......[....... |
11c0 | 01 00 00 00 00 00 00 00 11 00 00 00 00 00 00 00 84 00 00 00 00 00 00 00 ce 06 00 00 00 00 00 00 | ................................ |
11e0 | 01 00 00 00 00 00 00 00 12 00 00 00 00 00 00 00 88 00 00 00 00 00 00 00 52 07 00 00 00 00 00 00 | ........................R....... |
1200 | 01 00 00 00 00 00 00 00 13 00 00 00 00 00 00 00 83 00 00 00 00 00 00 00 da 07 00 00 00 00 00 00 | ................................ |
1220 | 01 00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 57 00 00 00 00 00 00 00 5d 08 00 00 00 00 00 00 | ................W.......]....... |
1240 | 01 00 00 00 00 00 00 00 15 00 00 00 00 00 00 00 84 00 00 00 00 00 00 00 b4 08 00 00 00 00 00 00 | ................................ |
1260 | 01 00 00 00 00 00 00 00 16 00 00 00 00 00 00 00 86 00 00 00 00 00 00 00 38 09 00 00 00 00 00 00 | ........................8....... |
1280 | 01 00 00 00 00 00 00 00 17 00 00 00 00 00 00 00 88 00 00 00 00 00 00 00 be 09 00 00 00 00 00 00 | ................................ |
12a0 | 01 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 7e 00 00 00 00 00 00 00 46 0a 00 00 00 00 00 00 | ................~.......F....... |
12c0 | 01 00 00 00 00 00 00 00 19 00 00 00 00 00 00 00 6f 00 00 00 00 00 00 00 c4 0a 00 00 00 00 00 00 | ................o............... |
12e0 | 01 00 00 00 00 00 00 00 1a 00 00 00 00 00 00 00 7f 00 00 00 00 00 00 00 33 0b 00 00 00 00 00 00 | ........................3....... |
1300 | 01 00 00 00 00 00 00 00 1b 00 00 00 00 00 00 00 8a 00 00 00 00 00 00 00 b2 0b 00 00 00 00 00 00 | ................................ |
1320 | 01 00 00 00 00 00 00 00 1c 00 00 00 00 00 00 00 8d 00 00 00 00 00 00 00 3c 0c 00 00 00 00 00 00 | ........................<....... |
1340 | 01 00 00 00 00 00 00 00 1d 00 00 00 00 00 00 00 90 00 00 00 00 00 00 00 c9 0c 00 00 00 00 00 00 | ................................ |
1360 | 01 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 87 00 00 00 00 00 00 00 59 0d 00 00 00 00 00 00 | ........................Y....... |
1380 | 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
13a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
13c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
13e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
14a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
14c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
14e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
15a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
15c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
15e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
16a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
16c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
16e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
17a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
17c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
17e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
18a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
18c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
18e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
19a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
19c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
19e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
2000 | 61 64 00 00 05 00 00 00 29 02 00 00 00 10 00 00 82 00 00 00 00 00 00 00 b4 0f 00 00 b1 0f 00 00 | ad......)....................... |
2020 | a2 0f 00 00 6a 0f 00 00 67 0f 00 00 1e 0f 00 00 d6 0e 00 00 d3 0e 00 00 d0 0e 00 00 be 0e 00 00 | ....j...g....................... |
2040 | 9b 0e 00 00 98 0e 00 00 4c 0e 00 00 48 0e 00 00 32 0e 00 00 31 0e 00 00 0f 0e 00 00 f2 0d 00 00 | ........L...H...2...1........... |
2060 | db 0d 00 00 be 0d 00 00 a1 0d 00 00 84 0d 00 00 68 0d 00 00 4c 0d 00 00 2f 0d 00 00 2e 0d 00 00 | ................h...L.../....... |
2080 | 2d 0d 00 00 e7 0c 00 00 bb 0c 00 00 77 0c 00 00 5b 0c 00 00 13 0c 00 00 e8 0b 00 00 e7 0b 00 00 | -...........w...[............... |
20a0 | e6 0b 00 00 e3 0b 00 00 d5 0b 00 00 98 0b 00 00 94 0b 00 00 90 0b 00 00 75 0b 00 00 73 0b 00 00 | ........................u...s... |
20c0 | 66 0b 00 00 65 0b 00 00 59 0b 00 00 44 0b 00 00 43 0b 00 00 2b 0b 00 00 28 0b 00 00 1a 0b 00 00 | f...e...Y...D...C...+...(....... |
20e0 | f1 0a 00 00 e7 0a 00 00 d7 0a 00 00 aa 0a 00 00 a0 0a 00 00 90 0a 00 00 63 0a 00 00 59 0a 00 00 | ........................c...Y... |
2100 | 48 0a 00 00 16 0a 00 00 0c 0a 00 00 f5 09 00 00 e2 09 00 00 d8 09 00 00 c3 09 00 00 93 09 00 00 | H............................... |
2120 | 89 09 00 00 76 09 00 00 71 09 00 00 39 09 00 00 38 09 00 00 fb 08 00 00 be 08 00 00 9a 08 00 00 | ....v...q...9...8............... |
2140 | 91 08 00 00 6e 08 00 00 69 08 00 00 5f 08 00 00 4c 08 00 00 17 08 00 00 0d 08 00 00 f6 07 00 00 | ....n...i..._...L............... |
2160 | b5 07 00 00 ab 07 00 00 9a 07 00 00 69 07 00 00 5f 07 00 00 48 07 00 00 11 07 00 00 07 07 00 00 | ............i..._...H........... |
2180 | f2 06 00 00 bd 06 00 00 b3 06 00 00 97 06 00 00 84 06 00 00 7a 06 00 00 67 06 00 00 54 06 00 00 | ....................z...g...T... |
21a0 | 4a 06 00 00 38 06 00 00 33 06 00 00 fe 05 00 00 fd 05 00 00 cd 05 00 00 a1 05 00 00 9b 05 00 00 | J...8...3....................... |
21c0 | 5c 05 00 00 27 05 00 00 0f 05 00 00 0e 05 00 00 e7 04 00 00 a7 04 00 00 6e 04 00 00 49 04 00 00 | \...'...................n...I... |
21e0 | 2c 04 00 00 01 04 00 00 d1 03 00 00 ca 03 00 00 9e 03 00 00 81 03 00 00 6b 03 00 00 3e 03 00 00 | ,.......................k...>... |
2200 | ff 02 00 00 c6 02 00 00 bf 02 00 00 b9 02 00 00 81 02 00 00 7b 02 00 00 40 02 00 00 29 02 00 00 | ....................{...@...)... |
2220 | 28 02 00 00 00 00 00 00 00 09 09 09 09 09 74 79 70 65 20 3d 20 52 45 43 4f 52 44 4f 49 44 3b 00 | (.............type.=.RECORDOID;. |
2240 | 09 09 09 09 09 2f 2a 20 4d 55 4c 54 49 45 58 50 52 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6e 73 | ...../*.MULTIEXPR.is.always.cons |
2260 | 69 64 65 72 65 64 20 74 6f 20 72 65 74 75 72 6e 20 52 45 43 4f 52 44 20 2a 2f 00 09 09 09 09 7b | idered.to.return.RECORD.*/.....{ |
2280 | 00 09 09 09 09 65 6c 73 65 20 69 66 20 28 73 75 62 6c 69 6e 6b 2d 3e 73 75 62 4c 69 6e 6b 54 79 | .....else.if.(sublink->subLinkTy |
22a0 | 70 65 20 3d 3d 20 4d 55 4c 54 49 45 58 50 52 5f 53 55 42 4c 49 4e 4b 29 00 09 09 09 09 7d 00 09 | pe.==.MULTIEXPR_SUBLINK).....}.. |
22c0 | 09 09 09 09 7d 00 09 09 09 09 09 09 09 66 6f 72 6d 61 74 5f 74 79 70 65 5f 62 65 28 65 78 70 72 | ....}........format_type_be(expr |
22e0 | 54 79 70 65 28 28 4e 6f 64 65 20 2a 29 20 74 65 6e 74 2d 3e 65 78 70 72 29 29 29 29 29 3b 00 09 | Type((Node.*).tent->expr)))));.. |
2300 | 09 09 09 09 09 09 09 09 20 65 72 72 6d 73 67 28 22 63 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 | .........errmsg("could.not.find. |
2320 | 61 72 72 61 79 20 74 79 70 65 20 66 6f 72 20 64 61 74 61 20 74 79 70 65 20 25 73 22 2c 00 09 09 | array.type.for.data.type.%s",... |
2340 | 09 09 09 09 09 09 09 28 65 72 72 63 6f 64 65 28 45 52 52 43 4f 44 45 5f 55 4e 44 45 46 49 4e 45 | .......(errcode(ERRCODE_UNDEFINE |
2360 | 44 5f 4f 42 4a 45 43 54 29 2c 00 09 09 09 09 09 09 09 65 72 65 70 6f 72 74 28 45 52 52 4f 52 2c | D_OBJECT),........ereport(ERROR, |
2380 | 00 09 09 09 09 09 09 69 66 20 28 21 4f 69 64 49 73 56 61 6c 69 64 28 74 79 70 65 29 29 00 09 09 | .......if.(!OidIsValid(type))... |
23a0 | 09 09 09 09 74 79 70 65 20 3d 20 67 65 74 5f 70 72 6f 6d 6f 74 65 64 5f 61 72 72 61 79 5f 74 79 | ....type.=.get_promoted_array_ty |
23c0 | 70 65 28 74 79 70 65 29 3b 00 09 09 09 09 09 7b 00 09 09 09 09 09 69 66 20 28 73 75 62 6c 69 6e | pe(type);......{......if.(sublin |
23e0 | 6b 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d 20 41 52 52 41 59 5f 53 55 42 4c 49 4e 4b 29 | k->subLinkType.==.ARRAY_SUBLINK) |
2400 | 00 09 09 09 09 09 74 79 70 65 20 3d 20 65 78 70 72 54 79 70 65 28 28 4e 6f 64 65 20 2a 29 20 74 | ......type.=.exprType((Node.*).t |
2420 | 65 6e 74 2d 3e 65 78 70 72 29 3b 00 09 09 09 09 09 41 73 73 65 72 74 28 21 74 65 6e 74 2d 3e 72 | ent->expr);......Assert(!tent->r |
2440 | 65 73 6a 75 6e 6b 29 3b 00 09 09 09 09 09 41 73 73 65 72 74 28 49 73 41 28 74 65 6e 74 2c 20 54 | esjunk);......Assert(IsA(tent,.T |
2460 | 61 72 67 65 74 45 6e 74 72 79 29 29 3b 00 09 09 09 09 09 74 65 6e 74 20 3d 20 28 54 61 72 67 65 | argetEntry));......tent.=.(Targe |
2480 | 74 45 6e 74 72 79 20 2a 29 20 6c 69 6e 69 74 69 61 6c 28 71 74 72 65 65 2d 3e 74 61 72 67 65 74 | tEntry.*).linitial(qtree->target |
24a0 | 4c 69 73 74 29 3b 00 09 09 09 09 09 09 65 6c 6f 67 28 45 52 52 4f 52 2c 20 22 63 61 6e 6e 6f 74 | List);.......elog(ERROR,."cannot |
24c0 | 20 67 65 74 20 74 79 70 65 20 66 6f 72 20 75 6e 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 75 62 6c | .get.type.for.untransformed.subl |
24e0 | 69 6e 6b 22 29 3b 00 09 09 09 09 09 69 66 20 28 21 71 74 72 65 65 20 7c 7c 20 21 49 73 41 28 71 | ink");......if.(!qtree.||.!IsA(q |
2500 | 74 72 65 65 2c 20 51 75 65 72 79 29 29 00 00 09 09 09 09 09 54 61 72 67 65 74 45 6e 74 72 79 20 | tree,.Query)).......TargetEntry. |
2520 | 2a 74 65 6e 74 3b 00 09 09 09 09 09 51 75 65 72 79 09 20 20 20 2a 71 74 72 65 65 20 3d 20 28 51 | *tent;......Query....*qtree.=.(Q |
2540 | 75 65 72 79 20 2a 29 20 73 75 62 6c 69 6e 6b 2d 3e 73 75 62 73 65 6c 65 63 74 3b 00 09 09 09 09 | uery.*).sublink->subselect;..... |
2560 | 09 2f 2a 20 67 65 74 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 73 75 62 73 65 6c 65 63 | ./*.get.the.type.of.the.subselec |
2580 | 74 27 73 20 66 69 72 73 74 20 74 61 72 67 65 74 20 63 6f 6c 75 6d 6e 20 2a 2f 00 09 09 09 09 7b | t's.first.target.column.*/.....{ |
25a0 | 00 09 09 09 09 09 73 75 62 6c 69 6e 6b 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d 20 41 52 | ......sublink->subLinkType.==.AR |
25c0 | 52 41 59 5f 53 55 42 4c 49 4e 4b 29 00 09 09 09 09 69 66 20 28 73 75 62 6c 69 6e 6b 2d 3e 73 75 | RAY_SUBLINK).....if.(sublink->su |
25e0 | 62 4c 69 6e 6b 54 79 70 65 20 3d 3d 20 45 58 50 52 5f 53 55 42 4c 49 4e 4b 20 7c 7c 00 00 09 09 | bLinkType.==.EXPR_SUBLINK.||.... |
2600 | 09 09 63 6f 6e 73 74 20 53 75 62 4c 69 6e 6b 20 2a 73 75 62 6c 69 6e 6b 20 3d 20 28 63 6f 6e 73 | ..const.SubLink.*sublink.=.(cons |
2620 | 74 20 53 75 62 4c 69 6e 6b 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 | t.SubLink.*).expr;....{...case.T |
2640 | 5f 53 75 62 4c 69 6e 6b 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 42 4f | _SubLink:....break;....type.=.BO |
2660 | 4f 4c 4f 49 44 3b 00 09 09 63 61 73 65 20 54 5f 42 6f 6f 6c 45 78 70 72 3a 00 09 09 09 62 72 65 | OLOID;...case.T_BoolExpr:....bre |
2680 | 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 42 4f 4f 4c 4f 49 44 3b 00 09 09 63 61 73 65 20 54 5f | ak;....type.=.BOOLOID;...case.T_ |
26a0 | 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | ScalarArrayOpExpr:....break;.... |
26c0 | 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 4e 75 6c 6c 49 66 45 78 70 72 20 2a 29 20 65 78 70 | type.=.((const.NullIfExpr.*).exp |
26e0 | 72 29 2d 3e 6f 70 72 65 73 75 6c 74 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 4e 75 6c 6c 49 | r)->opresulttype;...case.T_NullI |
2700 | 66 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e | fExpr:....break;....type.=.((con |
2720 | 73 74 20 44 69 73 74 69 6e 63 74 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6f 70 72 65 73 75 | st.DistinctExpr.*).expr)->opresu |
2740 | 6c 74 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 44 69 73 74 69 6e 63 74 45 78 70 72 3a 00 09 | lttype;...case.T_DistinctExpr:.. |
2760 | 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 4f 70 45 78 70 | ..break;....type.=.((const.OpExp |
2780 | 72 20 2a 29 20 65 78 70 72 29 2d 3e 6f 70 72 65 73 75 6c 74 74 79 70 65 3b 00 09 09 63 61 73 65 | r.*).expr)->opresulttype;...case |
27a0 | 20 54 5f 4f 70 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 65 | .T_OpExpr:....break;....type.=.e |
27c0 | 78 70 72 54 79 70 65 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 4e 61 6d 65 64 41 72 | xprType((Node.*).((const.NamedAr |
27e0 | 67 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 67 29 3b 00 09 09 63 61 73 65 20 54 5f 4e | gExpr.*).expr)->arg);...case.T_N |
2800 | 61 6d 65 64 41 72 67 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d | amedArgExpr:....break;....type.= |
2820 | 20 28 28 63 6f 6e 73 74 20 46 75 6e 63 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 66 75 6e 63 | .((const.FuncExpr.*).expr)->func |
2840 | 72 65 73 75 6c 74 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 46 75 6e 63 45 78 70 72 3a 00 09 | resulttype;...case.T_FuncExpr:.. |
2860 | 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 74 79 70 65 20 3d 20 61 72 72 61 79 72 | ..break;....}......type.=.arrayr |
2880 | 65 66 2d 3e 72 65 66 65 6c 65 6d 74 79 70 65 3b 00 09 09 09 09 65 6c 73 65 00 09 09 09 09 09 74 | ef->refelemtype;.....else......t |
28a0 | 79 70 65 20 3d 20 61 72 72 61 79 72 65 66 2d 3e 72 65 66 61 72 72 61 79 74 79 70 65 3b 00 09 09 | ype.=.arrayref->refarraytype;... |
28c0 | 09 09 69 66 20 28 61 72 72 61 79 72 65 66 2d 3e 72 65 66 6c 6f 77 65 72 69 6e 64 65 78 70 72 20 | ..if.(arrayref->reflowerindexpr. |
28e0 | 7c 7c 20 61 72 72 61 79 72 65 66 2d 3e 72 65 66 61 73 73 67 6e 65 78 70 72 29 00 09 09 09 09 2f | ||.arrayref->refassgnexpr)...../ |
2900 | 2a 20 73 6c 69 63 65 20 61 6e 64 2f 6f 72 20 73 74 6f 72 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 | *.slice.and/or.store.operations. |
2920 | 79 69 65 6c 64 20 74 68 65 20 61 72 72 61 79 20 74 79 70 65 20 2a 2f 00 00 09 09 09 09 63 6f 6e | yield.the.array.type.*/......con |
2940 | 73 74 20 41 72 72 61 79 52 65 66 20 2a 61 72 72 61 79 72 65 66 20 3d 20 28 63 6f 6e 73 74 20 41 | st.ArrayRef.*arrayref.=.(const.A |
2960 | 72 72 61 79 52 65 66 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 | rrayRef.*).expr;....{...case.T_A |
2980 | 72 72 61 79 52 65 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 | rrayRef:....break;....type.=.((c |
29a0 | 6f 6e 73 74 20 57 69 6e 64 6f 77 46 75 6e 63 20 2a 29 20 65 78 70 72 29 2d 3e 77 69 6e 74 79 70 | onst.WindowFunc.*).expr)->wintyp |
29c0 | 65 3b 00 09 09 63 61 73 65 20 54 5f 57 69 6e 64 6f 77 46 75 6e 63 3a 00 09 09 09 62 72 65 61 6b | e;...case.T_WindowFunc:....break |
29e0 | 3b 00 09 09 09 74 79 70 65 20 3d 20 49 4e 54 34 4f 49 44 3b 00 09 09 63 61 73 65 20 54 5f 47 72 | ;....type.=.INT4OID;...case.T_Gr |
2a00 | 6f 75 70 69 6e 67 46 75 6e 63 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 | oupingFunc:....break;....type.=. |
2a20 | 28 28 63 6f 6e 73 74 20 41 67 67 72 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 61 67 67 6f 75 74 70 | ((const.Aggref.*).expr)->aggoutp |
2a40 | 75 74 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 41 67 67 72 65 66 3a 00 09 09 09 62 72 65 61 | uttype;...case.T_Aggref:....brea |
2a60 | 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 50 61 72 61 6d 20 2a 29 20 65 78 | k;....type.=.((const.Param.*).ex |
2a80 | 70 72 29 2d 3e 70 61 72 61 6d 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 50 61 72 61 6d 3a 00 | pr)->paramtype;...case.T_Param:. |
2aa0 | 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 43 6f 6e 73 | ...break;....type.=.((const.Cons |
2ac0 | 74 20 2a 29 20 65 78 70 72 29 2d 3e 63 6f 6e 73 74 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f | t.*).expr)->consttype;...case.T_ |
2ae0 | 43 6f 6e 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e | Const:....break;....type.=.((con |
2b00 | 73 74 20 56 61 72 20 2a 29 20 65 78 70 72 29 2d 3e 76 61 72 74 79 70 65 3b 00 09 09 63 61 73 65 | st.Var.*).expr)->vartype;...case |
2b20 | 20 54 5f 56 61 72 3a 00 09 7b 00 09 73 77 69 74 63 68 20 28 6e 6f 64 65 54 61 67 28 65 78 70 72 | .T_Var:..{..switch.(nodeTag(expr |
2b40 | 29 29 00 00 09 09 72 65 74 75 72 6e 20 49 6e 76 61 6c 69 64 4f 69 64 3b 00 09 69 66 20 28 21 65 | ))....return.InvalidOid;..if.(!e |
2b60 | 78 70 72 29 00 00 09 4f 69 64 09 09 09 74 79 70 65 3b 00 7b 00 65 78 70 72 54 79 70 65 28 63 6f | xpr)...Oid...type;.{.exprType(co |
2b80 | 6e 73 74 20 4e 6f 64 65 20 2a 65 78 70 72 29 00 4f 69 64 00 20 2a 2f 00 20 2a 09 20 20 72 65 74 | nst.Node.*expr).Oid..*/..*...ret |
2ba0 | 75 72 6e 73 20 74 68 65 20 4f 69 64 20 6f 66 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 | urns.the.Oid.of.the.type.of.the. |
2bc0 | 65 78 70 72 65 73 73 69 6f 6e 27 73 20 72 65 73 75 6c 74 2e 00 20 2a 09 65 78 70 72 54 79 70 65 | expression's.result...*.exprType |
2be0 | 20 2d 00 2f 2a 00 00 00 09 09 09 09 09 20 20 20 62 6f 6f 6c 20 28 2a 77 61 6c 6b 65 72 29 20 28 | .-./*...........bool.(*walker).( |
2c00 | 29 2c 20 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 29 3b 00 73 74 61 74 69 63 20 62 6f 6f 6c 20 70 | ),.void.*context);.static.bool.p |
2c20 | 6c 61 6e 73 74 61 74 65 5f 77 61 6c 6b 5f 6d 65 6d 62 65 72 73 28 4c 69 73 74 20 2a 70 6c 61 6e | lanstate_walk_members(List.*plan |
2c40 | 73 2c 20 50 6c 61 6e 53 74 61 74 65 20 2a 2a 70 6c 61 6e 73 74 61 74 65 73 2c 00 09 09 09 09 09 | s,.PlanState.**planstates,...... |
2c60 | 09 09 09 09 09 09 09 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 29 3b 00 73 74 61 74 69 63 20 62 6f | .......void.*context);.static.bo |
2c80 | 6f 6c 20 70 6c 61 6e 73 74 61 74 65 5f 77 61 6c 6b 5f 73 75 62 70 6c 61 6e 73 28 4c 69 73 74 20 | ol.planstate_walk_subplans(List. |
2ca0 | 2a 70 6c 61 6e 73 2c 20 62 6f 6f 6c 20 28 2a 77 61 6c 6b 65 72 29 20 28 29 2c 00 73 74 61 74 69 | *plans,.bool.(*walker).(),.stati |
2cc0 | 63 20 69 6e 74 09 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 69 6e 74 20 6c 6f 63 31 2c 20 69 6e 74 20 | c.int.leftmostLoc(int.loc1,.int. |
2ce0 | 6c 6f 63 32 29 3b 00 73 74 61 74 69 63 20 62 6f 6f 6c 20 65 78 70 72 65 73 73 69 6f 6e 5f 72 65 | loc2);.static.bool.expression_re |
2d00 | 74 75 72 6e 73 5f 73 65 74 5f 77 61 6c 6b 65 72 28 4e 6f 64 65 20 2a 6e 6f 64 65 2c 20 76 6f 69 | turns_set_walker(Node.*node,.voi |
2d20 | 64 20 2a 63 6f 6e 74 65 78 74 29 3b 00 00 00 23 69 6e 63 6c 75 64 65 20 22 75 74 69 6c 73 2f 6c | d.*context);...#include."utils/l |
2d40 | 73 79 73 63 61 63 68 65 2e 68 22 00 23 69 6e 63 6c 75 64 65 20 22 75 74 69 6c 73 2f 62 75 69 6c | syscache.h".#include."utils/buil |
2d60 | 74 69 6e 73 2e 68 22 00 23 69 6e 63 6c 75 64 65 20 22 6e 6f 64 65 73 2f 72 65 6c 61 74 69 6f 6e | tins.h".#include."nodes/relation |
2d80 | 2e 68 22 00 23 69 6e 63 6c 75 64 65 20 22 6e 6f 64 65 73 2f 6e 6f 64 65 46 75 6e 63 73 2e 68 22 | .h".#include."nodes/nodeFuncs.h" |
2da0 | 00 23 69 6e 63 6c 75 64 65 20 22 6e 6f 64 65 73 2f 65 78 65 63 6e 6f 64 65 73 2e 68 22 00 23 69 | .#include."nodes/execnodes.h".#i |
2dc0 | 6e 63 6c 75 64 65 20 22 6e 6f 64 65 73 2f 6d 61 6b 65 66 75 6e 63 73 2e 68 22 00 23 69 6e 63 6c | nclude."nodes/makefuncs.h".#incl |
2de0 | 75 64 65 20 22 6d 69 73 63 61 64 6d 69 6e 2e 68 22 00 23 69 6e 63 6c 75 64 65 20 22 63 61 74 61 | ude."miscadmin.h".#include."cata |
2e00 | 6c 6f 67 2f 70 67 5f 74 79 70 65 2e 68 22 00 23 69 6e 63 6c 75 64 65 20 22 63 61 74 61 6c 6f 67 | log/pg_type.h".#include."catalog |
2e20 | 2f 70 67 5f 63 6f 6c 6c 61 74 69 6f 6e 2e 68 22 00 00 23 69 6e 63 6c 75 64 65 20 22 70 6f 73 74 | /pg_collation.h"..#include."post |
2e40 | 67 72 65 73 2e 68 22 00 20 2a 2f 00 20 2a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | gres.h"..*/..*------------------ |
2e60 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
2e80 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 20 2a 00 20 2a 09 20 20 | -----------------------..*..*... |
2ea0 | 73 72 63 2f 62 61 63 6b 65 6e 64 2f 6e 6f 64 65 73 2f 6e 6f 64 65 46 75 6e 63 73 2e 63 00 20 2a | src/backend/nodes/nodeFuncs.c..* |
2ec0 | 20 49 44 45 4e 54 49 46 49 43 41 54 49 4f 4e 00 20 2a 00 20 2a 00 20 2a 20 50 6f 72 74 69 6f 6e | .IDENTIFICATION..*..*..*.Portion |
2ee0 | 73 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 34 2c 20 52 65 67 65 6e 74 73 20 6f 66 | s.Copyright.(c).1994,.Regents.of |
2f00 | 20 74 68 65 20 55 6e 69 76 65 72 73 69 74 79 20 6f 66 20 43 61 6c 69 66 6f 72 6e 69 61 00 20 2a | .the.University.of.California..* |
2f20 | 20 50 6f 72 74 69 6f 6e 73 20 43 6f 70 79 72 69 67 68 74 20 28 63 29 20 31 39 39 36 2d 32 30 31 | .Portions.Copyright.(c).1996-201 |
2f40 | 36 2c 20 50 6f 73 74 67 72 65 53 51 4c 20 47 6c 6f 62 61 6c 20 44 65 76 65 6c 6f 70 6d 65 6e 74 | 6,.PostgreSQL.Global.Development |
2f60 | 20 47 72 6f 75 70 00 20 2a 00 20 2a 09 09 56 61 72 69 6f 75 73 20 67 65 6e 65 72 61 6c 2d 70 75 | .Group..*..*..Various.general-pu |
2f80 | 72 70 6f 73 65 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 73 20 6f 66 20 4e 6f 64 65 20 74 72 65 65 | rpose.manipulations.of.Node.tree |
2fa0 | 73 00 20 2a 20 6e 6f 64 65 46 75 6e 63 73 2e 63 00 20 2a 00 2f 2a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | s..*.nodeFuncs.c..*./*---------- |
2fc0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
2fe0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 00 | -------------------------------. |
3000 | 61 64 00 00 dc 01 00 00 14 04 00 00 00 10 00 00 87 00 00 00 00 00 00 00 fd 0f 00 00 ee 0f 00 00 | ad.............................. |
3020 | ec 0f 00 00 eb 0f 00 00 e8 0f 00 00 b5 0f 00 00 b2 0f 00 00 6a 0f 00 00 44 0f 00 00 40 0f 00 00 | ....................j...D...@... |
3040 | 3b 0f 00 00 0f 0f 00 00 f5 0e 00 00 df 0e 00 00 dd 0e 00 00 bb 0e 00 00 aa 0e 00 00 a9 0e 00 00 | ;............................... |
3060 | 97 0e 00 00 53 0e 00 00 44 0e 00 00 43 0e 00 00 33 0e 00 00 13 0e 00 00 10 0e 00 00 de 0d 00 00 | ....S...D...C...3............... |
3080 | ce 0d 00 00 cb 0d 00 00 ca 0d 00 00 b9 0d 00 00 99 0d 00 00 96 0d 00 00 64 0d 00 00 54 0d 00 00 | ........................d...T... |
30a0 | 51 0d 00 00 50 0d 00 00 35 0d 00 00 1d 0d 00 00 1a 0d 00 00 04 0d 00 00 c7 0c 00 00 91 0c 00 00 | Q...P...5....................... |
30c0 | 73 0c 00 00 62 0c 00 00 58 0c 00 00 47 0c 00 00 09 0c 00 00 d6 0b 00 00 b8 0b 00 00 a7 0b 00 00 | s...b...X...G................... |
30e0 | 9d 0b 00 00 87 0b 00 00 45 0b 00 00 0f 0b 00 00 f1 0a 00 00 e0 0a 00 00 d6 0a 00 00 c2 0a 00 00 | ........E....................... |
3100 | 81 0a 00 00 4b 0a 00 00 2d 0a 00 00 1c 0a 00 00 12 0a 00 00 ff 09 00 00 bf 09 00 00 89 09 00 00 | ....K...-....................... |
3120 | 6b 09 00 00 5a 09 00 00 50 09 00 00 39 09 00 00 f5 08 00 00 e4 08 00 00 da 08 00 00 c5 08 00 00 | k...Z...P...9................... |
3140 | 8a 08 00 00 85 08 00 00 52 08 00 00 40 08 00 00 3b 08 00 00 31 08 00 00 26 08 00 00 1c 08 00 00 | ........R...@...;...1...&....... |
3160 | 19 08 00 00 18 08 00 00 07 08 00 00 c4 07 00 00 b5 07 00 00 b4 07 00 00 a5 07 00 00 a3 07 00 00 | ................................ |
3180 | a2 07 00 00 9f 07 00 00 56 07 00 00 52 07 00 00 46 07 00 00 21 07 00 00 08 07 00 00 f3 06 00 00 | ........V...R...F...!........... |
31a0 | f1 06 00 00 e0 06 00 00 df 06 00 00 cb 06 00 00 c8 06 00 00 95 06 00 00 94 06 00 00 72 06 00 00 | ............................r... |
31c0 | 4b 06 00 00 3b 06 00 00 38 06 00 00 37 06 00 00 28 06 00 00 26 06 00 00 25 06 00 00 22 06 00 00 | K...;...8...7...(...&...%..."... |
31e0 | dd 05 00 00 bd 05 00 00 ba 05 00 00 74 05 00 00 27 05 00 00 23 05 00 00 17 05 00 00 db 04 00 00 | ............t...'...#........... |
3200 | b1 04 00 00 af 04 00 00 8b 04 00 00 81 04 00 00 80 04 00 00 62 04 00 00 5f 04 00 00 39 04 00 00 | ....................b..._...9... |
3220 | 29 04 00 00 26 04 00 00 25 04 00 00 16 04 00 00 14 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | )...&...%....................... |
3240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
32a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
32c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
32e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
3380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
33a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
33c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
33e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7d | ...............................} |
3400 | 00 09 72 65 74 75 72 6e 20 66 61 6c 7d 00 09 72 65 74 75 72 7d 00 09 72 65 74 75 72 6e 20 66 61 | ..return.fal}..retur}..return.fa |
3420 | 6c 73 65 3b 00 00 09 7d 00 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 69 66 20 28 77 | lse;...}....return.true;...if.(w |
3440 | 61 6c 6b 65 72 28 70 6c 61 6e 73 74 61 74 65 73 5b 6a 5d 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 | alker(planstates[j],.context)).. |
3460 | 7b 00 09 66 6f 72 20 28 6a 20 3d 20 30 3b 20 6a 20 3c 20 6e 70 6c 61 6e 73 3b 20 6a 2b 2b 29 00 | {..for.(j.=.0;.j.<.nplans;.j++). |
3480 | 00 09 69 6e 74 09 09 09 6a 3b 00 09 69 6e 74 09 09 09 6e 70 6c 61 6e 73 20 3d 20 6c 69 73 74 5f | ..int...j;..int...nplans.=.list_ |
34a0 | 6c 65 6e 67 74 68 28 70 6c 61 6e 73 29 3b 00 7b 00 09 09 09 09 09 20 20 20 62 6f 6f 6c 20 28 2a | length(plans);.{.........bool.(* |
34c0 | 77 61 6c 6b 65 72 29 20 28 29 2c 20 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 29 00 70 6c 61 6e 73 | walker).(),.void.*context).plans |
34e0 | 74 61 74 65 5f 77 61 6c 6b 5f 6d 65 6d 62 65 72 73 28 4c 69 73 74 20 2a 70 6c 61 6e 73 2c 20 50 | tate_walk_members(List.*plans,.P |
3500 | 6c 61 6e 53 74 61 74 65 20 2a 2a 70 6c 61 6e 73 74 61 74 65 73 2c 00 73 74 61 74 69 63 20 62 6f | lanState.**planstates,.static.bo |
3520 | 6f 6c 00 20 2a 2f 00 20 2a 20 77 65 20 6e 65 65 64 20 74 68 65 20 6c 69 73 74 20 69 6e 20 6f 72 | ol..*/..*.we.need.the.list.in.or |
3540 | 64 65 72 20 74 6f 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 | der.to.determine.the.length.of.t |
3560 | 68 65 20 50 6c 61 6e 53 74 61 74 65 20 61 72 72 61 79 2e 00 20 2a 20 4e 6f 74 65 3a 20 77 65 20 | he.PlanState.array...*.Note:.we. |
3580 | 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 6e 65 65 64 20 74 6f 20 65 78 61 6d 69 6e 65 20 74 | don't.actually.need.to.examine.t |
35a0 | 68 65 20 50 6c 61 6e 20 6c 69 73 74 20 6d 65 6d 62 65 72 73 2c 20 62 75 74 00 20 2a 00 20 2a 20 | he.Plan.list.members,.but..*..*. |
35c0 | 42 69 74 6d 61 70 41 6e 64 2c 20 6f 72 20 42 69 74 6d 61 70 4f 72 20 6e 6f 64 65 2e 00 20 2a 20 | BitmapAnd,.or.BitmapOr.node...*. |
35e0 | 57 61 6c 6b 20 74 68 65 20 63 6f 6e 73 74 69 74 75 65 6e 74 20 70 6c 61 6e 73 20 6f 66 20 61 20 | Walk.the.constituent.plans.of.a. |
3600 | 4d 6f 64 69 66 79 54 61 62 6c 65 2c 20 41 70 70 65 6e 64 2c 20 4d 65 72 67 65 41 70 70 65 6e 64 | ModifyTable,.Append,.MergeAppend |
3620 | 2c 00 2f 2a 00 00 7d 00 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 09 7d 00 09 09 09 72 65 | ,./*..}..return.false;...}....re |
3640 | 74 75 72 6e 20 74 72 75 65 3b 00 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 70 73 2d 3e 70 6c 61 | turn.true;...if.(walker(sps->pla |
3660 | 6e 73 74 61 74 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 41 73 73 65 72 74 28 49 73 41 28 73 | nstate,.context))...Assert(IsA(s |
3680 | 70 73 2c 20 53 75 62 50 6c 61 6e 53 74 61 74 65 29 29 3b 00 00 09 09 53 75 62 50 6c 61 6e 53 74 | ps,.SubPlanState));....SubPlanSt |
36a0 | 61 74 65 20 2a 73 70 73 20 3d 20 28 53 75 62 50 6c 61 6e 53 74 61 74 65 20 2a 29 20 6c 66 69 72 | ate.*sps.=.(SubPlanState.*).lfir |
36c0 | 73 74 28 6c 63 29 3b 00 09 7b 00 09 66 6f 72 65 61 63 68 28 6c 63 2c 20 70 6c 61 6e 73 29 00 00 | st(lc);..{..foreach(lc,.plans).. |
36e0 | 09 4c 69 73 74 43 65 6c 6c 20 20 20 2a 6c 63 3b 00 7b 00 09 09 09 09 09 09 76 6f 69 64 20 2a 63 | .ListCell...*lc;.{.......void.*c |
3700 | 6f 6e 74 65 78 74 29 00 09 09 09 09 09 09 62 6f 6f 6c 20 28 2a 77 61 6c 6b 65 72 29 20 28 29 2c | ontext).......bool.(*walker).(), |
3720 | 00 70 6c 61 6e 73 74 61 74 65 5f 77 61 6c 6b 5f 73 75 62 70 6c 61 6e 73 28 4c 69 73 74 20 2a 70 | .planstate_walk_subplans(List.*p |
3740 | 6c 61 6e 73 2c 00 73 74 61 74 69 63 20 62 6f 6f 6c 00 20 2a 2f 00 20 2a 20 57 61 6c 6b 20 61 20 | lans,.static.bool..*/..*.Walk.a. |
3760 | 6c 69 73 74 20 6f 66 20 53 75 62 50 6c 61 6e 73 20 28 6f 72 20 69 6e 69 74 50 6c 61 6e 73 2c 20 | list.of.SubPlans.(or.initPlans,. |
3780 | 77 68 69 63 68 20 61 6c 73 6f 20 75 73 65 20 53 75 62 50 6c 61 6e 20 6e 6f 64 65 73 29 2e 00 2f | which.also.use.SubPlan.nodes)../ |
37a0 | 2a 00 00 7d 00 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 09 09 72 65 74 75 72 6e 20 74 72 | *..}..return.false;....return.tr |
37c0 | 75 65 3b 00 09 69 66 20 28 70 6c 61 6e 73 74 61 74 65 5f 77 61 6c 6b 5f 73 75 62 70 6c 61 6e 73 | ue;..if.(planstate_walk_subplans |
37e0 | 28 70 6c 61 6e 73 74 61 74 65 2d 3e 73 75 62 50 6c 61 6e 2c 20 77 61 6c 6b 65 72 2c 20 63 6f 6e | (planstate->subPlan,.walker,.con |
3800 | 74 65 78 74 29 29 00 09 2f 2a 20 73 75 62 50 6c 61 6e 2d 73 20 2a 2f 00 00 09 7d 00 09 09 09 62 | text))../*.subPlan-s.*/...}....b |
3820 | 72 65 61 6b 3b 00 09 09 64 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 | reak;...default:....break;....}. |
3840 | 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 | .....return.true;.....if.(walker |
3860 | 28 28 50 6c 61 6e 53 74 61 74 65 20 2a 29 20 6c 66 69 72 73 74 28 6c 63 29 2c 20 63 6f 6e 74 65 | ((PlanState.*).lfirst(lc),.conte |
3880 | 78 74 29 29 00 09 09 09 7b 00 09 09 09 66 6f 72 65 61 63 68 28 6c 63 2c 20 28 28 43 75 73 74 6f | xt))....{....foreach(lc,.((Custo |
38a0 | 6d 53 63 61 6e 53 74 61 74 65 20 2a 29 20 70 6c 61 6e 73 74 61 74 65 29 2d 3e 63 75 73 74 6f 6d | mScanState.*).planstate)->custom |
38c0 | 5f 70 73 29 00 09 09 63 61 73 65 20 54 5f 43 75 73 74 6f 6d 53 63 61 6e 3a 00 09 09 09 62 72 65 | _ps)...case.T_CustomScan:....bre |
38e0 | 61 6b 3b 00 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 69 66 20 28 77 61 6c 6b | ak;.....return.true;....if.(walk |
3900 | 65 72 28 28 28 53 75 62 71 75 65 72 79 53 63 61 6e 53 74 61 74 65 20 2a 29 20 70 6c 61 6e 73 74 | er(((SubqueryScanState.*).planst |
3920 | 61 74 65 29 2d 3e 73 75 62 70 6c 61 6e 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 63 61 73 65 20 | ate)->subplan,.context))...case. |
3940 | 54 5f 53 75 62 71 75 65 72 79 53 63 61 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 72 65 | T_SubqueryScan:....break;.....re |
3960 | 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 | turn.true;.............walker,.c |
3980 | 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 09 09 09 20 20 28 28 42 69 74 6d 61 70 4f 72 53 74 61 | ontext))...........((BitmapOrSta |
39a0 | 74 65 20 2a 29 20 70 6c 61 6e 73 74 61 74 65 29 2d 3e 62 69 74 6d 61 70 70 6c 61 6e 73 2c 00 09 | te.*).planstate)->bitmapplans,.. |
39c0 | 09 09 69 66 20 28 70 6c 61 6e 73 74 61 74 65 5f 77 61 6c 6b 5f 6d 65 6d 62 65 72 73 28 28 28 42 | ..if.(planstate_walk_members(((B |
39e0 | 69 74 6d 61 70 4f 72 20 2a 29 20 70 6c 61 6e 29 2d 3e 62 69 74 6d 61 70 70 6c 61 6e 73 2c 00 09 | itmapOr.*).plan)->bitmapplans,.. |
3a00 | 09 63 61 73 65 20 54 5f 42 69 74 6d 61 70 4f 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 | .case.T_BitmapOr:....break;..... |
3a20 | 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 72 2c | return.true;.............walker, |
3a40 | 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 09 09 09 20 28 28 42 69 74 6d 61 70 41 6e 64 53 | .context))..........((BitmapAndS |
3a60 | 74 61 74 65 20 2a 29 20 70 6c 61 6e 73 74 61 74 65 29 2d 3e 62 69 74 6d 61 70 70 6c 61 6e 73 2c | tate.*).planstate)->bitmapplans, |
3a80 | 00 09 09 09 69 66 20 28 70 6c 61 6e 73 74 61 74 65 5f 77 61 6c 6b 5f 6d 65 6d 62 65 72 73 28 28 | ....if.(planstate_walk_members(( |
3aa0 | 28 42 69 74 6d 61 70 41 6e 64 20 2a 29 20 70 6c 61 6e 29 2d 3e 62 69 74 6d 61 70 70 6c 61 6e 73 | (BitmapAnd.*).plan)->bitmapplans |
3ac0 | 2c 00 09 09 63 61 73 65 20 54 5f 42 69 74 6d 61 70 41 6e 64 3a 00 09 09 09 62 72 65 61 6b 3b 00 | ,...case.T_BitmapAnd:....break;. |
3ae0 | 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c | ....return.true;.............wal |
3b00 | 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 09 09 09 28 28 4d 65 72 67 65 41 70 | ker,.context)).........((MergeAp |
3b20 | 70 65 6e 64 53 74 61 74 65 20 2a 29 20 70 6c 61 6e 73 74 61 74 65 29 2d 3e 6d 65 72 67 65 70 6c | pendState.*).planstate)->mergepl |
3b40 | 61 6e 73 2c 00 09 09 09 69 66 20 28 70 6c 61 6e 73 74 61 74 65 5f 77 61 6c 6b 5f 6d 65 6d 62 65 | ans,....if.(planstate_walk_membe |
3b60 | 72 73 28 28 28 4d 65 72 67 65 41 70 70 65 6e 64 20 2a 29 20 70 6c 61 6e 29 2d 3e 6d 65 72 67 65 | rs(((MergeAppend.*).plan)->merge |
3b80 | 70 6c 61 6e 73 2c 00 09 09 63 61 73 65 20 54 5f 4d 65 72 67 65 41 70 70 65 6e 64 3a 00 09 09 09 | plans,...case.T_MergeAppend:.... |
3ba0 | 62 72 65 61 6b 3b 00 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 | break;.....return.true;......... |
3bc0 | 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 09 09 09 09 28 | ....walker,.context))..........( |
3be0 | 28 41 70 70 65 6e 64 53 74 61 74 65 20 2a 29 20 70 6c 61 6e 73 74 61 74 65 29 2d 3e 61 70 70 65 | (AppendState.*).planstate)->appe |
3c00 | 6e 64 70 6c 61 6e 73 2c 00 09 09 09 69 66 20 28 70 6c 61 6e 73 74 61 74 65 5f 77 61 6c 6b 5f 6d | ndplans,....if.(planstate_walk_m |
3c20 | 65 6d 62 65 72 73 28 28 28 41 70 70 65 6e 64 20 2a 29 20 70 6c 61 6e 29 2d 3e 61 70 70 65 6e 64 | embers(((Append.*).plan)->append |
3c40 | 70 6c 61 6e 73 2c 00 09 09 63 61 73 65 20 54 5f 41 70 70 65 6e 64 3a 00 09 09 09 62 72 65 61 6b | plans,...case.T_Append:....break |
3c60 | 3b 00 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 09 20 20 20 77 | ;.....return.true;.............w |
3c80 | 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 09 09 09 20 20 28 28 4d 6f 64 | alker,.context))...........((Mod |
3ca0 | 69 66 79 54 61 62 6c 65 53 74 61 74 65 20 2a 29 20 70 6c 61 6e 73 74 61 74 65 29 2d 3e 6d 74 5f | ifyTableState.*).planstate)->mt_ |
3cc0 | 70 6c 61 6e 73 2c 00 09 09 09 69 66 20 28 70 6c 61 6e 73 74 61 74 65 5f 77 61 6c 6b 5f 6d 65 6d | plans,....if.(planstate_walk_mem |
3ce0 | 62 65 72 73 28 28 28 4d 6f 64 69 66 79 54 61 62 6c 65 20 2a 29 20 70 6c 61 6e 29 2d 3e 70 6c 61 | bers(((ModifyTable.*).plan)->pla |
3d00 | 6e 73 2c 00 09 09 63 61 73 65 20 54 5f 4d 6f 64 69 66 79 54 61 62 6c 65 3a 00 09 7b 00 09 73 77 | ns,...case.T_ModifyTable:..{..sw |
3d20 | 69 74 63 68 20 28 6e 6f 64 65 54 61 67 28 70 6c 61 6e 29 29 00 09 2f 2a 20 73 70 65 63 69 61 6c | itch.(nodeTag(plan))../*.special |
3d40 | 20 63 68 69 6c 64 20 70 6c 61 6e 73 20 2a 2f 00 00 09 7d 00 09 09 09 72 65 74 75 72 6e 20 74 72 | .child.plans.*/...}....return.tr |
3d60 | 75 65 3b 00 09 09 69 66 20 28 77 61 6c 6b 65 72 28 69 6e 6e 65 72 50 6c 61 6e 53 74 61 74 65 28 | ue;...if.(walker(innerPlanState( |
3d80 | 70 6c 61 6e 73 74 61 74 65 29 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 7b 00 09 69 66 20 28 69 6e | planstate),.context))..{..if.(in |
3da0 | 6e 65 72 50 6c 61 6e 53 74 61 74 65 28 70 6c 61 6e 73 74 61 74 65 29 29 00 09 2f 2a 20 72 69 67 | nerPlanState(planstate))../*.rig |
3dc0 | 68 74 74 72 65 65 20 2a 2f 00 00 09 7d 00 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 | httree.*/...}....return.true;... |
3de0 | 69 66 20 28 77 61 6c 6b 65 72 28 6f 75 74 65 72 50 6c 61 6e 53 74 61 74 65 28 70 6c 61 6e 73 74 | if.(walker(outerPlanState(planst |
3e00 | 61 74 65 29 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 7b 00 09 69 66 20 28 6f 75 74 65 72 50 6c 61 | ate),.context))..{..if.(outerPla |
3e20 | 6e 53 74 61 74 65 28 70 6c 61 6e 73 74 61 74 65 29 29 00 09 2f 2a 20 6c 65 66 74 74 72 65 65 20 | nState(planstate))../*.lefttree. |
3e40 | 2a 2f 00 00 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 69 66 20 28 70 6c 61 6e 73 74 61 74 | */....return.true;..if.(planstat |
3e60 | 65 5f 77 61 6c 6b 5f 73 75 62 70 6c 61 6e 73 28 70 6c 61 6e 73 74 61 74 65 2d 3e 69 6e 69 74 50 | e_walk_subplans(planstate->initP |
3e80 | 6c 61 6e 2c 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 2f 2a 20 69 6e 69 74 50 | lan,.walker,.context))../*.initP |
3ea0 | 6c 61 6e 2d 73 20 2a 2f 00 00 09 4c 69 73 74 43 65 6c 6c 20 20 20 2a 6c 63 3b 00 09 50 6c 61 6e | lan-s.*/...ListCell...*lc;..Plan |
3ec0 | 09 20 20 20 2a 70 6c 61 6e 20 3d 20 70 6c 61 6e 73 74 61 74 65 2d 3e 70 6c 61 6e 3b 00 7b 00 09 | ....*plan.=.planstate->plan;.{.. |
3ee0 | 09 09 09 09 20 20 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 29 00 09 09 09 09 09 20 20 62 6f 6f 6c | ......void.*context)........bool |
3f00 | 20 28 2a 77 61 6c 6b 65 72 29 20 28 29 2c 00 70 6c 61 6e 73 74 61 74 65 5f 74 72 65 65 5f 77 61 | .(*walker).(),.planstate_tree_wa |
3f20 | 6c 6b 65 72 28 50 6c 61 6e 53 74 61 74 65 20 2a 70 6c 61 6e 73 74 61 74 65 2c 00 62 6f 6f 6c 00 | lker(PlanState.*planstate,.bool. |
3f40 | 20 2a 2f 00 20 2a 20 72 65 63 75 72 73 65 20 69 6e 74 6f 20 61 6e 79 20 73 75 62 2d 6e 6f 64 65 | .*/..*.recurse.into.any.sub-node |
3f60 | 73 20 69 74 20 68 61 73 2e 00 20 2a 20 54 68 65 20 77 61 6c 6b 65 72 20 68 61 73 20 61 6c 72 65 | s.it.has...*.The.walker.has.alre |
3f80 | 61 64 79 20 76 69 73 69 74 65 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 6f 64 65 2c 20 61 6e | ady.visited.the.current.node,.an |
3fa0 | 64 20 73 6f 20 77 65 20 6e 65 65 64 20 6f 6e 6c 79 00 20 2a 00 20 2a 20 70 6c 61 6e 73 74 61 74 | d.so.we.need.only..*..*.planstat |
3fc0 | 65 5f 74 72 65 65 5f 77 61 6c 6b 65 72 20 2d 2d 2d 20 77 61 6c 6b 20 70 6c 61 6e 20 73 74 61 74 | e_tree_walker.---.walk.plan.stat |
3fe0 | 65 20 74 72 65 65 73 00 2f 2a 00 00 7d 00 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 7d 00 | e.trees./*..}..return.false;..}. |
4000 | 61 64 00 00 19 00 00 00 55 02 00 00 00 10 00 00 88 00 00 00 00 00 00 00 fa 0f 00 00 f1 0f 00 00 | ad......U....................... |
4020 | eb 0f 00 00 b1 0f 00 00 9c 0f 00 00 96 0f 00 00 91 0f 00 00 87 0f 00 00 75 0f 00 00 70 0f 00 00 | ........................u...p... |
4040 | 3b 0f 00 00 3a 0f 00 00 0a 0f 00 00 de 0e 00 00 d8 0e 00 00 99 0e 00 00 76 0e 00 00 46 0e 00 00 | ;...:...................v...F... |
4060 | 3f 0e 00 00 13 0e 00 00 f6 0d 00 00 e0 0d 00 00 b3 0d 00 00 74 0d 00 00 41 0d 00 00 3a 0d 00 00 | ?...................t...A...:... |
4080 | 34 0d 00 00 fc 0c 00 00 f6 0c 00 00 bb 0c 00 00 a4 0c 00 00 9e 0c 00 00 95 0c 00 00 8f 0c 00 00 | 4............................... |
40a0 | 55 0c 00 00 40 0c 00 00 3a 0c 00 00 35 0c 00 00 2b 0c 00 00 0e 0c 00 00 09 0c 00 00 bf 0b 00 00 | U...@...:...5...+............... |
40c0 | be 0b 00 00 8a 0b 00 00 50 0b 00 00 4b 0b 00 00 41 0b 00 00 2b 0b 00 00 f7 0a 00 00 ed 0a 00 00 | ........P...K...A...+........... |
40e0 | d8 0a 00 00 a5 0a 00 00 9b 0a 00 00 85 0a 00 00 51 0a 00 00 47 0a 00 00 31 0a 00 00 fd 09 00 00 | ................Q...G...1....... |
4100 | f3 09 00 00 d9 09 00 00 a1 09 00 00 97 09 00 00 7a 09 00 00 3f 09 00 00 35 09 00 00 1f 09 00 00 | ................z...?...5....... |
4120 | df 08 00 00 d5 08 00 00 c2 08 00 00 93 08 00 00 89 08 00 00 72 08 00 00 41 08 00 00 37 08 00 00 | ....................r...A...7... |
4140 | 23 08 00 00 ef 07 00 00 e5 07 00 00 d3 07 00 00 a3 07 00 00 99 07 00 00 80 07 00 00 6d 07 00 00 | #...........................m... |
4160 | 63 07 00 00 4c 07 00 00 15 07 00 00 0b 07 00 00 f6 06 00 00 c3 06 00 00 b9 06 00 00 a7 06 00 00 | c...L........................... |
4180 | 73 06 00 00 5f 06 00 00 22 06 00 00 0e 06 00 00 06 06 00 00 f3 05 00 00 e9 05 00 00 d6 05 00 00 | s..._..."....................... |
41a0 | c3 05 00 00 b9 05 00 00 a3 05 00 00 90 05 00 00 86 05 00 00 6d 05 00 00 36 05 00 00 2c 05 00 00 | ....................m...6...,... |
41c0 | 0e 05 00 00 d6 04 00 00 cc 04 00 00 b5 04 00 00 84 04 00 00 7a 04 00 00 62 04 00 00 4f 04 00 00 | ....................z...b...O... |
41e0 | 45 04 00 00 2d 04 00 00 28 04 00 00 ed 03 00 00 ec 03 00 00 c5 03 00 00 c0 03 00 00 b6 03 00 00 | E...-...(....................... |
4200 | 9d 03 00 00 57 03 00 00 4d 03 00 00 42 03 00 00 ff 02 00 00 cf 02 00 00 c5 02 00 00 c2 02 00 00 | ....W...M...B................... |
4220 | b4 02 00 00 b2 02 00 00 b1 02 00 00 ae 02 00 00 9e 02 00 00 55 02 00 00 54 02 00 00 00 00 00 00 | ....................U...T....... |
4240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 2a 09 20 20 72 65 74 75 72 6e | ......................*...return |
4260 | 73 20 74 68 65 20 74 79 70 65 2d 73 70 65 63 69 66 69 63 20 6d 6f 64 69 66 69 65 72 20 6f 66 20 | s.the.type-specific.modifier.of. |
4280 | 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 27 73 20 72 65 73 75 6c 74 20 74 79 70 65 2c 00 20 2a | the.expression's.result.type,..* |
42a0 | 09 65 78 70 72 54 79 70 6d 6f 64 20 2d 00 2f 2a 00 00 7d 00 09 72 65 74 75 72 6e 20 74 79 70 65 | .exprTypmod.-./*..}..return.type |
42c0 | 3b 00 09 7d 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 49 6e 76 61 6c 69 64 | ;..}....break;....type.=.Invalid |
42e0 | 4f 69 64 3b 09 2f 2a 20 6b 65 65 70 20 63 6f 6d 70 69 6c 65 72 20 71 75 69 65 74 20 2a 2f 00 09 | Oid;./*.keep.compiler.quiet.*/.. |
4300 | 09 09 65 6c 6f 67 28 45 52 52 4f 52 2c 20 22 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6e 6f 64 65 | ..elog(ERROR,."unrecognized.node |
4320 | 20 74 79 70 65 3a 20 25 64 22 2c 20 28 69 6e 74 29 20 6e 6f 64 65 54 61 67 28 65 78 70 72 29 29 | .type:.%d",.(int).nodeTag(expr)) |
4340 | 3b 00 09 09 64 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d | ;...default:....break;....type.= |
4360 | 20 65 78 70 72 54 79 70 65 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 50 6c 61 63 65 | .exprType((Node.*).((const.Place |
4380 | 48 6f 6c 64 65 72 56 61 72 20 2a 29 20 65 78 70 72 29 2d 3e 70 68 65 78 70 72 29 3b 00 09 09 63 | HolderVar.*).expr)->phexpr);...c |
43a0 | 61 73 65 20 54 5f 50 6c 61 63 65 48 6f 6c 64 65 72 56 61 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 | ase.T_PlaceHolderVar:....break;. |
43c0 | 09 09 09 7d 00 09 09 09 09 74 79 70 65 20 3d 20 65 78 70 72 54 79 70 65 28 28 4e 6f 64 65 20 2a | ...}.....type.=.exprType((Node.* |
43e0 | 29 20 6e 2d 3e 65 78 70 72 29 3b 00 00 09 09 09 09 63 6f 6e 73 74 20 49 6e 66 65 72 65 6e 63 65 | ).n->expr);......const.Inference |
4400 | 45 6c 65 6d 20 2a 6e 20 3d 20 28 63 6f 6e 73 74 20 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 20 2a | Elem.*n.=.(const.InferenceElem.* |
4420 | 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 49 6e 66 65 72 65 6e 63 65 45 | ).expr;....{...case.T_InferenceE |
4440 | 6c 65 6d 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 42 4f 4f 4c 4f 49 44 | lem:....break;....type.=.BOOLOID |
4460 | 3b 00 09 09 63 61 73 65 20 54 5f 43 75 72 72 65 6e 74 4f 66 45 78 70 72 3a 00 09 09 09 62 72 65 | ;...case.T_CurrentOfExpr:....bre |
4480 | 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 53 65 74 54 6f 44 65 66 61 75 | ak;....type.=.((const.SetToDefau |
44a0 | 6c 74 20 2a 29 20 65 78 70 72 29 2d 3e 74 79 70 65 49 64 3b 00 09 09 63 61 73 65 20 54 5f 53 65 | lt.*).expr)->typeId;...case.T_Se |
44c0 | 74 54 6f 44 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 | tToDefault:....break;....type.=. |
44e0 | 28 28 63 6f 6e 73 74 20 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 56 61 6c 75 65 20 2a 29 20 65 | ((const.CoerceToDomainValue.*).e |
4500 | 78 70 72 29 2d 3e 74 79 70 65 49 64 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 63 65 54 6f 44 | xpr)->typeId;...case.T_CoerceToD |
4520 | 6f 6d 61 69 6e 56 61 6c 75 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 | omainValue:....break;....type.=. |
4540 | 28 28 63 6f 6e 73 74 20 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 20 2a 29 20 65 78 70 72 29 2d | ((const.CoerceToDomain.*).expr)- |
4560 | 3e 72 65 73 75 6c 74 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 63 65 54 6f 44 6f | >resulttype;...case.T_CoerceToDo |
4580 | 6d 61 69 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 42 4f 4f 4c 4f 49 | main:....break;....type.=.BOOLOI |
45a0 | 44 3b 00 09 09 63 61 73 65 20 54 5f 42 6f 6f 6c 65 61 6e 54 65 73 74 3a 00 09 09 09 62 72 65 61 | D;...case.T_BooleanTest:....brea |
45c0 | 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 42 4f 4f 4c 4f 49 44 3b 00 09 09 63 61 73 65 20 54 5f 4e | k;....type.=.BOOLOID;...case.T_N |
45e0 | 75 6c 6c 54 65 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 74 79 70 65 20 3d 20 58 4d | ullTest:....break;.....type.=.XM |
4600 | 4c 4f 49 44 3b 00 09 09 09 65 6c 73 65 00 09 09 09 09 74 79 70 65 20 3d 20 54 45 58 54 4f 49 44 | LOID;....else.....type.=.TEXTOID |
4620 | 3b 00 09 09 09 65 6c 73 65 20 69 66 20 28 28 28 63 6f 6e 73 74 20 58 6d 6c 45 78 70 72 20 2a 29 | ;....else.if.(((const.XmlExpr.*) |
4640 | 20 65 78 70 72 29 2d 3e 6f 70 20 3d 3d 20 49 53 5f 58 4d 4c 53 45 52 49 41 4c 49 5a 45 29 00 09 | .expr)->op.==.IS_XMLSERIALIZE).. |
4660 | 09 09 09 74 79 70 65 20 3d 20 42 4f 4f 4c 4f 49 44 3b 00 09 09 09 69 66 20 28 28 28 63 6f 6e 73 | ...type.=.BOOLOID;....if.(((cons |
4680 | 74 20 58 6d 6c 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6f 70 20 3d 3d 20 49 53 5f 44 4f 43 | t.XmlExpr.*).expr)->op.==.IS_DOC |
46a0 | 55 4d 45 4e 54 29 00 09 09 63 61 73 65 20 54 5f 58 6d 6c 45 78 70 72 3a 00 09 09 09 62 72 65 61 | UMENT)...case.T_XmlExpr:....brea |
46c0 | 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 4d 69 6e 4d 61 78 45 78 70 72 20 | k;....type.=.((const.MinMaxExpr. |
46e0 | 2a 29 20 65 78 70 72 29 2d 3e 6d 69 6e 6d 61 78 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 4d | *).expr)->minmaxtype;...case.T_M |
4700 | 69 6e 4d 61 78 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 | inMaxExpr:....break;....type.=.( |
4720 | 28 63 6f 6e 73 74 20 43 6f 61 6c 65 73 63 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 63 6f | (const.CoalesceExpr.*).expr)->co |
4740 | 61 6c 65 73 63 65 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 61 6c 65 73 63 65 45 78 70 | alescetype;...case.T_CoalesceExp |
4760 | 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 42 4f 4f 4c 4f 49 44 3b 00 | r:....break;....type.=.BOOLOID;. |
4780 | 09 09 63 61 73 65 20 54 5f 52 6f 77 43 6f 6d 70 61 72 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 | ..case.T_RowCompareExpr:....brea |
47a0 | 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 52 6f 77 45 78 70 72 20 2a 29 20 | k;....type.=.((const.RowExpr.*). |
47c0 | 65 78 70 72 29 2d 3e 72 6f 77 5f 74 79 70 65 69 64 3b 00 09 09 63 61 73 65 20 54 5f 52 6f 77 45 | expr)->row_typeid;...case.T_RowE |
47e0 | 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 | xpr:....break;....type.=.((const |
4800 | 20 41 72 72 61 79 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 72 61 79 5f 74 79 70 65 69 | .ArrayExpr.*).expr)->array_typei |
4820 | 64 3b 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b | d;...case.T_ArrayExpr:....break; |
4840 | 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 43 61 73 65 54 65 73 74 45 78 70 72 20 | ....type.=.((const.CaseTestExpr. |
4860 | 2a 29 20 65 78 70 72 29 2d 3e 74 79 70 65 49 64 3b 00 09 09 63 61 73 65 20 54 5f 43 61 73 65 54 | *).expr)->typeId;...case.T_CaseT |
4880 | 65 73 74 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 | estExpr:....break;....type.=.((c |
48a0 | 6f 6e 73 74 20 43 61 73 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 63 61 73 65 74 79 70 65 | onst.CaseExpr.*).expr)->casetype |
48c0 | 3b 00 09 09 63 61 73 65 20 54 5f 43 61 73 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | ;...case.T_CaseExpr:....break;.. |
48e0 | 09 09 74 79 70 65 20 3d 20 65 78 70 72 54 79 70 65 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e | ..type.=.exprType((Node.*).((con |
4900 | 73 74 20 43 6f 6c 6c 61 74 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 67 29 3b 00 09 | st.CollateExpr.*).expr)->arg);.. |
4920 | 09 63 61 73 65 20 54 5f 43 6f 6c 6c 61 74 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | .case.T_CollateExpr:....break;.. |
4940 | 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 43 6f 6e 76 65 72 74 52 6f 77 74 79 70 65 45 | ..type.=.((const.ConvertRowtypeE |
4960 | 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 74 79 70 65 3b 00 09 09 63 61 73 65 | xpr.*).expr)->resulttype;...case |
4980 | 20 54 5f 43 6f 6e 76 65 72 74 52 6f 77 74 79 70 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b | .T_ConvertRowtypeExpr:....break; |
49a0 | 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 41 72 72 61 79 43 6f 65 72 63 65 45 78 | ....type.=.((const.ArrayCoerceEx |
49c0 | 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 74 79 70 65 3b 00 09 09 63 61 73 65 20 | pr.*).expr)->resulttype;...case. |
49e0 | 54 5f 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | T_ArrayCoerceExpr:....break;.... |
4a00 | 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 43 6f 65 72 63 65 56 69 61 49 4f 20 2a 29 20 65 78 | type.=.((const.CoerceViaIO.*).ex |
4a20 | 70 72 29 2d 3e 72 65 73 75 6c 74 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 63 65 | pr)->resulttype;...case.T_Coerce |
4a40 | 56 69 61 49 4f 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e | ViaIO:....break;....type.=.((con |
4a60 | 73 74 20 52 65 6c 61 62 65 6c 54 79 70 65 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 74 | st.RelabelType.*).expr)->resultt |
4a80 | 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 52 65 6c 61 62 65 6c 54 79 70 65 3a 00 09 09 09 62 72 | ype;...case.T_RelabelType:....br |
4aa0 | 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d 20 28 28 63 6f 6e 73 74 20 46 69 65 6c 64 53 74 6f 72 | eak;....type.=.((const.FieldStor |
4ac0 | 65 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 | e.*).expr)->resulttype;...case.T |
4ae0 | 5f 46 69 65 6c 64 53 74 6f 72 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 74 79 70 65 20 3d | _FieldStore:....break;....type.= |
4b00 | 20 28 28 63 6f 6e 73 74 20 46 69 65 6c 64 53 65 6c 65 63 74 20 2a 29 20 65 78 70 72 29 2d 3e 72 | .((const.FieldSelect.*).expr)->r |
4b20 | 65 73 75 6c 74 74 79 70 65 3b 00 09 09 63 61 73 65 20 54 5f 46 69 65 6c 64 53 65 6c 65 63 74 3a | esulttype;...case.T_FieldSelect: |
4b40 | 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 74 79 70 65 20 3d 20 65 78 70 72 54 | ....break;....}.....type.=.exprT |
4b60 | 79 70 65 28 28 4e 6f 64 65 20 2a 29 20 6c 69 6e 69 74 69 61 6c 28 61 73 70 6c 61 6e 2d 3e 73 75 | ype((Node.*).linitial(asplan->su |
4b80 | 62 70 6c 61 6e 73 29 29 3b 00 09 09 09 09 2f 2a 20 73 75 62 70 6c 61 6e 73 20 73 68 6f 75 6c 64 | bplans));...../*.subplans.should |
4ba0 | 20 61 6c 6c 20 72 65 74 75 72 6e 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 2a 2f 00 00 09 | .all.return.the.same.thing.*/... |
4bc0 | 09 09 09 63 6f 6e 73 74 20 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 20 2a 61 73 70 | ...const.AlternativeSubPlan.*asp |
4be0 | 6c 61 6e 20 3d 20 28 63 6f 6e 73 74 20 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 20 | lan.=.(const.AlternativeSubPlan. |
4c00 | 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 6c 74 65 72 6e 61 74 69 | *).expr;....{...case.T_Alternati |
4c20 | 76 65 53 75 62 50 6c 61 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 7d 00 | veSubPlan:....break;....}.....}. |
4c40 | 09 09 09 09 09 74 79 70 65 20 3d 20 42 4f 4f 4c 4f 49 44 3b 00 09 09 09 09 09 2f 2a 20 66 6f 72 | .....type.=.BOOLOID;....../*.for |
4c60 | 20 61 6c 6c 20 6f 74 68 65 72 20 73 75 62 70 6c 61 6e 20 74 79 70 65 73 2c 20 72 65 73 75 6c 74 | .all.other.subplan.types,.result |
4c80 | 20 69 73 20 62 6f 6f 6c 65 61 6e 20 2a 2f 00 09 09 09 09 7b 00 09 09 09 09 65 6c 73 65 00 09 09 | .is.boolean.*/.....{.....else... |
4ca0 | 09 09 7d 00 09 09 09 09 09 74 79 70 65 20 3d 20 52 45 43 4f 52 44 4f 49 44 3b 00 09 09 09 09 09 | ..}......type.=.RECORDOID;...... |
4cc0 | 2f 2a 20 4d 55 4c 54 49 45 58 50 52 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6e 73 69 64 65 72 65 | /*.MULTIEXPR.is.always.considere |
4ce0 | 64 20 74 6f 20 72 65 74 75 72 6e 20 52 45 43 4f 52 44 20 2a 2f 00 09 09 09 09 7b 00 09 09 09 09 | d.to.return.RECORD.*/.....{..... |
4d00 | 65 6c 73 65 20 69 66 20 28 73 75 62 70 6c 61 6e 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d | else.if.(subplan->subLinkType.== |
4d20 | 20 4d 55 4c 54 49 45 58 50 52 5f 53 55 42 4c 49 4e 4b 29 00 09 09 09 09 7d 00 09 09 09 09 09 7d | .MULTIEXPR_SUBLINK).....}......} |
4d40 | 00 09 09 09 09 09 09 09 09 09 66 6f 72 6d 61 74 5f 74 79 70 65 5f 62 65 28 73 75 62 70 6c 61 6e | ..........format_type_be(subplan |
4d60 | 2d 3e 66 69 72 73 74 43 6f 6c 54 79 70 65 29 29 29 29 3b 00 09 09 09 09 09 09 09 09 09 20 65 72 | ->firstColType))));...........er |
4d80 | 72 6d 73 67 28 22 63 6f 75 6c 64 20 6e 6f 74 20 66 69 6e 64 20 61 72 72 61 79 20 74 79 70 65 20 | rmsg("could.not.find.array.type. |
4da0 | 66 6f 72 20 64 61 74 61 20 74 79 70 65 20 25 73 22 2c 00 09 09 09 09 09 09 09 09 09 28 65 72 72 | for.data.type.%s",..........(err |
4dc0 | 63 6f 64 65 28 45 52 52 43 4f 44 45 5f 55 4e 44 45 46 49 4e 45 44 5f 4f 42 4a 45 43 54 29 2c 00 | code(ERRCODE_UNDEFINED_OBJECT),. |
4de0 | 09 09 09 09 09 09 09 65 72 65 70 6f 72 74 28 45 52 52 4f 52 2c 00 09 09 09 09 09 09 69 66 20 28 | .......ereport(ERROR,.......if.( |
4e00 | 21 4f 69 64 49 73 56 61 6c 69 64 28 74 79 70 65 29 29 00 09 09 09 09 09 09 74 79 70 65 20 3d 20 | !OidIsValid(type)).......type.=. |
4e20 | 67 65 74 5f 70 72 6f 6d 6f 74 65 64 5f 61 72 72 61 79 5f 74 79 70 65 28 74 79 70 65 29 3b 00 09 | get_promoted_array_type(type);.. |
4e40 | 09 09 09 09 7b 00 09 09 09 09 09 69 66 20 28 73 75 62 70 6c 61 6e 2d 3e 73 75 62 4c 69 6e 6b 54 | ....{......if.(subplan->subLinkT |
4e60 | 79 70 65 20 3d 3d 20 41 52 52 41 59 5f 53 55 42 4c 49 4e 4b 29 00 09 09 09 09 09 74 79 70 65 20 | ype.==.ARRAY_SUBLINK)......type. |
4e80 | 3d 20 73 75 62 70 6c 61 6e 2d 3e 66 69 72 73 74 43 6f 6c 54 79 70 65 3b 00 09 09 09 09 09 2f 2a | =.subplan->firstColType;....../* |
4ea0 | 20 67 65 74 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 73 75 62 73 65 6c 65 63 74 27 73 | .get.the.type.of.the.subselect's |
4ec0 | 20 66 69 72 73 74 20 74 61 72 67 65 74 20 63 6f 6c 75 6d 6e 20 2a 2f 00 09 09 09 09 7b 00 09 09 | .first.target.column.*/.....{... |
4ee0 | 09 09 09 73 75 62 70 6c 61 6e 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d 20 41 52 52 41 59 | ...subplan->subLinkType.==.ARRAY |
4f00 | 5f 53 55 42 4c 49 4e 4b 29 00 09 09 09 09 69 66 20 28 73 75 62 70 6c 61 6e 2d 3e 73 75 62 4c 69 | _SUBLINK).....if.(subplan->subLi |
4f20 | 6e 6b 54 79 70 65 20 3d 3d 20 45 58 50 52 5f 53 55 42 4c 49 4e 4b 20 7c 7c 00 00 09 09 09 09 63 | nkType.==.EXPR_SUBLINK.||......c |
4f40 | 6f 6e 73 74 20 53 75 62 50 6c 61 6e 20 2a 73 75 62 70 6c 61 6e 20 3d 20 28 63 6f 6e 73 74 20 53 | onst.SubPlan.*subplan.=.(const.S |
4f60 | 75 62 50 6c 61 6e 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 53 75 | ubPlan.*).expr;....{...case.T_Su |
4f80 | 62 50 6c 61 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 7d 00 09 09 09 09 | bPlan:....break;....}.....}..... |
4fa0 | 09 74 79 70 65 20 3d 20 42 4f 4f 4c 4f 49 44 3b 00 09 09 09 09 09 2f 2a 20 66 6f 72 20 61 6c 6c | .type.=.BOOLOID;....../*.for.all |
4fc0 | 20 6f 74 68 65 72 20 73 75 62 6c 69 6e 6b 20 74 79 70 65 73 2c 20 72 65 73 75 6c 74 20 69 73 20 | .other.sublink.types,.result.is. |
4fe0 | 62 6f 6f 6c 65 61 6e 20 2a 2f 00 09 09 09 09 7b 00 09 09 09 09 65 6c 73 65 00 09 09 09 09 7d 00 | boolean.*/.....{.....else.....}. |
5000 | 61 64 00 00 15 00 00 00 25 02 00 00 00 10 00 00 7d 00 00 00 00 00 00 00 b7 0f 00 00 b3 0f 00 00 | ad......%.......}............... |
5020 | ad 0f 00 00 90 0f 00 00 8e 0f 00 00 82 0f 00 00 75 0f 00 00 74 0f 00 00 5c 0f 00 00 59 0f 00 00 | ................u...t...\...Y... |
5040 | 4b 0f 00 00 20 0f 00 00 10 0f 00 00 e1 0e 00 00 d1 0e 00 00 a2 0e 00 00 8f 0e 00 00 5e 0e 00 00 | K...........................^... |
5060 | 2e 0e 00 00 1b 0e 00 00 16 0e 00 00 fc 0d 00 00 fb 0d 00 00 c5 0d 00 00 91 0d 00 00 76 0d 00 00 | ............................v... |
5080 | 71 0d 00 00 67 0d 00 00 50 0d 00 00 0d 0d 00 00 f8 0c 00 00 f3 0c 00 00 ec 0c 00 00 ab 0c 00 00 | q...g...P....................... |
50a0 | 82 0c 00 00 7a 0c 00 00 41 0c 00 00 40 0c 00 00 09 0c 00 00 04 0c 00 00 fa 0b 00 00 e8 0b 00 00 | ....z...A...@................... |
50c0 | e3 0b 00 00 ae 0b 00 00 ad 0b 00 00 7d 0b 00 00 51 0b 00 00 4b 0b 00 00 0a 0b 00 00 d5 0a 00 00 | ............}...Q...K........... |
50e0 | bd 0a 00 00 bc 0a 00 00 95 0a 00 00 55 0a 00 00 1c 0a 00 00 f7 09 00 00 da 09 00 00 ad 09 00 00 | ............U................... |
5100 | 76 09 00 00 70 09 00 00 31 09 00 00 2c 09 00 00 22 09 00 00 10 09 00 00 0b 09 00 00 d6 08 00 00 | v...p...1...,..."............... |
5120 | d5 08 00 00 a5 08 00 00 79 08 00 00 73 08 00 00 32 08 00 00 fb 07 00 00 d6 07 00 00 d0 07 00 00 | ........y...s...2............... |
5140 | 91 07 00 00 8c 07 00 00 82 07 00 00 65 07 00 00 60 07 00 00 16 07 00 00 15 07 00 00 e1 06 00 00 | ............e...`............... |
5160 | a5 06 00 00 a0 06 00 00 96 06 00 00 80 06 00 00 4a 06 00 00 34 06 00 00 fe 05 00 00 e4 05 00 00 | ................J...4........... |
5180 | aa 05 00 00 94 05 00 00 52 05 00 00 3f 05 00 00 3a 05 00 00 33 05 00 00 f2 04 00 00 d7 04 00 00 | ........R...?...:...3........... |
51a0 | cf 04 00 00 9a 04 00 00 74 04 00 00 61 04 00 00 4c 04 00 00 4b 04 00 00 30 04 00 00 20 04 00 00 | ........t...a...L...K...0....... |
51c0 | e7 03 00 00 d7 03 00 00 a3 03 00 00 8f 03 00 00 5f 03 00 00 41 03 00 00 3b 03 00 00 0c 03 00 00 | ................_...A...;....... |
51e0 | 0b 03 00 00 ec 02 00 00 b9 02 00 00 a8 02 00 00 75 02 00 00 64 02 00 00 5e 02 00 00 4b 02 00 00 | ................u...d...^...K... |
5200 | 46 02 00 00 3c 02 00 00 25 02 00 00 24 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | F...<...%...$................... |
5220 | 00 00 00 00 00 09 09 63 61 73 65 20 54 5f 43 61 73 65 54 65 73 74 45 78 70 72 3a 00 09 09 09 62 | .......case.T_CaseTestExpr:....b |
5240 | 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 74 79 70 6d 6f 64 3b 00 09 09 | reak;....}.....return.typmod;... |
5260 | 09 09 7d 00 09 09 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 09 09 09 09 69 66 20 28 65 78 | ..}.......return.-1;......if.(ex |
5280 | 70 72 54 79 70 6d 6f 64 28 28 4e 6f 64 65 20 2a 29 20 77 2d 3e 72 65 73 75 6c 74 29 20 21 3d 20 | prTypmod((Node.*).w->result).!=. |
52a0 | 74 79 70 6d 6f 64 29 00 09 09 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 09 09 09 09 69 66 | typmod).......return.-1;......if |
52c0 | 20 28 65 78 70 72 54 79 70 65 28 28 4e 6f 64 65 20 2a 29 20 77 2d 3e 72 65 73 75 6c 74 29 20 21 | .(exprType((Node.*).w->result).! |
52e0 | 3d 20 63 61 73 65 74 79 70 65 29 00 09 09 09 09 09 41 73 73 65 72 74 28 49 73 41 28 77 2c 20 43 | =.casetype)......Assert(IsA(w,.C |
5300 | 61 73 65 57 68 65 6e 29 29 3b 00 00 09 09 09 09 09 43 61 73 65 57 68 65 6e 20 20 20 2a 77 20 3d | aseWhen));.......CaseWhen...*w.= |
5320 | 20 28 43 61 73 65 57 68 65 6e 20 2a 29 20 6c 66 69 72 73 74 28 61 72 67 29 3b 00 09 09 09 09 7b | .(CaseWhen.*).lfirst(arg);.....{ |
5340 | 00 09 09 09 09 66 6f 72 65 61 63 68 28 61 72 67 2c 20 63 65 78 70 72 2d 3e 61 72 67 73 29 00 09 | .....foreach(arg,.cexpr->args).. |
5360 | 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 09 2f 2a 20 6e 6f 20 70 6f 69 6e 74 20 69 6e 20 74 72 | ....return.-1;./*.no.point.in.tr |
5380 | 79 69 6e 67 20 68 61 72 64 65 72 20 2a 2f 00 09 09 09 09 69 66 20 28 74 79 70 6d 6f 64 20 3c 20 | ying.harder.*/.....if.(typmod.<. |
53a0 | 30 29 00 09 09 09 09 74 79 70 6d 6f 64 20 3d 20 65 78 70 72 54 79 70 6d 6f 64 28 28 4e 6f 64 65 | 0).....typmod.=.exprTypmod((Node |
53c0 | 20 2a 29 20 63 65 78 70 72 2d 3e 64 65 66 72 65 73 75 6c 74 29 3b 00 09 09 09 09 09 72 65 74 75 | .*).cexpr->defresult);......retu |
53e0 | 72 6e 20 2d 31 3b 00 09 09 09 09 69 66 20 28 65 78 70 72 54 79 70 65 28 28 4e 6f 64 65 20 2a 29 | rn.-1;.....if.(exprType((Node.*) |
5400 | 20 63 65 78 70 72 2d 3e 64 65 66 72 65 73 75 6c 74 29 20 21 3d 20 63 61 73 65 74 79 70 65 29 00 | .cexpr->defresult).!=.casetype). |
5420 | 09 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 09 09 09 69 66 20 28 21 63 65 78 70 72 2d 3e | .....return.-1;.....if.(!cexpr-> |
5440 | 64 65 66 72 65 73 75 6c 74 29 00 00 09 09 09 09 4c 69 73 74 43 65 6c 6c 20 20 20 2a 61 72 67 3b | defresult)......ListCell...*arg; |
5460 | 00 09 09 09 09 69 6e 74 33 32 09 09 74 79 70 6d 6f 64 3b 00 09 09 09 09 4f 69 64 09 09 09 63 61 | .....int32..typmod;.....Oid...ca |
5480 | 73 65 74 79 70 65 20 3d 20 63 65 78 70 72 2d 3e 63 61 73 65 74 79 70 65 3b 00 09 09 09 09 63 6f | setype.=.cexpr->casetype;.....co |
54a0 | 6e 73 74 20 43 61 73 65 45 78 70 72 20 2a 63 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 43 61 73 | nst.CaseExpr.*cexpr.=.(const.Cas |
54c0 | 65 45 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 09 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 74 79 | eExpr.*).expr;......*/......*.ty |
54e0 | 70 6d 6f 64 2c 20 65 6c 73 65 20 75 73 65 20 2d 31 00 09 09 09 09 20 2a 20 49 66 20 61 6c 6c 20 | pmod,.else.use.-1......*.If.all. |
5500 | 74 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 73 20 61 67 72 65 65 20 6f 6e 20 74 79 70 65 2f 74 | the.alternatives.agree.on.type/t |
5520 | 79 70 6d 6f 64 2c 20 72 65 74 75 72 6e 20 74 68 61 74 00 09 09 09 09 2f 2a 00 09 09 09 7b 00 09 | ypmod,.return.that...../*....{.. |
5540 | 09 63 61 73 65 20 54 5f 43 61 73 65 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 65 78 70 72 | .case.T_CaseExpr:....return.expr |
5560 | 54 79 70 6d 6f 64 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 43 6f 6c 6c 61 74 65 45 | Typmod((Node.*).((const.CollateE |
5580 | 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 67 29 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 6c | xpr.*).expr)->arg);...case.T_Col |
55a0 | 6c 61 74 65 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 28 28 63 6f 6e 73 74 20 41 72 72 61 | lateExpr:....return.((const.Arra |
55c0 | 79 43 6f 65 72 63 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 74 79 70 6d | yCoerceExpr.*).expr)->resulttypm |
55e0 | 6f 64 3b 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 3a 00 09 09 | od;...case.T_ArrayCoerceExpr:... |
5600 | 09 72 65 74 75 72 6e 20 28 28 63 6f 6e 73 74 20 52 65 6c 61 62 65 6c 54 79 70 65 20 2a 29 20 65 | .return.((const.RelabelType.*).e |
5620 | 78 70 72 29 2d 3e 72 65 73 75 6c 74 74 79 70 6d 6f 64 3b 00 09 09 63 61 73 65 20 54 5f 52 65 6c | xpr)->resulttypmod;...case.T_Rel |
5640 | 61 62 65 6c 54 79 70 65 3a 00 09 09 09 72 65 74 75 72 6e 20 28 28 63 6f 6e 73 74 20 46 69 65 6c | abelType:....return.((const.Fiel |
5660 | 64 53 65 6c 65 63 74 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 74 79 70 6d 6f 64 3b 00 | dSelect.*).expr)->resulttypmod;. |
5680 | 09 09 63 61 73 65 20 54 5f 46 69 65 6c 64 53 65 6c 65 63 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 | ..case.T_FieldSelect:....break;. |
56a0 | 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 65 78 70 72 54 79 70 6d 6f 64 28 28 4e 6f 64 65 | ...}.....return.exprTypmod((Node |
56c0 | 20 2a 29 20 6c 69 6e 69 74 69 61 6c 28 61 73 70 6c 61 6e 2d 3e 73 75 62 70 6c 61 6e 73 29 29 3b | .*).linitial(asplan->subplans)); |
56e0 | 00 09 09 09 09 2f 2a 20 73 75 62 70 6c 61 6e 73 20 73 68 6f 75 6c 64 20 61 6c 6c 20 72 65 74 75 | ...../*.subplans.should.all.retu |
5700 | 72 6e 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 20 | rn.the.same.thing.*/......const. |
5720 | 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 20 2a 61 73 70 6c 61 6e 20 3d 20 28 63 6f | AlternativeSubPlan.*asplan.=.(co |
5740 | 6e 73 74 20 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 20 2a 29 20 65 78 70 72 3b 00 | nst.AlternativeSubPlan.*).expr;. |
5760 | 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e | ...{...case.T_AlternativeSubPlan |
5780 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 2f 2a 20 6f 74 68 65 72 77 69 73 | :....break;....}...../*.otherwis |
57a0 | 65 2c 20 72 65 73 75 6c 74 20 69 73 20 52 45 43 4f 52 44 20 6f 72 20 42 4f 4f 4c 45 41 4e 2c 20 | e,.result.is.RECORD.or.BOOLEAN,. |
57c0 | 74 79 70 6d 6f 64 20 69 73 20 2d 31 20 2a 2f 00 09 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 | typmod.is.-1.*/.....}......retur |
57e0 | 6e 20 73 75 62 70 6c 61 6e 2d 3e 66 69 72 73 74 43 6f 6c 54 79 70 6d 6f 64 3b 00 09 09 09 09 09 | n.subplan->firstColTypmod;...... |
5800 | 2f 2a 20 6e 6f 74 65 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 63 61 72 65 20 69 66 | /*.note.we.don't.need.to.care.if |
5820 | 20 69 74 27 73 20 61 6e 20 61 72 72 61 79 20 2a 2f 00 09 09 09 09 09 2f 2a 20 67 65 74 20 74 68 | .it's.an.array.*/....../*.get.th |
5840 | 65 20 74 79 70 6d 6f 64 20 6f 66 20 74 68 65 20 73 75 62 73 65 6c 65 63 74 27 73 20 66 69 72 73 | e.typmod.of.the.subselect's.firs |
5860 | 74 20 74 61 72 67 65 74 20 63 6f 6c 75 6d 6e 20 2a 2f 00 09 09 09 09 7b 00 09 09 09 09 09 73 75 | t.target.column.*/.....{......su |
5880 | 62 70 6c 61 6e 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d 20 41 52 52 41 59 5f 53 55 42 4c | bplan->subLinkType.==.ARRAY_SUBL |
58a0 | 49 4e 4b 29 00 09 09 09 09 69 66 20 28 73 75 62 70 6c 61 6e 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 | INK).....if.(subplan->subLinkTyp |
58c0 | 65 20 3d 3d 20 45 58 50 52 5f 53 55 42 4c 49 4e 4b 20 7c 7c 00 00 09 09 09 09 63 6f 6e 73 74 20 | e.==.EXPR_SUBLINK.||......const. |
58e0 | 53 75 62 50 6c 61 6e 20 2a 73 75 62 70 6c 61 6e 20 3d 20 28 63 6f 6e 73 74 20 53 75 62 50 6c 61 | SubPlan.*subplan.=.(const.SubPla |
5900 | 6e 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 53 75 62 50 6c 61 6e | n.*).expr;....{...case.T_SubPlan |
5920 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 2f 2a 20 6f 74 68 65 72 77 69 73 | :....break;....}...../*.otherwis |
5940 | 65 2c 20 72 65 73 75 6c 74 20 69 73 20 52 45 43 4f 52 44 20 6f 72 20 42 4f 4f 4c 45 41 4e 2c 20 | e,.result.is.RECORD.or.BOOLEAN,. |
5960 | 74 79 70 6d 6f 64 20 69 73 20 2d 31 20 2a 2f 00 09 09 09 09 7d 00 09 09 09 09 09 2f 2a 20 6e 6f | typmod.is.-1.*/.....}....../*.no |
5980 | 74 65 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 63 61 72 65 20 69 66 20 69 74 27 73 | te.we.don't.need.to.care.if.it's |
59a0 | 20 61 6e 20 61 72 72 61 79 20 2a 2f 00 09 09 09 09 09 72 65 74 75 72 6e 20 65 78 70 72 54 79 70 | .an.array.*/......return.exprTyp |
59c0 | 6d 6f 64 28 28 4e 6f 64 65 20 2a 29 20 74 65 6e 74 2d 3e 65 78 70 72 29 3b 00 09 09 09 09 09 41 | mod((Node.*).tent->expr);......A |
59e0 | 73 73 65 72 74 28 21 74 65 6e 74 2d 3e 72 65 73 6a 75 6e 6b 29 3b 00 09 09 09 09 09 41 73 73 65 | ssert(!tent->resjunk);......Asse |
5a00 | 72 74 28 49 73 41 28 74 65 6e 74 2c 20 54 61 72 67 65 74 45 6e 74 72 79 29 29 3b 00 09 09 09 09 | rt(IsA(tent,.TargetEntry));..... |
5a20 | 09 74 65 6e 74 20 3d 20 28 54 61 72 67 65 74 45 6e 74 72 79 20 2a 29 20 6c 69 6e 69 74 69 61 6c | .tent.=.(TargetEntry.*).linitial |
5a40 | 28 71 74 72 65 65 2d 3e 74 61 72 67 65 74 4c 69 73 74 29 3b 00 09 09 09 09 09 09 65 6c 6f 67 28 | (qtree->targetList);.......elog( |
5a60 | 45 52 52 4f 52 2c 20 22 63 61 6e 6e 6f 74 20 67 65 74 20 74 79 70 65 20 66 6f 72 20 75 6e 74 72 | ERROR,."cannot.get.type.for.untr |
5a80 | 61 6e 73 66 6f 72 6d 65 64 20 73 75 62 6c 69 6e 6b 22 29 3b 00 09 09 09 09 09 69 66 20 28 21 71 | ansformed.sublink");......if.(!q |
5aa0 | 74 72 65 65 20 7c 7c 20 21 49 73 41 28 71 74 72 65 65 2c 20 51 75 65 72 79 29 29 00 00 09 09 09 | tree.||.!IsA(qtree,.Query))..... |
5ac0 | 09 09 54 61 72 67 65 74 45 6e 74 72 79 20 2a 74 65 6e 74 3b 00 09 09 09 09 09 51 75 65 72 79 09 | ..TargetEntry.*tent;......Query. |
5ae0 | 20 20 20 2a 71 74 72 65 65 20 3d 20 28 51 75 65 72 79 20 2a 29 20 73 75 62 6c 69 6e 6b 2d 3e 73 | ...*qtree.=.(Query.*).sublink->s |
5b00 | 75 62 73 65 6c 65 63 74 3b 00 09 09 09 09 09 2f 2a 20 67 65 74 20 74 68 65 20 74 79 70 6d 6f 64 | ubselect;....../*.get.the.typmod |
5b20 | 20 6f 66 20 74 68 65 20 73 75 62 73 65 6c 65 63 74 27 73 20 66 69 72 73 74 20 74 61 72 67 65 74 | .of.the.subselect's.first.target |
5b40 | 20 63 6f 6c 75 6d 6e 20 2a 2f 00 09 09 09 09 7b 00 09 09 09 09 09 73 75 62 6c 69 6e 6b 2d 3e 73 | .column.*/.....{......sublink->s |
5b60 | 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d 20 41 52 52 41 59 5f 53 55 42 4c 49 4e 4b 29 00 09 09 09 | ubLinkType.==.ARRAY_SUBLINK).... |
5b80 | 09 69 66 20 28 73 75 62 6c 69 6e 6b 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d 20 45 58 50 | .if.(sublink->subLinkType.==.EXP |
5ba0 | 52 5f 53 55 42 4c 49 4e 4b 20 7c 7c 00 00 09 09 09 09 63 6f 6e 73 74 20 53 75 62 4c 69 6e 6b 20 | R_SUBLINK.||......const.SubLink. |
5bc0 | 2a 73 75 62 6c 69 6e 6b 20 3d 20 28 63 6f 6e 73 74 20 53 75 62 4c 69 6e 6b 20 2a 29 20 65 78 70 | *sublink.=.(const.SubLink.*).exp |
5be0 | 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 53 75 62 4c 69 6e 6b 3a 00 09 09 09 62 72 65 | r;....{...case.T_SubLink:....bre |
5c00 | 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 65 78 70 72 54 79 70 6d 6f 64 28 28 | ak;....}.....return.exprTypmod(( |
5c20 | 4e 6f 64 65 20 2a 29 20 6c 69 6e 69 74 69 61 6c 28 6e 65 78 70 72 2d 3e 61 72 67 73 29 29 3b 00 | Node.*).linitial(nexpr->args));. |
5c40 | 00 09 09 09 09 63 6f 6e 73 74 20 4e 75 6c 6c 49 66 45 78 70 72 20 2a 6e 65 78 70 72 20 3d 20 28 | .....const.NullIfExpr.*nexpr.=.( |
5c60 | 63 6f 6e 73 74 20 4e 75 6c 6c 49 66 45 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 09 09 09 20 2a | const.NullIfExpr.*).expr;......* |
5c80 | 2f 00 09 09 09 09 20 2a 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 27 73 20 74 79 70 6d 6f 64 | /......*.first.argument's.typmod |
5ca0 | 20 69 66 20 6b 6e 6f 77 6e 2e 00 09 09 09 09 20 2a 20 52 65 73 75 6c 74 20 69 73 20 65 69 74 68 | .if.known.......*.Result.is.eith |
5cc0 | 65 72 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 72 20 4e 55 4c 4c 2c 20 73 6f 20 77 65 | er.first.argument.or.NULL,.so.we |
5ce0 | 20 63 61 6e 20 72 65 70 6f 72 74 00 09 09 09 09 2f 2a 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 | .can.report...../*....{...case.T |
5d00 | 5f 4e 75 6c 6c 49 66 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 65 78 70 72 54 79 70 6d 6f | _NullIfExpr:....return.exprTypmo |
5d20 | 64 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 4e 61 6d 65 64 41 72 67 45 78 70 72 20 | d((Node.*).((const.NamedArgExpr. |
5d40 | 2a 29 20 65 78 70 72 29 2d 3e 61 72 67 29 3b 00 09 09 63 61 73 65 20 54 5f 4e 61 6d 65 64 41 72 | *).expr)->arg);...case.T_NamedAr |
5d60 | 67 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 | gExpr:....break;....}......retur |
5d80 | 6e 20 63 6f 65 72 63 65 64 54 79 70 6d 6f 64 3b 00 09 09 09 09 69 66 20 28 65 78 70 72 49 73 4c | n.coercedTypmod;.....if.(exprIsL |
5da0 | 65 6e 67 74 68 43 6f 65 72 63 69 6f 6e 28 65 78 70 72 2c 20 26 63 6f 65 72 63 65 64 54 79 70 6d | engthCoercion(expr,.&coercedTypm |
5dc0 | 6f 64 29 29 00 09 09 09 09 2f 2a 20 42 65 20 73 6d 61 72 74 20 61 62 6f 75 74 20 6c 65 6e 67 74 | od))...../*.Be.smart.about.lengt |
5de0 | 68 2d 63 6f 65 72 63 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 2e 2e 2e 20 2a 2f 00 00 09 09 09 09 | h-coercion.functions....*/...... |
5e00 | 69 6e 74 33 32 09 09 63 6f 65 72 63 65 64 54 79 70 6d 6f 64 3b 00 09 09 09 7b 00 09 09 63 61 73 | int32..coercedTypmod;....{...cas |
5e20 | 65 20 54 5f 46 75 6e 63 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 28 28 63 6f 6e 73 74 20 | e.T_FuncExpr:....return.((const. |
5e40 | 41 72 72 61 79 52 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 66 74 79 70 6d 6f 64 3b 00 09 09 | ArrayRef.*).expr)->reftypmod;... |
5e60 | 09 2f 2a 20 74 79 70 6d 6f 64 20 69 73 20 74 68 65 20 73 61 6d 65 20 66 6f 72 20 61 72 72 61 79 | ./*.typmod.is.the.same.for.array |
5e80 | 20 6f 72 20 65 6c 65 6d 65 6e 74 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 52 65 66 | .or.element.*/...case.T_ArrayRef |
5ea0 | 3a 00 09 09 09 72 65 74 75 72 6e 20 28 28 63 6f 6e 73 74 20 50 61 72 61 6d 20 2a 29 20 65 78 70 | :....return.((const.Param.*).exp |
5ec0 | 72 29 2d 3e 70 61 72 61 6d 74 79 70 6d 6f 64 3b 00 09 09 63 61 73 65 20 54 5f 50 61 72 61 6d 3a | r)->paramtypmod;...case.T_Param: |
5ee0 | 00 09 09 09 72 65 74 75 72 6e 20 28 28 63 6f 6e 73 74 20 43 6f 6e 73 74 20 2a 29 20 65 78 70 72 | ....return.((const.Const.*).expr |
5f00 | 29 2d 3e 63 6f 6e 73 74 74 79 70 6d 6f 64 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 6e 73 74 3a 00 | )->consttypmod;...case.T_Const:. |
5f20 | 09 09 09 72 65 74 75 72 6e 20 28 28 63 6f 6e 73 74 20 56 61 72 20 2a 29 20 65 78 70 72 29 2d 3e | ...return.((const.Var.*).expr)-> |
5f40 | 76 61 72 74 79 70 6d 6f 64 3b 00 09 09 63 61 73 65 20 54 5f 56 61 72 3a 00 09 7b 00 09 73 77 69 | vartypmod;...case.T_Var:..{..swi |
5f60 | 74 63 68 20 28 6e 6f 64 65 54 61 67 28 65 78 70 72 29 29 00 00 09 09 72 65 74 75 72 6e 20 2d 31 | tch.(nodeTag(expr))....return.-1 |
5f80 | 3b 00 09 69 66 20 28 21 65 78 70 72 29 00 7b 00 65 78 70 72 54 79 70 6d 6f 64 28 63 6f 6e 73 74 | ;..if.(!expr).{.exprTypmod(const |
5fa0 | 20 4e 6f 64 65 20 2a 65 78 70 72 29 00 69 6e 74 33 32 00 20 2a 2f 00 20 2a 09 20 20 69 66 20 69 | .Node.*expr).int32..*/..*...if.i |
5fc0 | 74 20 63 61 6e 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 2e 20 20 49 6e 20 6d 61 6e 79 20 63 61 | t.can.be.determined...In.many.ca |
5fe0 | 73 65 73 2c 20 69 74 20 63 61 6e 27 74 20 61 6e 64 20 77 65 20 72 65 74 75 72 6e 20 2d 31 2e 00 | ses,.it.can't.and.we.return.-1.. |
6000 | 61 64 00 00 2d 00 00 00 55 02 00 00 00 10 00 00 83 00 00 00 00 00 00 00 ce 0f 00 00 ba 0f 00 00 | ad..-...U....................... |
6020 | b5 0f 00 00 ae 0f 00 00 71 0f 00 00 56 0f 00 00 4e 0f 00 00 13 0f 00 00 fd 0e 00 00 ea 0e 00 00 | ........q...V...N............... |
6040 | d4 0e 00 00 d3 0e 00 00 af 0e 00 00 9f 0e 00 00 5e 0e 00 00 4a 0e 00 00 1a 0e 00 00 fc 0d 00 00 | ................^...J........... |
6060 | d1 0d 00 00 c8 0d 00 00 9b 0d 00 00 74 0d 00 00 6e 0d 00 00 45 0d 00 00 44 0d 00 00 20 0d 00 00 | ............t...n...E...D....... |
6080 | 0f 0d 00 00 ed 0c 00 00 dc 0c 00 00 d6 0c 00 00 c3 0c 00 00 be 0c 00 00 b4 0c 00 00 9d 0c 00 00 | ................................ |
60a0 | 98 0c 00 00 91 0c 00 00 50 0c 00 00 35 0c 00 00 2d 0c 00 00 f0 0b 00 00 c2 0b 00 00 af 0b 00 00 | ........P...5...-............... |
60c0 | 9a 0b 00 00 99 0b 00 00 57 0b 00 00 47 0b 00 00 0e 0b 00 00 fa 0a 00 00 ca 0a 00 00 94 0a 00 00 | ........W...G................... |
60e0 | 8e 0a 00 00 66 0a 00 00 65 0a 00 00 3f 0a 00 00 2e 0a 00 00 0c 0a 00 00 fb 09 00 00 f5 09 00 00 | ....f...e...?................... |
6100 | e2 09 00 00 dd 09 00 00 d3 09 00 00 be 09 00 00 b9 09 00 00 b2 09 00 00 71 09 00 00 56 09 00 00 | ........................q...V... |
6120 | 4e 09 00 00 15 09 00 00 eb 08 00 00 d8 08 00 00 c3 08 00 00 c2 08 00 00 82 08 00 00 72 08 00 00 | N...........................r... |
6140 | 39 08 00 00 25 08 00 00 f5 07 00 00 bf 07 00 00 b9 07 00 00 91 07 00 00 90 07 00 00 6c 07 00 00 | 9...%.......................l... |
6160 | 5b 07 00 00 39 07 00 00 28 07 00 00 22 07 00 00 0f 07 00 00 0a 07 00 00 00 07 00 00 e7 06 00 00 | [...9...(..."................... |
6180 | ae 06 00 00 90 06 00 00 57 06 00 00 40 06 00 00 0e 06 00 00 f5 05 00 00 ad 05 00 00 a2 05 00 00 | ........W...@................... |
61a0 | 98 05 00 00 95 05 00 00 89 05 00 00 87 05 00 00 86 05 00 00 83 05 00 00 6b 05 00 00 23 05 00 00 | ........................k...#... |
61c0 | dc 04 00 00 d9 04 00 00 8b 04 00 00 50 04 00 00 4d 04 00 00 07 04 00 00 e3 03 00 00 df 03 00 00 | ............P...M............... |
61e0 | da 03 00 00 9d 03 00 00 9b 03 00 00 7f 03 00 00 48 03 00 00 47 03 00 00 43 03 00 00 f7 02 00 00 | ................H...G...C....... |
6200 | de 02 00 00 d9 02 00 00 b7 02 00 00 b4 02 00 00 82 02 00 00 73 02 00 00 5b 02 00 00 5a 02 00 00 | ....................s...[...Z... |
6220 | 55 02 00 00 54 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | U...T........................... |
6240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 09 2f 2a 00 00 09 09 43 6f 6e | ......................./*....Con |
6260 | 73 74 09 20 20 20 2a 73 65 63 6f 6e 64 5f 61 72 67 3b 00 09 09 69 6e 74 09 09 09 6e 61 72 67 73 | st....*second_arg;...int...nargs |
6280 | 3b 00 09 09 63 6f 6e 73 74 20 46 75 6e 63 45 78 70 72 20 2a 66 75 6e 63 20 3d 20 28 63 6f 6e 73 | ;...const.FuncExpr.*func.=.(cons |
62a0 | 74 20 46 75 6e 63 45 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 7b 00 09 69 66 20 28 65 78 70 72 | t.FuncExpr.*).expr;..{..if.(expr |
62c0 | 20 26 26 20 49 73 41 28 65 78 70 72 2c 20 46 75 6e 63 45 78 70 72 29 29 00 09 20 2a 2f 00 09 20 | .&&.IsA(expr,.FuncExpr))...*/... |
62e0 | 2a 20 61 72 65 20 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 73 00 09 20 2a 20 53 63 61 6c 61 | *.are.ArrayCoerceExprs...*.Scala |
6300 | 72 2d 74 79 70 65 20 6c 65 6e 67 74 68 20 63 6f 65 72 63 69 6f 6e 73 20 61 72 65 20 46 75 6e 63 | r-type.length.coercions.are.Func |
6320 | 45 78 70 72 73 2c 20 61 72 72 61 79 2d 74 79 70 65 20 6c 65 6e 67 74 68 20 63 6f 65 72 63 69 6f | Exprs,.array-type.length.coercio |
6340 | 6e 73 00 09 2f 2a 00 00 09 09 2a 63 6f 65 72 63 65 64 54 79 70 6d 6f 64 20 3d 20 2d 31 3b 09 2f | ns../*....*coercedTypmod.=.-1;./ |
6360 | 2a 20 64 65 66 61 75 6c 74 20 72 65 73 75 6c 74 20 6f 6e 20 66 61 69 6c 75 72 65 20 2a 2f 00 09 | *.default.result.on.failure.*/.. |
6380 | 69 66 20 28 63 6f 65 72 63 65 64 54 79 70 6d 6f 64 20 21 3d 20 4e 55 4c 4c 29 00 7b 00 65 78 70 | if.(coercedTypmod.!=.NULL).{.exp |
63a0 | 72 49 73 4c 65 6e 67 74 68 43 6f 65 72 63 69 6f 6e 28 63 6f 6e 73 74 20 4e 6f 64 65 20 2a 65 78 | rIsLengthCoercion(const.Node.*ex |
63c0 | 70 72 2c 20 69 6e 74 33 32 20 2a 63 6f 65 72 63 65 64 54 79 70 6d 6f 64 29 00 62 6f 6f 6c 00 20 | pr,.int32.*coercedTypmod).bool.. |
63e0 | 2a 2f 00 20 2a 20 6c 65 6e 67 74 68 20 63 6f 65 72 63 69 6f 6e 20 62 79 20 74 68 69 73 20 72 6f | */..*.length.coercion.by.this.ro |
6400 | 75 74 69 6e 65 2e 00 20 2a 20 4e 6f 74 65 20 74 68 61 74 20 61 20 63 6f 6d 62 69 6e 65 64 20 74 | utine...*.Note.that.a.combined.t |
6420 | 79 70 65 2d 61 6e 64 2d 6c 65 6e 67 74 68 20 63 6f 65 72 63 69 6f 6e 20 77 69 6c 6c 20 62 65 20 | ype-and-length.coercion.will.be. |
6440 | 74 72 65 61 74 65 64 20 61 73 20 61 00 20 2a 00 20 2a 20 69 73 20 61 20 6c 65 6e 67 74 68 2d 63 | treated.as.a..*..*.is.a.length-c |
6460 | 6f 65 72 63 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 2c 20 65 6c 73 65 20 2d 31 20 69 73 20 73 74 6f | oercion.function,.else.-1.is.sto |
6480 | 72 65 64 20 74 68 65 72 65 2e 00 20 2a 20 49 66 20 63 6f 65 72 63 65 64 54 79 70 6d 6f 64 20 69 | red.there...*.If.coercedTypmod.i |
64a0 | 73 20 6e 6f 74 20 4e 55 4c 4c 2c 20 74 68 65 20 74 79 70 6d 6f 64 20 69 73 20 73 74 6f 72 65 64 | s.not.NULL,.the.typmod.is.stored |
64c0 | 20 74 68 65 72 65 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 00 20 2a 00 20 2a 09 09 | .there.if.the.expression..*..*.. |
64e0 | 74 79 70 6d 6f 64 2d 63 6f 65 72 63 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 4f 70 74 69 6f | typmod-coercion.function...Optio |
6500 | 6e 61 6c 6c 79 20 65 78 74 72 61 63 74 20 74 68 65 20 72 65 73 75 6c 74 27 73 20 74 79 70 6d 6f | nally.extract.the.result's.typmo |
6520 | 64 2e 00 20 2a 09 09 44 65 74 65 63 74 20 77 68 65 74 68 65 72 20 61 6e 20 65 78 70 72 65 73 73 | d...*..Detect.whether.an.express |
6540 | 69 6f 6e 20 74 72 65 65 20 69 73 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6f 66 20 61 20 | ion.tree.is.an.application.of.a. |
6560 | 64 61 74 61 74 79 70 65 27 73 00 20 2a 20 65 78 70 72 49 73 4c 65 6e 67 74 68 43 6f 65 72 63 69 | datatype's..*.exprIsLengthCoerci |
6580 | 6f 6e 00 2f 2a 00 00 7d 00 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 7d 00 09 09 09 62 72 65 61 6b | on./*..}..return.-1;..}....break |
65a0 | 3b 00 09 09 64 65 66 61 75 6c 74 3a 00 09 09 09 72 65 74 75 72 6e 20 65 78 70 72 54 79 70 6d 6f | ;...default:....return.exprTypmo |
65c0 | 64 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 50 6c 61 63 65 48 6f 6c 64 65 72 56 61 | d((Node.*).((const.PlaceHolderVa |
65e0 | 72 20 2a 29 20 65 78 70 72 29 2d 3e 70 68 65 78 70 72 29 3b 00 09 09 63 61 73 65 20 54 5f 50 6c | r.*).expr)->phexpr);...case.T_Pl |
6600 | 61 63 65 48 6f 6c 64 65 72 56 61 72 3a 00 09 09 09 72 65 74 75 72 6e 20 28 28 63 6f 6e 73 74 20 | aceHolderVar:....return.((const. |
6620 | 53 65 74 54 6f 44 65 66 61 75 6c 74 20 2a 29 20 65 78 70 72 29 2d 3e 74 79 70 65 4d 6f 64 3b 00 | SetToDefault.*).expr)->typeMod;. |
6640 | 09 09 63 61 73 65 20 54 5f 53 65 74 54 6f 44 65 66 61 75 6c 74 3a 00 09 09 09 72 65 74 75 72 6e | ..case.T_SetToDefault:....return |
6660 | 20 28 28 63 6f 6e 73 74 20 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 56 61 6c 75 65 20 2a 29 20 | .((const.CoerceToDomainValue.*). |
6680 | 65 78 70 72 29 2d 3e 74 79 70 65 4d 6f 64 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 63 65 54 | expr)->typeMod;...case.T_CoerceT |
66a0 | 6f 44 6f 6d 61 69 6e 56 61 6c 75 65 3a 00 09 09 09 72 65 74 75 72 6e 20 28 28 63 6f 6e 73 74 20 | oDomainValue:....return.((const. |
66c0 | 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 74 | CoerceToDomain.*).expr)->resultt |
66e0 | 79 70 6d 6f 64 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 3a 00 | ypmod;...case.T_CoerceToDomain:. |
6700 | 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 74 79 70 6d 6f 64 | ...break;....}.....return.typmod |
6720 | 3b 00 09 09 09 09 7d 00 09 09 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 09 09 09 09 69 66 | ;.....}.......return.-1;......if |
6740 | 20 28 65 78 70 72 54 79 70 6d 6f 64 28 65 29 20 21 3d 20 74 79 70 6d 6f 64 29 00 09 09 09 09 09 | .(exprTypmod(e).!=.typmod)...... |
6760 | 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 09 09 09 09 69 66 20 28 65 78 70 72 54 79 70 65 28 65 29 | .return.-1;......if.(exprType(e) |
6780 | 20 21 3d 20 6d 69 6e 6d 61 78 74 79 70 65 29 00 00 09 09 09 09 09 4e 6f 64 65 09 20 20 20 2a 65 | .!=.minmaxtype).......Node....*e |
67a0 | 20 3d 20 28 4e 6f 64 65 20 2a 29 20 6c 66 69 72 73 74 28 61 72 67 29 3b 00 09 09 09 09 7b 00 09 | .=.(Node.*).lfirst(arg);.....{.. |
67c0 | 09 09 09 66 6f 72 5f 65 61 63 68 5f 63 65 6c 6c 28 61 72 67 2c 20 6c 6e 65 78 74 28 6c 69 73 74 | ...for_each_cell(arg,.lnext(list |
67e0 | 5f 68 65 61 64 28 6d 65 78 70 72 2d 3e 61 72 67 73 29 29 29 00 09 09 09 09 09 72 65 74 75 72 6e | _head(mexpr->args)))......return |
6800 | 20 2d 31 3b 09 2f 2a 20 6e 6f 20 70 6f 69 6e 74 20 69 6e 20 74 72 79 69 6e 67 20 68 61 72 64 65 | .-1;./*.no.point.in.trying.harde |
6820 | 72 20 2a 2f 00 09 09 09 09 69 66 20 28 74 79 70 6d 6f 64 20 3c 20 30 29 00 09 09 09 09 74 79 70 | r.*/.....if.(typmod.<.0).....typ |
6840 | 6d 6f 64 20 3d 20 65 78 70 72 54 79 70 6d 6f 64 28 28 4e 6f 64 65 20 2a 29 20 6c 69 6e 69 74 69 | mod.=.exprTypmod((Node.*).liniti |
6860 | 61 6c 28 6d 65 78 70 72 2d 3e 61 72 67 73 29 29 3b 00 09 09 09 09 09 72 65 74 75 72 6e 20 2d 31 | al(mexpr->args));......return.-1 |
6880 | 3b 00 09 09 09 09 69 66 20 28 65 78 70 72 54 79 70 65 28 28 4e 6f 64 65 20 2a 29 20 6c 69 6e 69 | ;.....if.(exprType((Node.*).lini |
68a0 | 74 69 61 6c 28 6d 65 78 70 72 2d 3e 61 72 67 73 29 29 20 21 3d 20 6d 69 6e 6d 61 78 74 79 70 65 | tial(mexpr->args)).!=.minmaxtype |
68c0 | 29 00 00 09 09 09 09 4c 69 73 74 43 65 6c 6c 20 20 20 2a 61 72 67 3b 00 09 09 09 09 69 6e 74 33 | )......ListCell...*arg;.....int3 |
68e0 | 32 09 09 74 79 70 6d 6f 64 3b 00 09 09 09 09 4f 69 64 09 09 09 6d 69 6e 6d 61 78 74 79 70 65 20 | 2..typmod;.....Oid...minmaxtype. |
6900 | 3d 20 6d 65 78 70 72 2d 3e 6d 69 6e 6d 61 78 74 79 70 65 3b 00 09 09 09 09 63 6f 6e 73 74 20 4d | =.mexpr->minmaxtype;.....const.M |
6920 | 69 6e 4d 61 78 45 78 70 72 20 2a 6d 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 4d 69 6e 4d 61 78 | inMaxExpr.*mexpr.=.(const.MinMax |
6940 | 45 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 09 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 74 79 70 | Expr.*).expr;......*/......*.typ |
6960 | 6d 6f 64 2c 20 65 6c 73 65 20 75 73 65 20 2d 31 00 09 09 09 09 20 2a 20 49 66 20 61 6c 6c 20 74 | mod,.else.use.-1......*.If.all.t |
6980 | 68 65 20 61 6c 74 65 72 6e 61 74 69 76 65 73 20 61 67 72 65 65 20 6f 6e 20 74 79 70 65 2f 74 79 | he.alternatives.agree.on.type/ty |
69a0 | 70 6d 6f 64 2c 20 72 65 74 75 72 6e 20 74 68 61 74 00 09 09 09 09 2f 2a 00 09 09 09 7b 00 09 09 | pmod,.return.that...../*....{... |
69c0 | 63 61 73 65 20 54 5f 4d 69 6e 4d 61 78 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | case.T_MinMaxExpr:....break;.... |
69e0 | 7d 00 09 09 09 09 72 65 74 75 72 6e 20 74 79 70 6d 6f 64 3b 00 09 09 09 09 7d 00 09 09 09 09 09 | }.....return.typmod;.....}...... |
6a00 | 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 09 09 09 09 69 66 20 28 65 78 70 72 54 79 70 6d 6f 64 28 | .return.-1;......if.(exprTypmod( |
6a20 | 65 29 20 21 3d 20 74 79 70 6d 6f 64 29 00 09 09 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 | e).!=.typmod).......return.-1;.. |
6a40 | 09 09 09 09 69 66 20 28 65 78 70 72 54 79 70 65 28 65 29 20 21 3d 20 63 6f 61 6c 65 73 63 65 74 | ....if.(exprType(e).!=.coalescet |
6a60 | 79 70 65 29 00 00 09 09 09 09 09 4e 6f 64 65 09 20 20 20 2a 65 20 3d 20 28 4e 6f 64 65 20 2a 29 | ype).......Node....*e.=.(Node.*) |
6a80 | 20 6c 66 69 72 73 74 28 61 72 67 29 3b 00 09 09 09 09 7b 00 09 09 09 09 66 6f 72 5f 65 61 63 68 | .lfirst(arg);.....{.....for_each |
6aa0 | 5f 63 65 6c 6c 28 61 72 67 2c 20 6c 6e 65 78 74 28 6c 69 73 74 5f 68 65 61 64 28 63 65 78 70 72 | _cell(arg,.lnext(list_head(cexpr |
6ac0 | 2d 3e 61 72 67 73 29 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 09 2f 2a 20 6e 6f 20 | ->args)))......return.-1;./*.no. |
6ae0 | 70 6f 69 6e 74 20 69 6e 20 74 72 79 69 6e 67 20 68 61 72 64 65 72 20 2a 2f 00 09 09 09 09 69 66 | point.in.trying.harder.*/.....if |
6b00 | 20 28 74 79 70 6d 6f 64 20 3c 20 30 29 00 09 09 09 09 74 79 70 6d 6f 64 20 3d 20 65 78 70 72 54 | .(typmod.<.0).....typmod.=.exprT |
6b20 | 79 70 6d 6f 64 28 28 4e 6f 64 65 20 2a 29 20 6c 69 6e 69 74 69 61 6c 28 63 65 78 70 72 2d 3e 61 | ypmod((Node.*).linitial(cexpr->a |
6b40 | 72 67 73 29 29 3b 00 09 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 09 09 09 69 66 20 28 65 | rgs));......return.-1;.....if.(e |
6b60 | 78 70 72 54 79 70 65 28 28 4e 6f 64 65 20 2a 29 20 6c 69 6e 69 74 69 61 6c 28 63 65 78 70 72 2d | xprType((Node.*).linitial(cexpr- |
6b80 | 3e 61 72 67 73 29 29 20 21 3d 20 63 6f 61 6c 65 73 63 65 74 79 70 65 29 00 00 09 09 09 09 4c 69 | >args)).!=.coalescetype)......Li |
6ba0 | 73 74 43 65 6c 6c 20 20 20 2a 61 72 67 3b 00 09 09 09 09 69 6e 74 33 32 09 09 74 79 70 6d 6f 64 | stCell...*arg;.....int32..typmod |
6bc0 | 3b 00 09 09 09 09 4f 69 64 09 09 09 63 6f 61 6c 65 73 63 65 74 79 70 65 20 3d 20 63 65 78 70 72 | ;.....Oid...coalescetype.=.cexpr |
6be0 | 2d 3e 63 6f 61 6c 65 73 63 65 74 79 70 65 3b 00 09 09 09 09 63 6f 6e 73 74 20 43 6f 61 6c 65 73 | ->coalescetype;.....const.Coales |
6c00 | 63 65 45 78 70 72 20 2a 63 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 43 6f 61 6c 65 73 63 65 45 | ceExpr.*cexpr.=.(const.CoalesceE |
6c20 | 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 09 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 74 79 70 6d | xpr.*).expr;......*/......*.typm |
6c40 | 6f 64 2c 20 65 6c 73 65 20 75 73 65 20 2d 31 00 09 09 09 09 20 2a 20 49 66 20 61 6c 6c 20 74 68 | od,.else.use.-1......*.If.all.th |
6c60 | 65 20 61 6c 74 65 72 6e 61 74 69 76 65 73 20 61 67 72 65 65 20 6f 6e 20 74 79 70 65 2f 74 79 70 | e.alternatives.agree.on.type/typ |
6c80 | 6d 6f 64 2c 20 72 65 74 75 72 6e 20 74 68 61 74 00 09 09 09 09 2f 2a 00 09 09 09 7b 00 09 09 63 | mod,.return.that...../*....{...c |
6ca0 | 61 73 65 20 54 5f 43 6f 61 6c 65 73 63 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 | ase.T_CoalesceExpr:....break;... |
6cc0 | 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 74 79 70 6d 6f 64 3b 00 09 09 09 09 7d 00 09 09 09 09 | .}.....return.typmod;.....}..... |
6ce0 | 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 09 09 09 09 69 66 20 28 65 78 70 72 54 79 70 6d 6f 64 | ..return.-1;......if.(exprTypmod |
6d00 | 28 65 29 20 21 3d 20 74 79 70 6d 6f 64 29 00 09 09 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 | (e).!=.typmod).......return.-1;. |
6d20 | 09 09 09 09 09 69 66 20 28 65 78 70 72 54 79 70 65 28 65 29 20 21 3d 20 63 6f 6d 6d 6f 6e 74 79 | .....if.(exprType(e).!=.commonty |
6d40 | 70 65 29 00 00 09 09 09 09 09 4e 6f 64 65 09 20 20 20 2a 65 20 3d 20 28 4e 6f 64 65 20 2a 29 20 | pe).......Node....*e.=.(Node.*). |
6d60 | 6c 66 69 72 73 74 28 65 6c 65 6d 29 3b 00 09 09 09 09 7b 00 09 09 09 09 66 6f 72 65 61 63 68 28 | lfirst(elem);.....{.....foreach( |
6d80 | 65 6c 65 6d 2c 20 61 72 72 61 79 65 78 70 72 2d 3e 65 6c 65 6d 65 6e 74 73 29 00 09 09 09 09 09 | elem,.arrayexpr->elements)...... |
6da0 | 63 6f 6d 6d 6f 6e 74 79 70 65 20 3d 20 61 72 72 61 79 65 78 70 72 2d 3e 65 6c 65 6d 65 6e 74 5f | commontype.=.arrayexpr->element_ |
6dc0 | 74 79 70 65 69 64 3b 00 09 09 09 09 65 6c 73 65 00 09 09 09 09 09 63 6f 6d 6d 6f 6e 74 79 70 65 | typeid;.....else......commontype |
6de0 | 20 3d 20 61 72 72 61 79 65 78 70 72 2d 3e 61 72 72 61 79 5f 74 79 70 65 69 64 3b 00 09 09 09 09 | .=.arrayexpr->array_typeid;..... |
6e00 | 69 66 20 28 61 72 72 61 79 65 78 70 72 2d 3e 6d 75 6c 74 69 64 69 6d 73 29 00 09 09 09 09 09 72 | if.(arrayexpr->multidims)......r |
6e20 | 65 74 75 72 6e 20 2d 31 3b 09 2f 2a 20 6e 6f 20 70 6f 69 6e 74 20 69 6e 20 74 72 79 69 6e 67 20 | eturn.-1;./*.no.point.in.trying. |
6e40 | 68 61 72 64 65 72 20 2a 2f 00 09 09 09 09 69 66 20 28 74 79 70 6d 6f 64 20 3c 20 30 29 00 09 09 | harder.*/.....if.(typmod.<.0)... |
6e60 | 09 09 74 79 70 6d 6f 64 20 3d 20 65 78 70 72 54 79 70 6d 6f 64 28 28 4e 6f 64 65 20 2a 29 20 6c | ..typmod.=.exprTypmod((Node.*).l |
6e80 | 69 6e 69 74 69 61 6c 28 61 72 72 61 79 65 78 70 72 2d 3e 65 6c 65 6d 65 6e 74 73 29 29 3b 00 09 | initial(arrayexpr->elements));.. |
6ea0 | 09 09 09 09 72 65 74 75 72 6e 20 2d 31 3b 00 09 09 09 09 69 66 20 28 61 72 72 61 79 65 78 70 72 | ....return.-1;.....if.(arrayexpr |
6ec0 | 2d 3e 65 6c 65 6d 65 6e 74 73 20 3d 3d 20 4e 49 4c 29 00 00 09 09 09 09 4c 69 73 74 43 65 6c 6c | ->elements.==.NIL)......ListCell |
6ee0 | 20 20 20 2a 65 6c 65 6d 3b 00 09 09 09 09 69 6e 74 33 32 09 09 74 79 70 6d 6f 64 3b 00 09 09 09 | ...*elem;.....int32..typmod;.... |
6f00 | 09 4f 69 64 09 09 09 63 6f 6d 6d 6f 6e 74 79 70 65 3b 00 09 09 09 09 63 6f 6e 73 74 20 41 72 72 | .Oid...commontype;.....const.Arr |
6f20 | 61 79 45 78 70 72 20 2a 61 72 72 61 79 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 41 72 72 61 79 | ayExpr.*arrayexpr.=.(const.Array |
6f40 | 45 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 09 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 74 79 70 | Expr.*).expr;......*/......*.typ |
6f60 | 6d 6f 64 2c 20 65 6c 73 65 20 75 73 65 20 2d 31 00 09 09 09 09 20 2a 20 49 66 20 61 6c 6c 20 74 | mod,.else.use.-1......*.If.all.t |
6f80 | 68 65 20 65 6c 65 6d 65 6e 74 73 20 61 67 72 65 65 20 6f 6e 20 74 79 70 65 2f 74 79 70 6d 6f 64 | he.elements.agree.on.type/typmod |
6fa0 | 2c 20 72 65 74 75 72 6e 20 74 68 61 74 00 09 09 09 09 2f 2a 00 09 09 09 7b 00 09 09 63 61 73 65 | ,.return.that...../*....{...case |
6fc0 | 20 54 5f 41 72 72 61 79 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 28 28 63 6f 6e 73 74 20 | .T_ArrayExpr:....return.((const. |
6fe0 | 43 61 73 65 54 65 73 74 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 74 79 70 65 4d 6f 64 3b 00 | CaseTestExpr.*).expr)->typeMod;. |
7000 | 61 64 00 00 0d 00 00 00 3d 02 00 00 00 10 00 00 85 00 00 00 00 00 00 00 c8 0f 00 00 c2 0f 00 00 | ad......=....................... |
7020 | 90 0f 00 00 63 0f 00 00 52 0f 00 00 51 0f 00 00 4c 0f 00 00 08 0f 00 00 c0 0e 00 00 7d 0e 00 00 | ....c...R...Q...L...........}... |
7040 | 77 0e 00 00 54 0e 00 00 36 0e 00 00 25 0e 00 00 24 0e 00 00 f6 0d 00 00 d5 0d 00 00 ae 0d 00 00 | w...T...6...%...$............... |
7060 | 92 0d 00 00 81 0d 00 00 80 0d 00 00 7b 0d 00 00 49 0d 00 00 43 0d 00 00 26 0d 00 00 eb 0c 00 00 | ............{...I...C...&....... |
7080 | ea 0c 00 00 db 0c 00 00 d8 0c 00 00 d7 0c 00 00 ae 0c 00 00 ab 0c 00 00 68 0c 00 00 67 0c 00 00 | ........................h...g... |
70a0 | 21 0c 00 00 00 0c 00 00 ef 0b 00 00 ee 0b 00 00 e9 0b 00 00 b5 0b 00 00 af 0b 00 00 92 0b 00 00 | !............................... |
70c0 | 67 0b 00 00 66 0b 00 00 57 0b 00 00 54 0b 00 00 53 0b 00 00 44 0b 00 00 42 0b 00 00 41 0b 00 00 | g...f...W...T...S...D...B...A... |
70e0 | 3e 0b 00 00 29 0b 00 00 de 0a 00 00 db 0a 00 00 92 0a 00 00 45 0a 00 00 18 0a 00 00 14 0a 00 00 | >...)...............E........... |
7100 | 0d 0a 00 00 e1 09 00 00 df 09 00 00 c1 09 00 00 9e 09 00 00 9d 09 00 00 6f 09 00 00 47 09 00 00 | ........................o...G... |
7120 | 18 09 00 00 17 09 00 00 cb 08 00 00 87 08 00 00 67 08 00 00 65 08 00 00 64 08 00 00 61 08 00 00 | ................g...e...d...a... |
7140 | 15 08 00 00 12 08 00 00 ca 07 00 00 a0 07 00 00 9d 07 00 00 55 07 00 00 0b 07 00 00 07 07 00 00 | ....................U........... |
7160 | 00 07 00 00 db 06 00 00 d9 06 00 00 c6 06 00 00 b7 06 00 00 9d 06 00 00 9a 06 00 00 75 06 00 00 | ............................u... |
7180 | 74 06 00 00 47 06 00 00 10 06 00 00 0d 06 00 00 eb 05 00 00 e8 05 00 00 bf 05 00 00 be 05 00 00 | t...G........................... |
71a0 | 8e 05 00 00 59 05 00 00 56 05 00 00 34 05 00 00 31 05 00 00 08 05 00 00 07 05 00 00 d8 04 00 00 | ....Y...V...4...1............... |
71c0 | a3 04 00 00 a0 04 00 00 7a 04 00 00 77 04 00 00 46 04 00 00 45 04 00 00 16 04 00 00 e1 03 00 00 | ........z...w...F...E........... |
71e0 | de 03 00 00 b5 03 00 00 b2 03 00 00 7b 03 00 00 7a 03 00 00 4a 03 00 00 15 03 00 00 12 03 00 00 | ............{...z...J........... |
7200 | ed 02 00 00 ea 02 00 00 bb 02 00 00 ba 02 00 00 89 02 00 00 54 02 00 00 51 02 00 00 43 02 00 00 | ....................T...Q...C... |
7220 | 41 02 00 00 40 02 00 00 3d 02 00 00 3c 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2f 2a 00 | A...@...=...<................/*. |
7240 | 00 7d 00 09 72 65 74 75 72 6e 20 6e 6f 64 65 3b 00 09 7d 00 09 09 09 72 65 74 75 72 6e 20 73 74 | .}..return.node;..}....return.st |
7260 | 72 69 70 5f 69 6d 70 6c 69 63 69 74 5f 63 6f 65 72 63 69 6f 6e 73 28 28 4e 6f 64 65 20 2a 29 20 | rip_implicit_coercions((Node.*). |
7280 | 63 2d 3e 61 72 67 29 3b 00 09 09 69 66 20 28 63 2d 3e 63 6f 65 72 63 69 6f 6e 66 6f 72 6d 61 74 | c->arg);...if.(c->coercionformat |
72a0 | 20 3d 3d 20 43 4f 45 52 43 45 5f 49 4d 50 4c 49 43 49 54 5f 43 41 53 54 29 00 00 09 09 43 6f 65 | .==.COERCE_IMPLICIT_CAST)....Coe |
72c0 | 72 63 65 54 6f 44 6f 6d 61 69 6e 20 2a 63 20 3d 20 28 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e | rceToDomain.*c.=.(CoerceToDomain |
72e0 | 20 2a 29 20 6e 6f 64 65 3b 00 09 7b 00 09 65 6c 73 65 20 69 66 20 28 49 73 41 28 6e 6f 64 65 2c | .*).node;..{..else.if.(IsA(node, |
7300 | 20 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 29 29 00 09 7d 00 09 09 09 72 65 74 75 72 6e 20 73 | .CoerceToDomain))..}....return.s |
7320 | 74 72 69 70 5f 69 6d 70 6c 69 63 69 74 5f 63 6f 65 72 63 69 6f 6e 73 28 28 4e 6f 64 65 20 2a 29 | trip_implicit_coercions((Node.*) |
7340 | 20 63 2d 3e 61 72 67 29 3b 00 09 09 69 66 20 28 63 2d 3e 63 6f 6e 76 65 72 74 66 6f 72 6d 61 74 | .c->arg);...if.(c->convertformat |
7360 | 20 3d 3d 20 43 4f 45 52 43 45 5f 49 4d 50 4c 49 43 49 54 5f 43 41 53 54 29 00 00 09 09 43 6f 6e | .==.COERCE_IMPLICIT_CAST)....Con |
7380 | 76 65 72 74 52 6f 77 74 79 70 65 45 78 70 72 20 2a 63 20 3d 20 28 43 6f 6e 76 65 72 74 52 6f 77 | vertRowtypeExpr.*c.=.(ConvertRow |
73a0 | 74 79 70 65 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 7b 00 09 65 6c 73 65 20 69 66 20 28 49 | typeExpr.*).node;..{..else.if.(I |
73c0 | 73 41 28 6e 6f 64 65 2c 20 43 6f 6e 76 65 72 74 52 6f 77 74 79 70 65 45 78 70 72 29 29 00 09 7d | sA(node,.ConvertRowtypeExpr))..} |
73e0 | 00 09 09 09 72 65 74 75 72 6e 20 73 74 72 69 70 5f 69 6d 70 6c 69 63 69 74 5f 63 6f 65 72 63 69 | ....return.strip_implicit_coerci |
7400 | 6f 6e 73 28 28 4e 6f 64 65 20 2a 29 20 63 2d 3e 61 72 67 29 3b 00 09 09 69 66 20 28 63 2d 3e 63 | ons((Node.*).c->arg);...if.(c->c |
7420 | 6f 65 72 63 65 66 6f 72 6d 61 74 20 3d 3d 20 43 4f 45 52 43 45 5f 49 4d 50 4c 49 43 49 54 5f 43 | oerceformat.==.COERCE_IMPLICIT_C |
7440 | 41 53 54 29 00 00 09 09 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 20 2a 63 20 3d 20 28 41 72 | AST)....ArrayCoerceExpr.*c.=.(Ar |
7460 | 72 61 79 43 6f 65 72 63 65 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 7b 00 09 65 6c 73 65 20 | rayCoerceExpr.*).node;..{..else. |
7480 | 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 29 29 00 | if.(IsA(node,.ArrayCoerceExpr)). |
74a0 | 09 7d 00 09 09 09 72 65 74 75 72 6e 20 73 74 72 69 70 5f 69 6d 70 6c 69 63 69 74 5f 63 6f 65 72 | .}....return.strip_implicit_coer |
74c0 | 63 69 6f 6e 73 28 28 4e 6f 64 65 20 2a 29 20 63 2d 3e 61 72 67 29 3b 00 09 09 69 66 20 28 63 2d | cions((Node.*).c->arg);...if.(c- |
74e0 | 3e 63 6f 65 72 63 65 66 6f 72 6d 61 74 20 3d 3d 20 43 4f 45 52 43 45 5f 49 4d 50 4c 49 43 49 54 | >coerceformat.==.COERCE_IMPLICIT |
7500 | 5f 43 41 53 54 29 00 00 09 09 43 6f 65 72 63 65 56 69 61 49 4f 20 2a 63 20 3d 20 28 43 6f 65 72 | _CAST)....CoerceViaIO.*c.=.(Coer |
7520 | 63 65 56 69 61 49 4f 20 2a 29 20 6e 6f 64 65 3b 00 09 7b 00 09 65 6c 73 65 20 69 66 20 28 49 73 | ceViaIO.*).node;..{..else.if.(Is |
7540 | 41 28 6e 6f 64 65 2c 20 43 6f 65 72 63 65 56 69 61 49 4f 29 29 00 09 7d 00 09 09 09 72 65 74 75 | A(node,.CoerceViaIO))..}....retu |
7560 | 72 6e 20 73 74 72 69 70 5f 69 6d 70 6c 69 63 69 74 5f 63 6f 65 72 63 69 6f 6e 73 28 28 4e 6f 64 | rn.strip_implicit_coercions((Nod |
7580 | 65 20 2a 29 20 72 2d 3e 61 72 67 29 3b 00 09 09 69 66 20 28 72 2d 3e 72 65 6c 61 62 65 6c 66 6f | e.*).r->arg);...if.(r->relabelfo |
75a0 | 72 6d 61 74 20 3d 3d 20 43 4f 45 52 43 45 5f 49 4d 50 4c 49 43 49 54 5f 43 41 53 54 29 00 00 09 | rmat.==.COERCE_IMPLICIT_CAST)... |
75c0 | 09 52 65 6c 61 62 65 6c 54 79 70 65 20 2a 72 20 3d 20 28 52 65 6c 61 62 65 6c 54 79 70 65 20 2a | .RelabelType.*r.=.(RelabelType.* |
75e0 | 29 20 6e 6f 64 65 3b 00 09 7b 00 09 65 6c 73 65 20 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 52 | ).node;..{..else.if.(IsA(node,.R |
7600 | 65 6c 61 62 65 6c 54 79 70 65 29 29 00 09 7d 00 09 09 09 72 65 74 75 72 6e 20 73 74 72 69 70 5f | elabelType))..}....return.strip_ |
7620 | 69 6d 70 6c 69 63 69 74 5f 63 6f 65 72 63 69 6f 6e 73 28 6c 69 6e 69 74 69 61 6c 28 66 2d 3e 61 | implicit_coercions(linitial(f->a |
7640 | 72 67 73 29 29 3b 00 09 09 69 66 20 28 66 2d 3e 66 75 6e 63 66 6f 72 6d 61 74 20 3d 3d 20 43 4f | rgs));...if.(f->funcformat.==.CO |
7660 | 45 52 43 45 5f 49 4d 50 4c 49 43 49 54 5f 43 41 53 54 29 00 00 09 09 46 75 6e 63 45 78 70 72 20 | ERCE_IMPLICIT_CAST)....FuncExpr. |
7680 | 20 20 2a 66 20 3d 20 28 46 75 6e 63 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 7b 00 09 69 66 | ..*f.=.(FuncExpr.*).node;..{..if |
76a0 | 20 28 49 73 41 28 6e 6f 64 65 2c 20 46 75 6e 63 45 78 70 72 29 29 00 09 09 72 65 74 75 72 6e 20 | .(IsA(node,.FuncExpr))...return. |
76c0 | 4e 55 4c 4c 3b 00 09 69 66 20 28 6e 6f 64 65 20 3d 3d 20 4e 55 4c 4c 29 00 7b 00 73 74 72 69 70 | NULL;..if.(node.==.NULL).{.strip |
76e0 | 5f 69 6d 70 6c 69 63 69 74 5f 63 6f 65 72 63 69 6f 6e 73 28 4e 6f 64 65 20 2a 6e 6f 64 65 29 00 | _implicit_coercions(Node.*node). |
7700 | 4e 6f 64 65 20 2a 00 20 2a 2f 00 20 2a 20 6a 75 73 74 20 72 65 74 75 72 6e 20 69 74 20 75 6e 63 | Node.*..*/..*.just.return.it.unc |
7720 | 68 61 6e 67 65 64 2c 20 65 76 65 6e 20 69 66 20 69 74 27 73 20 6d 61 72 6b 65 64 20 61 73 20 61 | hanged,.even.if.it's.marked.as.a |
7740 | 6e 20 69 6d 70 6c 69 63 69 74 20 63 6f 65 72 63 69 6f 6e 2e 00 20 2a 20 4e 6f 74 65 3a 20 74 68 | n.implicit.coercion...*.Note:.th |
7760 | 65 72 65 20 69 73 6e 27 74 20 61 6e 79 20 75 73 65 66 75 6c 20 74 68 69 6e 67 20 77 65 20 63 61 | ere.isn't.any.useful.thing.we.ca |
7780 | 6e 20 64 6f 20 77 69 74 68 20 61 20 52 6f 77 45 78 70 72 20 68 65 72 65 2c 20 73 6f 00 20 2a 00 | n.do.with.a.RowExpr.here,.so..*. |
77a0 | 20 2a 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 75 69 74 61 62 6c 65 20 70 6c 61 63 65 20 77 | .*.pointer.to.a.suitable.place.w |
77c0 | 69 74 68 69 6e 20 69 74 2e 00 20 2a 20 54 68 69 73 20 64 6f 65 73 6e 27 74 20 6d 6f 64 69 66 79 | ithin.it...*.This.doesn't.modify |
77e0 | 20 6f 72 20 63 6f 70 79 20 74 68 65 20 69 6e 70 75 74 20 65 78 70 72 65 73 73 69 6f 6e 20 74 72 | .or.copy.the.input.expression.tr |
7800 | 65 65 2c 20 6a 75 73 74 20 72 65 74 75 72 6e 20 61 00 20 2a 00 20 2a 20 73 74 72 69 70 5f 69 6d | ee,.just.return.a..*..*.strip_im |
7820 | 70 6c 69 63 69 74 5f 63 6f 65 72 63 69 6f 6e 73 3a 20 72 65 6d 6f 76 65 20 69 6d 70 6c 69 63 69 | plicit_coercions:.remove.implici |
7840 | 74 20 63 6f 65 72 63 69 6f 6e 73 20 61 74 20 74 6f 70 20 6c 65 76 65 6c 20 6f 66 20 74 72 65 65 | t.coercions.at.top.level.of.tree |
7860 | 00 2f 2a 00 00 7d 00 09 09 09 09 09 09 09 09 09 43 4f 45 52 43 45 5f 45 58 50 4c 49 43 49 54 5f | ./*..}..........COERCE_EXPLICIT_ |
7880 | 43 41 53 54 29 3b 00 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6d 61 6b 65 52 65 6c 61 | CAST);..return.(Node.*).makeRela |
78a0 | 62 65 6c 54 79 70 65 28 28 45 78 70 72 20 2a 29 20 65 78 70 72 2c 20 74 79 70 65 2c 20 74 79 70 | belType((Expr.*).expr,.type,.typ |
78c0 | 6d 6f 64 2c 20 63 6f 6c 6c 2c 00 09 2f 2a 20 41 70 70 6c 79 20 6e 65 77 20 74 79 70 6d 6f 64 2c | mod,.coll,../*.Apply.new.typmod, |
78e0 | 20 70 72 65 73 65 72 76 69 6e 67 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 70 6f 73 65 64 | .preserving.the.previous.exposed |
7900 | 20 74 79 70 65 20 61 6e 64 20 63 6f 6c 6c 61 74 69 6f 6e 20 2a 2f 00 00 09 09 65 78 70 72 20 3d | .type.and.collation.*/....expr.= |
7920 | 20 28 4e 6f 64 65 20 2a 29 20 28 28 52 65 6c 61 62 65 6c 54 79 70 65 20 2a 29 20 65 78 70 72 29 | .(Node.*).((RelabelType.*).expr) |
7940 | 2d 3e 61 72 67 3b 00 09 77 68 69 6c 65 20 28 65 78 70 72 20 26 26 20 49 73 41 28 65 78 70 72 2c | ->arg;..while.(expr.&&.IsA(expr, |
7960 | 20 52 65 6c 61 62 65 6c 54 79 70 65 29 29 00 09 2f 2a 20 53 74 72 69 70 20 61 6e 79 20 65 78 69 | .RelabelType))../*.Strip.any.exi |
7980 | 73 74 69 6e 67 20 52 65 6c 61 62 65 6c 54 79 70 65 20 6e 6f 64 65 28 73 29 20 2a 2f 00 00 09 4f | sting.RelabelType.node(s).*/...O |
79a0 | 69 64 09 09 09 63 6f 6c 6c 20 3d 20 65 78 70 72 43 6f 6c 6c 61 74 69 6f 6e 28 65 78 70 72 29 3b | id...coll.=.exprCollation(expr); |
79c0 | 00 09 4f 69 64 09 09 09 74 79 70 65 20 3d 20 65 78 70 72 54 79 70 65 28 65 78 70 72 29 3b 00 7b | ..Oid...type.=.exprType(expr);.{ |
79e0 | 00 72 65 6c 61 62 65 6c 5f 74 6f 5f 74 79 70 6d 6f 64 28 4e 6f 64 65 20 2a 65 78 70 72 2c 20 69 | .relabel_to_typmod(Node.*expr,.i |
7a00 | 6e 74 33 32 20 74 79 70 6d 6f 64 29 00 4e 6f 64 65 20 2a 00 20 2a 2f 00 20 2a 20 74 68 61 74 20 | nt32.typmod).Node.*..*/..*.that. |
7a20 | 74 68 65 72 65 20 61 72 65 20 6e 6f 74 20 61 64 6a 61 63 65 6e 74 20 52 65 6c 61 62 65 6c 54 79 | there.are.not.adjacent.RelabelTy |
7a40 | 70 65 73 2e 00 20 2a 20 73 74 72 69 70 73 20 61 6e 79 20 65 78 69 73 74 69 6e 67 20 52 65 6c 61 | pes...*.strips.any.existing.Rela |
7a60 | 62 65 6c 54 79 70 65 20 6e 6f 64 65 73 20 74 6f 20 6d 61 69 6e 74 61 69 6e 20 74 68 65 20 70 6c | belType.nodes.to.maintain.the.pl |
7a80 | 61 6e 6e 65 72 27 73 20 69 6e 76 61 72 69 61 6e 74 00 20 2a 20 54 68 69 73 20 69 73 20 70 72 69 | anner's.invariant..*.This.is.pri |
7aa0 | 6d 61 72 69 6c 79 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 75 73 65 64 20 64 75 72 69 6e | marily.intended.to.be.used.durin |
7ac0 | 67 20 70 6c 61 6e 6e 69 6e 67 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 69 74 00 20 2a 00 20 2a | g.planning...Therefore,.it..*..* |
7ae0 | 09 09 41 64 64 20 61 20 52 65 6c 61 62 65 6c 54 79 70 65 20 6e 6f 64 65 20 74 68 61 74 20 63 68 | ..Add.a.RelabelType.node.that.ch |
7b00 | 61 6e 67 65 73 20 6a 75 73 74 20 74 68 65 20 74 79 70 6d 6f 64 20 6f 66 20 74 68 65 20 65 78 70 | anges.just.the.typmod.of.the.exp |
7b20 | 72 65 73 73 69 6f 6e 2e 00 20 2a 20 72 65 6c 61 62 65 6c 5f 74 6f 5f 74 79 70 6d 6f 64 00 2f 2a | ression...*.relabel_to_typmod./* |
7b40 | 00 00 7d 00 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 00 09 7d 00 09 09 72 65 74 75 72 6e 20 | ..}..return.false;...}...return. |
7b60 | 74 72 75 65 3b 00 00 09 09 09 2a 63 6f 65 72 63 65 64 54 79 70 6d 6f 64 20 3d 20 61 63 6f 65 72 | true;.....*coercedTypmod.=.acoer |
7b80 | 63 65 2d 3e 72 65 73 75 6c 74 74 79 70 6d 6f 64 3b 00 09 09 69 66 20 28 63 6f 65 72 63 65 64 54 | ce->resulttypmod;...if.(coercedT |
7ba0 | 79 70 6d 6f 64 20 21 3d 20 4e 55 4c 4c 29 00 09 09 20 2a 2f 00 09 09 20 2a 20 4f 4b 2c 20 69 74 | ypmod.!=.NULL)....*/....*.OK,.it |
7bc0 | 20 69 73 20 69 6e 64 65 65 64 20 61 20 6c 65 6e 67 74 68 2d 63 6f 65 72 63 69 6f 6e 20 65 78 70 | .is.indeed.a.length-coercion.exp |
7be0 | 72 65 73 73 69 6f 6e 2e 00 09 09 2f 2a 00 00 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 | ression..../*.....return.false;. |
7c00 | 09 09 69 66 20 28 61 63 6f 65 72 63 65 2d 3e 72 65 73 75 6c 74 74 79 70 6d 6f 64 20 3c 20 30 29 | ..if.(acoerce->resulttypmod.<.0) |
7c20 | 00 09 09 2f 2a 20 49 74 27 73 20 6e 6f 74 20 61 20 6c 65 6e 67 74 68 20 63 6f 65 72 63 69 6f 6e | .../*.It's.not.a.length.coercion |
7c40 | 20 75 6e 6c 65 73 73 20 74 68 65 72 65 27 73 20 61 20 6e 6f 6e 64 65 66 61 75 6c 74 20 74 79 70 | .unless.there's.a.nondefault.typ |
7c60 | 6d 6f 64 20 2a 2f 00 00 09 09 63 6f 6e 73 74 20 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 20 | mod.*/....const.ArrayCoerceExpr. |
7c80 | 2a 61 63 6f 65 72 63 65 20 3d 20 28 63 6f 6e 73 74 20 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 | *acoerce.=.(const.ArrayCoerceExp |
7ca0 | 72 20 2a 29 20 65 78 70 72 3b 00 09 7b 00 09 69 66 20 28 65 78 70 72 20 26 26 20 49 73 41 28 65 | r.*).expr;..{..if.(expr.&&.IsA(e |
7cc0 | 78 70 72 2c 20 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 29 29 00 00 09 7d 00 09 09 72 65 74 | xpr,.ArrayCoerceExpr))...}...ret |
7ce0 | 75 72 6e 20 74 72 75 65 3b 00 00 09 09 09 2a 63 6f 65 72 63 65 64 54 79 70 6d 6f 64 20 3d 20 44 | urn.true;.....*coercedTypmod.=.D |
7d00 | 61 74 75 6d 47 65 74 49 6e 74 33 32 28 73 65 63 6f 6e 64 5f 61 72 67 2d 3e 63 6f 6e 73 74 76 61 | atumGetInt32(second_arg->constva |
7d20 | 6c 75 65 29 3b 00 09 09 69 66 20 28 63 6f 65 72 63 65 64 54 79 70 6d 6f 64 20 21 3d 20 4e 55 4c | lue);...if.(coercedTypmod.!=.NUL |
7d40 | 4c 29 00 09 09 20 2a 2f 00 09 09 20 2a 20 4f 4b 2c 20 69 74 20 69 73 20 69 6e 64 65 65 64 20 61 | L)....*/....*.OK,.it.is.indeed.a |
7d60 | 20 6c 65 6e 67 74 68 2d 63 6f 65 72 63 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 2e 00 09 09 2f 2a 00 | .length-coercion.function..../*. |
7d80 | 00 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 09 09 73 65 63 6f 6e 64 5f 61 72 67 2d | ....return.false;....second_arg- |
7da0 | 3e 63 6f 6e 73 74 69 73 6e 75 6c 6c 29 00 09 09 09 73 65 63 6f 6e 64 5f 61 72 67 2d 3e 63 6f 6e | >constisnull)....second_arg->con |
7dc0 | 73 74 74 79 70 65 20 21 3d 20 49 4e 54 34 4f 49 44 20 7c 7c 00 09 09 69 66 20 28 21 49 73 41 28 | sttype.!=.INT4OID.||...if.(!IsA( |
7de0 | 73 65 63 6f 6e 64 5f 61 72 67 2c 20 43 6f 6e 73 74 29 20 7c 7c 00 09 09 73 65 63 6f 6e 64 5f 61 | second_arg,.Const).||...second_a |
7e00 | 72 67 20 3d 20 28 43 6f 6e 73 74 20 2a 29 20 6c 73 65 63 6f 6e 64 28 66 75 6e 63 2d 3e 61 72 67 | rg.=.(Const.*).lsecond(func->arg |
7e20 | 73 29 3b 00 00 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 09 69 66 20 28 6e 61 72 67 | s);.....return.false;...if.(narg |
7e40 | 73 20 3c 20 32 20 7c 7c 20 6e 61 72 67 73 20 3e 20 33 29 00 09 09 6e 61 72 67 73 20 3d 20 6c 69 | s.<.2.||.nargs.>.3)...nargs.=.li |
7e60 | 73 74 5f 6c 65 6e 67 74 68 28 66 75 6e 63 2d 3e 61 72 67 73 29 3b 00 09 09 20 2a 2f 00 09 09 20 | st_length(func->args);....*/.... |
7e80 | 2a 20 66 72 6f 6d 20 61 20 6c 65 6e 67 74 68 20 63 6f 65 72 63 69 6f 6e 20 28 69 74 20 6d 75 73 | *.from.a.length.coercion.(it.mus |
7ea0 | 74 20 62 65 20 61 20 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 2c 20 69 6e 73 74 65 61 64 29 2e 00 | t.be.a.type.coercion,.instead).. |
7ec0 | 09 09 20 2a 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 62 65 69 6e 67 20 61 6e 20 69 6e | ...*.second.argument.being.an.in |
7ee0 | 74 34 20 63 6f 6e 73 74 61 6e 74 2c 20 69 74 20 63 61 6e 27 74 20 68 61 76 65 20 62 65 65 6e 20 | t4.constant,.it.can't.have.been. |
7f00 | 63 72 65 61 74 65 64 00 09 09 20 2a 20 49 66 20 69 74 27 73 20 6e 6f 74 20 61 20 74 77 6f 2d 61 | created....*.If.it's.not.a.two-a |
7f20 | 72 67 75 6d 65 6e 74 20 6f 72 20 74 68 72 65 65 2d 61 72 67 75 6d 65 6e 74 20 66 75 6e 63 74 69 | rgument.or.three-argument.functi |
7f40 | 6f 6e 20 77 69 74 68 20 74 68 65 00 09 09 2f 2a 00 00 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 | on.with.the.../*.....return.fals |
7f60 | 65 3b 00 09 09 09 66 75 6e 63 2d 3e 66 75 6e 63 66 6f 72 6d 61 74 20 21 3d 20 43 4f 45 52 43 45 | e;....func->funcformat.!=.COERCE |
7f80 | 5f 49 4d 50 4c 49 43 49 54 5f 43 41 53 54 29 00 09 09 69 66 20 28 66 75 6e 63 2d 3e 66 75 6e 63 | _IMPLICIT_CAST)...if.(func->func |
7fa0 | 66 6f 72 6d 61 74 20 21 3d 20 43 4f 45 52 43 45 5f 45 58 50 4c 49 43 49 54 5f 43 41 53 54 20 26 | format.!=.COERCE_EXPLICIT_CAST.& |
7fc0 | 26 00 09 09 20 2a 2f 00 09 09 20 2a 20 49 66 20 69 74 20 64 69 64 6e 27 74 20 63 6f 6d 65 20 66 | &....*/....*.If.it.didn't.come.f |
7fe0 | 72 6f 6d 20 61 20 63 6f 65 72 63 69 6f 6e 20 63 6f 6e 74 65 78 74 2c 20 72 65 6a 65 63 74 2e 00 | rom.a.coercion.context,.reject.. |
8000 | 61 64 00 00 2d 00 00 00 81 02 00 00 00 10 00 00 8e 00 00 00 00 00 00 00 e6 0f 00 00 b0 0f 00 00 | ad..-........................... |
8020 | ad 0f 00 00 65 0f 00 00 1e 0f 00 00 0c 0f 00 00 08 0f 00 00 03 0f 00 00 de 0e 00 00 dc 0e 00 00 | ....e........................... |
8040 | a7 0e 00 00 a5 0e 00 00 a4 0e 00 00 98 0e 00 00 5f 0e 00 00 5d 0e 00 00 4a 0e 00 00 3a 0e 00 00 | ................_...]...J...:... |
8060 | 20 0e 00 00 1d 0e 00 00 f5 0d 00 00 f4 0d 00 00 dc 0d 00 00 cc 0d 00 00 a4 0d 00 00 a1 0d 00 00 | ................................ |
8080 | 89 0d 00 00 86 0d 00 00 61 0d 00 00 60 0d 00 00 4a 0d 00 00 3a 0d 00 00 12 0d 00 00 0f 0d 00 00 | ........a...`...J...:........... |
80a0 | 0e 0d 00 00 d0 0c 00 00 b8 0c 00 00 a8 0c 00 00 8c 0c 00 00 7c 0c 00 00 5e 0c 00 00 4e 0c 00 00 | ....................|...^...N... |
80c0 | 32 0c 00 00 22 0c 00 00 ff 0b 00 00 ef 0b 00 00 d5 0b 00 00 c5 0b 00 00 ac 0b 00 00 9c 0b 00 00 | 2..."........................... |
80e0 | 83 0b 00 00 73 0b 00 00 4f 0b 00 00 3f 0b 00 00 24 0b 00 00 14 0b 00 00 fb 0a 00 00 eb 0a 00 00 | ....s...O...?...$............... |
8100 | cb 0a 00 00 bb 0a 00 00 9d 0a 00 00 8d 0a 00 00 71 0a 00 00 61 0a 00 00 48 0a 00 00 38 0a 00 00 | ................q...a...H...8... |
8120 | 37 0a 00 00 f3 09 00 00 df 09 00 00 dd 09 00 00 dc 09 00 00 db 09 00 00 d8 09 00 00 c5 09 00 00 | 7............................... |
8140 | 83 09 00 00 80 09 00 00 3a 09 00 00 ee 08 00 00 a2 08 00 00 58 08 00 00 0f 08 00 00 e6 07 00 00 | ........:...........X........... |
8160 | e2 07 00 00 de 07 00 00 be 07 00 00 bc 07 00 00 af 07 00 00 ae 07 00 00 a2 07 00 00 8d 07 00 00 | ................................ |
8180 | 8c 07 00 00 74 07 00 00 71 07 00 00 63 07 00 00 38 07 00 00 2e 07 00 00 1e 07 00 00 ef 06 00 00 | ....t...q...c...8............... |
81a0 | e5 06 00 00 d5 06 00 00 a6 06 00 00 9c 06 00 00 8b 06 00 00 5d 06 00 00 53 06 00 00 3c 06 00 00 | ....................]...S...<... |
81c0 | 26 06 00 00 1c 06 00 00 07 06 00 00 d5 05 00 00 cb 05 00 00 b8 05 00 00 88 05 00 00 7e 05 00 00 | &...........................~... |
81e0 | 6b 05 00 00 3a 05 00 00 30 05 00 00 19 05 00 00 d3 04 00 00 c9 04 00 00 b8 04 00 00 8b 04 00 00 | k...:...0....................... |
8200 | 81 04 00 00 6a 04 00 00 37 04 00 00 2d 04 00 00 18 04 00 00 e7 03 00 00 dd 03 00 00 c1 03 00 00 | ....j...7...-................... |
8220 | 8c 03 00 00 82 03 00 00 6f 03 00 00 3a 03 00 00 30 03 00 00 1e 03 00 00 19 03 00 00 e4 02 00 00 | ........o...:...0............... |
8240 | e3 02 00 00 b3 02 00 00 87 02 00 00 81 02 00 00 80 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8280 | 00 09 09 09 09 7b 00 09 09 09 09 09 73 75 62 6c 69 6e 6b 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 | .....{......sublink->subLinkType |
82a0 | 20 3d 3d 20 41 52 52 41 59 5f 53 55 42 4c 49 4e 4b 29 00 09 09 09 09 69 66 20 28 73 75 62 6c 69 | .==.ARRAY_SUBLINK).....if.(subli |
82c0 | 6e 6b 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d 20 45 58 50 52 5f 53 55 42 4c 49 4e 4b 20 | nk->subLinkType.==.EXPR_SUBLINK. |
82e0 | 7c 7c 00 00 09 09 09 09 63 6f 6e 73 74 20 53 75 62 4c 69 6e 6b 20 2a 73 75 62 6c 69 6e 6b 20 3d | ||......const.SubLink.*sublink.= |
8300 | 20 28 63 6f 6e 73 74 20 53 75 62 4c 69 6e 6b 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 | .(const.SubLink.*).expr;....{... |
8320 | 63 61 73 65 20 54 5f 53 75 62 4c 69 6e 6b 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c | case.T_SubLink:....break;....col |
8340 | 6c 20 3d 20 49 6e 76 61 6c 69 64 4f 69 64 3b 09 2f 2a 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 | l.=.InvalidOid;./*.result.is.alw |
8360 | 61 79 73 20 62 6f 6f 6c 65 61 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 42 6f 6f 6c 45 78 70 72 | ays.boolean.*/...case.T_BoolExpr |
8380 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 49 6e 76 61 6c 69 64 4f 69 64 | :....break;....coll.=.InvalidOid |
83a0 | 3b 09 2f 2a 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f 6f 6c 65 61 6e 20 2a 2f | ;./*.result.is.always.boolean.*/ |
83c0 | 00 09 09 63 61 73 65 20 54 5f 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 3a 00 09 09 09 | ...case.T_ScalarArrayOpExpr:.... |
83e0 | 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 4e 75 6c 6c 49 66 45 | break;....coll.=.((const.NullIfE |
8400 | 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6f 70 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 | xpr.*).expr)->opcollid;...case.T |
8420 | 5f 4e 75 6c 6c 49 66 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d | _NullIfExpr:....break;....coll.= |
8440 | 20 28 28 63 6f 6e 73 74 20 44 69 73 74 69 6e 63 74 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e | .((const.DistinctExpr.*).expr)-> |
8460 | 6f 70 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 44 69 73 74 69 6e 63 74 45 78 70 72 3a | opcollid;...case.T_DistinctExpr: |
8480 | 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 4f 70 45 | ....break;....coll.=.((const.OpE |
84a0 | 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6f 70 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 | xpr.*).expr)->opcollid;...case.T |
84c0 | 5f 4f 70 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 65 78 70 | _OpExpr:....break;....coll.=.exp |
84e0 | 72 43 6f 6c 6c 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 4e 61 6d 65 | rCollation((Node.*).((const.Name |
8500 | 64 41 72 67 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 67 29 3b 00 09 09 63 61 73 65 20 | dArgExpr.*).expr)->arg);...case. |
8520 | 54 5f 4e 61 6d 65 64 41 72 67 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c | T_NamedArgExpr:....break;....col |
8540 | 6c 20 3d 20 28 28 63 6f 6e 73 74 20 46 75 6e 63 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 66 | l.=.((const.FuncExpr.*).expr)->f |
8560 | 75 6e 63 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 46 75 6e 63 45 78 70 72 3a 00 09 09 | unccollid;...case.T_FuncExpr:... |
8580 | 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 41 72 72 61 79 52 | .break;....coll.=.((const.ArrayR |
85a0 | 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 66 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 | ef.*).expr)->refcollid;...case.T |
85c0 | 5f 41 72 72 61 79 52 65 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 | _ArrayRef:....break;....coll.=.( |
85e0 | 28 63 6f 6e 73 74 20 57 69 6e 64 6f 77 46 75 6e 63 20 2a 29 20 65 78 70 72 29 2d 3e 77 69 6e 63 | (const.WindowFunc.*).expr)->winc |
8600 | 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 57 69 6e 64 6f 77 46 75 6e 63 3a 00 09 09 09 62 | ollid;...case.T_WindowFunc:....b |
8620 | 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 49 6e 76 61 6c 69 64 4f 69 64 3b 00 09 09 63 61 | reak;....coll.=.InvalidOid;...ca |
8640 | 73 65 20 54 5f 47 72 6f 75 70 69 6e 67 46 75 6e 63 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | se.T_GroupingFunc:....break;.... |
8660 | 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 41 67 67 72 65 66 20 2a 29 20 65 78 70 72 29 2d 3e | coll.=.((const.Aggref.*).expr)-> |
8680 | 61 67 67 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 41 67 67 72 65 66 3a 00 09 09 09 62 | aggcollid;...case.T_Aggref:....b |
86a0 | 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 50 61 72 61 6d 20 2a 29 | reak;....coll.=.((const.Param.*) |
86c0 | 20 65 78 70 72 29 2d 3e 70 61 72 61 6d 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 50 61 | .expr)->paramcollid;...case.T_Pa |
86e0 | 72 61 6d 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 | ram:....break;....coll.=.((const |
8700 | 20 43 6f 6e 73 74 20 2a 29 20 65 78 70 72 29 2d 3e 63 6f 6e 73 74 63 6f 6c 6c 69 64 3b 00 09 09 | .Const.*).expr)->constcollid;... |
8720 | 63 61 73 65 20 54 5f 43 6f 6e 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 | case.T_Const:....break;....coll. |
8740 | 3d 20 28 28 63 6f 6e 73 74 20 56 61 72 20 2a 29 20 65 78 70 72 29 2d 3e 76 61 72 63 6f 6c 6c 69 | =.((const.Var.*).expr)->varcolli |
8760 | 64 3b 00 09 09 63 61 73 65 20 54 5f 56 61 72 3a 00 09 7b 00 09 73 77 69 74 63 68 20 28 6e 6f 64 | d;...case.T_Var:..{..switch.(nod |
8780 | 65 54 61 67 28 65 78 70 72 29 29 00 00 09 09 72 65 74 75 72 6e 20 49 6e 76 61 6c 69 64 4f 69 64 | eTag(expr))....return.InvalidOid |
87a0 | 3b 00 09 69 66 20 28 21 65 78 70 72 29 00 00 09 4f 69 64 09 09 09 63 6f 6c 6c 3b 00 7b 00 65 78 | ;..if.(!expr)...Oid...coll;.{.ex |
87c0 | 70 72 43 6f 6c 6c 61 74 69 6f 6e 28 63 6f 6e 73 74 20 4e 6f 64 65 20 2a 65 78 70 72 29 00 4f 69 | prCollation(const.Node.*expr).Oi |
87e0 | 64 00 20 2a 2f 00 20 2a 20 6f 72 20 76 69 63 65 20 76 65 72 73 61 2c 20 74 68 65 20 74 77 6f 20 | d..*/..*.or.vice.versa,.the.two. |
8800 | 61 72 65 20 64 69 66 66 65 72 65 6e 74 2e 00 20 2a 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 64 75 | are.different...*.function.produ |
8820 | 63 65 73 20 61 20 6e 6f 6e 2d 63 6f 6c 6c 61 74 61 62 6c 65 20 72 65 73 75 6c 74 20 74 79 70 65 | ces.a.non-collatable.result.type |
8840 | 20 66 72 6f 6d 20 63 6f 6c 6c 61 74 61 62 6c 65 20 69 6e 70 75 74 73 00 20 2a 20 62 75 74 20 6e | .from.collatable.inputs..*.but.n |
8860 | 6f 74 20 61 6c 77 61 79 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 72 65 73 75 6c 74 | ot.always.the.same.as.the.result |
8880 | 20 63 6f 6c 6c 61 74 69 6f 6e 3b 20 69 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 69 66 20 74 68 | .collation;.in.particular,.if.th |
88a0 | 65 00 20 2a 20 54 68 61 74 20 69 73 20 74 68 65 20 72 65 73 6f 6c 76 65 64 20 63 6f 6d 6d 6f 6e | e..*.That.is.the.resolved.common |
88c0 | 20 63 6f 6c 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6e 6f 64 65 27 73 20 69 6e 70 75 74 73 2e | .collation.of.the.node's.inputs. |
88e0 | 20 20 49 74 20 69 73 20 6f 66 74 65 6e 00 20 2a 20 22 69 6e 70 75 74 63 6f 6c 6c 69 64 22 20 66 | ..It.is.often..*."inputcollid".f |
8900 | 69 65 6c 64 2c 20 77 68 69 63 68 20 69 73 20 77 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e | ield,.which.is.what.the.function |
8920 | 20 73 68 6f 75 6c 64 20 75 73 65 20 61 73 20 63 6f 6c 6c 61 74 69 6f 6e 2e 00 20 2a 20 4e 6f 74 | .should.use.as.collation...*.Not |
8940 | 65 3a 20 65 78 70 72 65 73 73 69 6f 6e 20 6e 6f 64 65 73 20 74 68 61 74 20 63 61 6e 20 69 6e 76 | e:.expression.nodes.that.can.inv |
8960 | 6f 6b 65 20 66 75 6e 63 74 69 6f 6e 73 20 67 65 6e 65 72 61 6c 6c 79 20 68 61 76 65 20 61 6e 00 | oke.functions.generally.have.an. |
8980 | 20 2a 00 20 2a 09 20 20 72 65 74 75 72 6e 73 20 74 68 65 20 4f 69 64 20 6f 66 20 74 68 65 20 63 | .*..*...returns.the.Oid.of.the.c |
89a0 | 6f 6c 6c 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 27 73 20 72 65 73 | ollation.of.the.expression's.res |
89c0 | 75 6c 74 2e 00 20 2a 09 65 78 70 72 43 6f 6c 6c 61 74 69 6f 6e 20 2d 00 2f 2a 00 00 00 7d 00 09 | ult...*.exprCollation.-./*...}.. |
89e0 | 09 09 09 09 09 09 09 20 20 63 6f 6e 74 65 78 74 29 3b 00 09 72 65 74 75 72 6e 20 65 78 70 72 65 | .........context);..return.expre |
8a00 | 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 6e 6f 64 65 2c 20 65 78 70 72 65 73 73 69 | ssion_tree_walker(node,.expressi |
8a20 | 6f 6e 5f 72 65 74 75 72 6e 73 5f 73 65 74 5f 77 61 6c 6b 65 72 2c 00 00 09 09 72 65 74 75 72 6e | on_returns_set_walker,....return |
8a40 | 20 66 61 6c 73 65 3b 00 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 58 6d 6c 45 78 70 72 29 29 | .false;..if.(IsA(node,.XmlExpr)) |
8a60 | 00 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 | ...return.false;..if.(IsA(node,. |
8a80 | 4d 69 6e 4d 61 78 45 78 70 72 29 29 00 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 | MinMaxExpr))...return.false;..if |
8aa0 | 20 28 49 73 41 28 6e 6f 64 65 2c 20 43 6f 61 6c 65 73 63 65 45 78 70 72 29 29 00 09 09 72 65 74 | .(IsA(node,.CoalesceExpr))...ret |
8ac0 | 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 52 6f 77 43 6f 6d | urn.false;..if.(IsA(node,.RowCom |
8ae0 | 70 61 72 65 45 78 70 72 29 29 00 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 | pareExpr))...return.false;..if.( |
8b00 | 49 73 41 28 6e 6f 64 65 2c 20 52 6f 77 45 78 70 72 29 29 00 09 09 72 65 74 75 72 6e 20 66 61 6c | IsA(node,.RowExpr))...return.fal |
8b20 | 73 65 3b 00 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 41 72 72 61 79 45 78 70 72 29 29 00 09 | se;..if.(IsA(node,.ArrayExpr)).. |
8b40 | 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 41 6c | .return.false;..if.(IsA(node,.Al |
8b60 | 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 29 29 00 09 09 72 65 74 75 72 6e 20 66 61 6c 73 | ternativeSubPlan))...return.fals |
8b80 | 65 3b 00 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 53 75 62 50 6c 61 6e 29 29 00 09 09 72 65 | e;..if.(IsA(node,.SubPlan))...re |
8ba0 | 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 53 75 62 4c 69 | turn.false;..if.(IsA(node,.SubLi |
8bc0 | 6e 6b 29 29 00 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 49 73 41 28 6e 6f | nk))...return.false;..if.(IsA(no |
8be0 | 64 65 2c 20 42 6f 6f 6c 45 78 70 72 29 29 00 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 | de,.BoolExpr))...return.false;.. |
8c00 | 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 29 | if.(IsA(node,.ScalarArrayOpExpr) |
8c20 | 29 00 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c | )...return.false;..if.(IsA(node, |
8c40 | 20 4e 75 6c 6c 49 66 45 78 70 72 29 29 00 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 | .NullIfExpr))...return.false;..i |
8c60 | 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 44 69 73 74 69 6e 63 74 45 78 70 72 29 29 00 09 09 72 65 | f.(IsA(node,.DistinctExpr))...re |
8c80 | 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 57 69 6e 64 6f | turn.false;..if.(IsA(node,.Windo |
8ca0 | 77 46 75 6e 63 29 29 00 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 49 73 41 | wFunc))...return.false;..if.(IsA |
8cc0 | 28 6e 6f 64 65 2c 20 41 67 67 72 65 66 29 29 00 09 2f 2a 20 41 76 6f 69 64 20 72 65 63 75 72 73 | (node,.Aggref))../*.Avoid.recurs |
8ce0 | 69 6f 6e 20 66 6f 72 20 73 6f 6d 65 20 63 61 73 65 73 20 74 68 61 74 20 63 61 6e 27 74 20 72 65 | ion.for.some.cases.that.can't.re |
8d00 | 74 75 72 6e 20 61 20 73 65 74 20 2a 2f 00 00 09 7d 00 09 09 2f 2a 20 65 6c 73 65 20 66 61 6c 6c | turn.a.set.*/...}.../*.else.fall |
8d20 | 20 74 68 72 6f 75 67 68 20 74 6f 20 63 68 65 63 6b 20 61 72 67 73 20 2a 2f 00 09 09 09 72 65 74 | .through.to.check.args.*/....ret |
8d40 | 75 72 6e 20 74 72 75 65 3b 00 09 09 69 66 20 28 65 78 70 72 2d 3e 6f 70 72 65 74 73 65 74 29 00 | urn.true;...if.(expr->opretset). |
8d60 | 00 09 09 4f 70 45 78 70 72 09 20 20 20 2a 65 78 70 72 20 3d 20 28 4f 70 45 78 70 72 20 2a 29 20 | ...OpExpr....*expr.=.(OpExpr.*). |
8d80 | 6e 6f 64 65 3b 00 09 7b 00 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 4f 70 45 78 70 72 29 29 | node;..{..if.(IsA(node,.OpExpr)) |
8da0 | 00 09 7d 00 09 09 2f 2a 20 65 6c 73 65 20 66 61 6c 6c 20 74 68 72 6f 75 67 68 20 74 6f 20 63 68 | ..}.../*.else.fall.through.to.ch |
8dc0 | 65 63 6b 20 61 72 67 73 20 2a 2f 00 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 69 66 | eck.args.*/....return.true;...if |
8de0 | 20 28 65 78 70 72 2d 3e 66 75 6e 63 72 65 74 73 65 74 29 00 00 09 09 46 75 6e 63 45 78 70 72 20 | .(expr->funcretset)....FuncExpr. |
8e00 | 20 20 2a 65 78 70 72 20 3d 20 28 46 75 6e 63 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 7b 00 | ..*expr.=.(FuncExpr.*).node;..{. |
8e20 | 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 46 75 6e 63 45 78 70 72 29 29 00 09 09 72 65 74 75 | .if.(IsA(node,.FuncExpr))...retu |
8e40 | 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 6e 6f 64 65 20 3d 3d 20 4e 55 4c 4c 29 00 7b 00 65 | rn.false;..if.(node.==.NULL).{.e |
8e60 | 78 70 72 65 73 73 69 6f 6e 5f 72 65 74 75 72 6e 73 5f 73 65 74 5f 77 61 6c 6b 65 72 28 4e 6f 64 | xpression_returns_set_walker(Nod |
8e80 | 65 20 2a 6e 6f 64 65 2c 20 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 29 00 73 74 61 74 69 63 20 62 | e.*node,.void.*context).static.b |
8ea0 | 6f 6f 6c 00 00 7d 00 09 72 65 74 75 72 6e 20 65 78 70 72 65 73 73 69 6f 6e 5f 72 65 74 75 72 6e | ool..}..return.expression_return |
8ec0 | 73 5f 73 65 74 5f 77 61 6c 6b 65 72 28 63 6c 61 75 73 65 2c 20 4e 55 4c 4c 29 3b 00 7b 00 65 78 | s_set_walker(clause,.NULL);.{.ex |
8ee0 | 70 72 65 73 73 69 6f 6e 5f 72 65 74 75 72 6e 73 5f 73 65 74 28 4e 6f 64 65 20 2a 63 6c 61 75 73 | pression_returns_set(Node.*claus |
8f00 | 65 29 00 62 6f 6f 6c 00 20 2a 2f 00 20 2a 20 72 65 74 75 72 6e 73 20 61 20 73 65 74 2e 00 20 2a | e).bool..*/..*.returns.a.set...* |
8f20 | 20 77 68 6f 6c 65 20 74 61 72 67 65 74 6c 69 73 74 73 3b 20 69 74 27 6c 6c 20 70 72 6f 64 75 63 | .whole.targetlists;.it'll.produc |
8f40 | 65 20 54 52 55 45 20 69 66 20 61 6e 79 20 6f 6e 65 20 6f 66 20 74 68 65 20 74 6c 69 73 74 20 69 | e.TRUE.if.any.one.of.the.tlist.i |
8f60 | 74 65 6d 73 00 20 2a 20 42 65 63 61 75 73 65 20 77 65 20 75 73 65 20 65 78 70 72 65 73 73 69 6f | tems..*.Because.we.use.expressio |
8f80 | 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 29 2c 20 74 68 69 73 20 63 61 6e 20 61 6c 73 6f 20 62 | n_tree_walker(),.this.can.also.b |
8fa0 | 65 20 61 70 70 6c 69 65 64 20 74 6f 00 20 2a 00 20 2a 09 20 20 54 65 73 74 20 77 68 65 74 68 65 | e.applied.to..*..*...Test.whethe |
8fc0 | 72 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 73 65 74 20 72 65 | r.an.expression.returns.a.set.re |
8fe0 | 73 75 6c 74 2e 00 20 2a 20 65 78 70 72 65 73 73 69 6f 6e 5f 72 65 74 75 72 6e 73 5f 73 65 74 00 | sult...*.expression_returns_set. |
9000 | 61 64 00 00 07 00 00 00 0b 02 00 00 00 10 00 00 7a 00 00 00 00 00 00 00 c0 0f 00 00 8b 0f 00 00 | ad..............z............... |
9020 | 73 0f 00 00 72 0f 00 00 4b 0f 00 00 06 0f 00 00 cd 0e 00 00 a8 0e 00 00 8b 0e 00 00 5b 0e 00 00 | s...r...K...................[... |
9040 | 1c 0e 00 00 16 0e 00 00 0d 0e 00 00 07 0e 00 00 d5 0d 00 00 bd 0d 00 00 b7 0d 00 00 b2 0d 00 00 | ................................ |
9060 | a8 0d 00 00 96 0d 00 00 91 0d 00 00 5c 0d 00 00 5b 0d 00 00 2b 0d 00 00 ff 0c 00 00 f9 0c 00 00 | ............\...[...+........... |
9080 | b9 0c 00 00 91 0c 00 00 52 0c 00 00 4c 0c 00 00 43 0c 00 00 3d 0c 00 00 0b 0c 00 00 f3 0b 00 00 | ........R...L...C...=........... |
90a0 | ed 0b 00 00 e8 0b 00 00 de 0b 00 00 c1 0b 00 00 bc 0b 00 00 72 0b 00 00 71 0b 00 00 3d 0b 00 00 | ....................r...q...=... |
90c0 | fe 0a 00 00 f9 0a 00 00 ef 0a 00 00 d9 0a 00 00 a3 0a 00 00 99 0a 00 00 84 0a 00 00 4d 0a 00 00 | ............................M... |
90e0 | 43 0a 00 00 2d 0a 00 00 f7 09 00 00 ed 09 00 00 d7 09 00 00 a1 09 00 00 97 09 00 00 7d 09 00 00 | C...-.......................}... |
9100 | 43 09 00 00 39 09 00 00 1c 09 00 00 e5 08 00 00 db 08 00 00 c5 08 00 00 94 08 00 00 8a 08 00 00 | C...9........................... |
9120 | 77 08 00 00 46 08 00 00 3c 08 00 00 25 08 00 00 f1 07 00 00 e7 07 00 00 d3 07 00 00 9f 07 00 00 | w...F...<...%................... |
9140 | 95 07 00 00 83 07 00 00 4c 07 00 00 42 07 00 00 29 07 00 00 f4 06 00 00 ea 06 00 00 d3 06 00 00 | ........L...B...)............... |
9160 | 9a 06 00 00 90 06 00 00 7b 06 00 00 46 06 00 00 3c 06 00 00 2a 06 00 00 29 06 00 00 23 06 00 00 | ........{...F...<...*...)...#... |
9180 | e0 05 00 00 9a 05 00 00 75 05 00 00 6e 05 00 00 36 05 00 00 14 05 00 00 0c 05 00 00 f5 04 00 00 | ........u...n...6............... |
91a0 | eb 04 00 00 d8 04 00 00 a3 04 00 00 99 04 00 00 83 04 00 00 4e 04 00 00 44 04 00 00 2b 04 00 00 | ....................N...D...+... |
91c0 | f2 03 00 00 e8 03 00 00 ca 03 00 00 8f 03 00 00 85 03 00 00 6e 03 00 00 3a 03 00 00 30 03 00 00 | ....................n...:...0... |
91e0 | 18 03 00 00 e3 02 00 00 d9 02 00 00 c1 02 00 00 79 02 00 00 6f 02 00 00 56 02 00 00 0b 02 00 00 | ................y...o...V....... |
9200 | 0a 02 00 00 00 00 00 00 00 00 00 09 09 09 63 6f 6c 6c 20 3d 20 65 78 70 72 43 6f 6c 6c 61 74 69 | ..............coll.=.exprCollati |
9220 | 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 50 6c 61 63 65 48 6f 6c 64 65 72 56 | on((Node.*).((const.PlaceHolderV |
9240 | 61 72 20 2a 29 20 65 78 70 72 29 2d 3e 70 68 65 78 70 72 29 3b 00 09 09 63 61 73 65 20 54 5f 50 | ar.*).expr)->phexpr);...case.T_P |
9260 | 6c 61 63 65 48 6f 6c 64 65 72 56 61 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c | laceHolderVar:....break;....coll |
9280 | 20 3d 20 65 78 70 72 43 6f 6c 6c 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 | .=.exprCollation((Node.*).((cons |
92a0 | 74 20 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 20 2a 29 20 65 78 70 72 29 2d 3e 65 78 70 72 29 3b | t.InferenceElem.*).expr)->expr); |
92c0 | 00 09 09 63 61 73 65 20 54 5f 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 3a 00 09 09 09 62 72 65 61 | ...case.T_InferenceElem:....brea |
92e0 | 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 49 6e 76 61 6c 69 64 4f 69 64 3b 09 2f 2a 20 72 65 73 75 | k;....coll.=.InvalidOid;./*.resu |
9300 | 6c 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f 6f 6c 65 61 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 | lt.is.always.boolean.*/...case.T |
9320 | 5f 43 75 72 72 65 6e 74 4f 66 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c | _CurrentOfExpr:....break;....col |
9340 | 6c 20 3d 20 28 28 63 6f 6e 73 74 20 53 65 74 54 6f 44 65 66 61 75 6c 74 20 2a 29 20 65 78 70 72 | l.=.((const.SetToDefault.*).expr |
9360 | 29 2d 3e 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 53 65 74 54 6f 44 65 66 61 | )->collation;...case.T_SetToDefa |
9380 | 75 6c 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 | ult:....break;....coll.=.((const |
93a0 | 20 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 56 61 6c 75 65 20 2a 29 20 65 78 70 72 29 2d 3e 63 | .CoerceToDomainValue.*).expr)->c |
93c0 | 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 | ollation;...case.T_CoerceToDomai |
93e0 | 6e 56 61 6c 75 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f | nValue:....break;....coll.=.((co |
9400 | 6e 73 74 20 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 | nst.CoerceToDomain.*).expr)->res |
9420 | 75 6c 74 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 63 65 54 6f 44 6f 6d 61 | ultcollid;...case.T_CoerceToDoma |
9440 | 69 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 49 6e 76 61 6c 69 64 4f | in:....break;....coll.=.InvalidO |
9460 | 69 64 3b 09 2f 2a 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f 6f 6c 65 61 6e 20 | id;./*.result.is.always.boolean. |
9480 | 2a 2f 00 09 09 63 61 73 65 20 54 5f 42 6f 6f 6c 65 61 6e 54 65 73 74 3a 00 09 09 09 62 72 65 61 | */...case.T_BooleanTest:....brea |
94a0 | 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 49 6e 76 61 6c 69 64 4f 69 64 3b 09 2f 2a 20 72 65 73 75 | k;....coll.=.InvalidOid;./*.resu |
94c0 | 6c 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f 6f 6c 65 61 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 | lt.is.always.boolean.*/...case.T |
94e0 | 5f 4e 75 6c 6c 54 65 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 63 6f 6c 6c 20 3d 20 | _NullTest:....break;.....coll.=. |
9500 | 49 6e 76 61 6c 69 64 4f 69 64 3b 00 09 09 09 65 6c 73 65 00 09 09 09 09 63 6f 6c 6c 20 3d 20 44 | InvalidOid;....else.....coll.=.D |
9520 | 45 46 41 55 4c 54 5f 43 4f 4c 4c 41 54 49 4f 4e 5f 4f 49 44 3b 00 09 09 09 69 66 20 28 28 28 63 | EFAULT_COLLATION_OID;....if.(((c |
9540 | 6f 6e 73 74 20 58 6d 6c 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6f 70 20 3d 3d 20 49 53 5f | onst.XmlExpr.*).expr)->op.==.IS_ |
9560 | 58 4d 4c 53 45 52 49 41 4c 49 5a 45 29 00 09 09 09 20 2a 2f 00 09 09 09 20 2a 20 58 4d 4c 2c 20 | XMLSERIALIZE).....*/.....*.XML,. |
9580 | 77 68 69 63 68 20 61 72 65 20 6e 6f 6e 2d 63 6f 6c 6c 61 74 61 62 6c 65 2e 00 09 09 09 20 2a 20 | which.are.non-collatable......*. |
95a0 | 63 6f 6c 6c 61 74 69 6f 6e 20 69 73 20 61 6c 77 61 79 73 20 64 65 66 61 75 6c 74 2e 20 20 54 68 | collation.is.always.default...Th |
95c0 | 65 20 6f 74 68 65 72 20 63 61 73 65 73 20 72 65 74 75 72 6e 20 62 6f 6f 6c 65 61 6e 20 6f 72 00 | e.other.cases.return.boolean.or. |
95e0 | 09 09 09 20 2a 20 58 4d 4c 53 45 52 49 41 4c 49 5a 45 20 72 65 74 75 72 6e 73 20 74 65 78 74 20 | ....*.XMLSERIALIZE.returns.text. |
9600 | 66 72 6f 6d 20 6e 6f 6e 2d 63 6f 6c 6c 61 74 61 62 6c 65 20 69 6e 70 75 74 73 2c 20 73 6f 20 69 | from.non-collatable.inputs,.so.i |
9620 | 74 73 00 09 09 09 2f 2a 00 00 09 09 63 61 73 65 20 54 5f 58 6d 6c 45 78 70 72 3a 00 09 09 09 62 | ts..../*....case.T_XmlExpr:....b |
9640 | 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 4d 69 6e 4d 61 78 45 78 | reak;....coll.=.((const.MinMaxEx |
9660 | 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6d 69 6e 6d 61 78 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 | pr.*).expr)->minmaxcollid;...cas |
9680 | 65 20 54 5f 4d 69 6e 4d 61 78 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c | e.T_MinMaxExpr:....break;....col |
96a0 | 6c 20 3d 20 28 28 63 6f 6e 73 74 20 43 6f 61 6c 65 73 63 65 45 78 70 72 20 2a 29 20 65 78 70 72 | l.=.((const.CoalesceExpr.*).expr |
96c0 | 29 2d 3e 63 6f 61 6c 65 73 63 65 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 61 6c | )->coalescecollid;...case.T_Coal |
96e0 | 65 73 63 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 49 6e | esceExpr:....break;....coll.=.In |
9700 | 76 61 6c 69 64 4f 69 64 3b 09 2f 2a 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f | validOid;./*.result.is.always.bo |
9720 | 6f 6c 65 61 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 52 6f 77 43 6f 6d 70 61 72 65 45 78 70 72 | olean.*/...case.T_RowCompareExpr |
9740 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 49 6e 76 61 6c 69 64 4f 69 64 | :....break;....coll.=.InvalidOid |
9760 | 3b 09 2f 2a 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 6f 73 69 74 65 20 | ;./*.result.is.always.composite. |
9780 | 2a 2f 00 09 09 63 61 73 65 20 54 5f 52 6f 77 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | */...case.T_RowExpr:....break;.. |
97a0 | 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 41 72 72 61 79 45 78 70 72 20 2a 29 20 65 78 | ..coll.=.((const.ArrayExpr.*).ex |
97c0 | 70 72 29 2d 3e 61 72 72 61 79 5f 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 | pr)->array_collid;...case.T_Arra |
97e0 | 79 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e | yExpr:....break;....coll.=.((con |
9800 | 73 74 20 43 61 73 65 54 65 73 74 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 63 6f 6c 6c 61 74 | st.CaseTestExpr.*).expr)->collat |
9820 | 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 43 61 73 65 54 65 73 74 45 78 70 72 3a 00 09 09 09 62 | ion;...case.T_CaseTestExpr:....b |
9840 | 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 43 61 73 65 45 78 70 72 | reak;....coll.=.((const.CaseExpr |
9860 | 20 2a 29 20 65 78 70 72 29 2d 3e 63 61 73 65 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f | .*).expr)->casecollid;...case.T_ |
9880 | 43 61 73 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 | CaseExpr:....break;....coll.=.(( |
98a0 | 63 6f 6e 73 74 20 43 6f 6c 6c 61 74 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 63 6f 6c 6c | const.CollateExpr.*).expr)->coll |
98c0 | 4f 69 64 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 6c 6c 61 74 65 45 78 70 72 3a 00 09 09 09 62 72 | Oid;...case.T_CollateExpr:....br |
98e0 | 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 49 6e 76 61 6c 69 64 4f 69 64 3b 09 2f 2a 20 72 65 | eak;....coll.=.InvalidOid;./*.re |
9900 | 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 6f 73 69 74 65 20 2a 2f 00 09 09 63 61 | sult.is.always.composite.*/...ca |
9920 | 73 65 20 54 5f 43 6f 6e 76 65 72 74 52 6f 77 74 79 70 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 | se.T_ConvertRowtypeExpr:....brea |
9940 | 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 41 72 72 61 79 43 6f 65 72 63 65 | k;....coll.=.((const.ArrayCoerce |
9960 | 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 63 6f 6c 6c 69 64 3b 00 09 09 63 | Expr.*).expr)->resultcollid;...c |
9980 | 61 73 65 20 54 5f 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b | ase.T_ArrayCoerceExpr:....break; |
99a0 | 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 43 6f 65 72 63 65 56 69 61 49 4f 20 2a | ....coll.=.((const.CoerceViaIO.* |
99c0 | 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f | ).expr)->resultcollid;...case.T_ |
99e0 | 43 6f 65 72 63 65 56 69 61 49 4f 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d | CoerceViaIO:....break;....coll.= |
9a00 | 20 28 28 63 6f 6e 73 74 20 52 65 6c 61 62 65 6c 54 79 70 65 20 2a 29 20 65 78 70 72 29 2d 3e 72 | .((const.RelabelType.*).expr)->r |
9a20 | 65 73 75 6c 74 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 52 65 6c 61 62 65 6c 54 79 70 | esultcollid;...case.T_RelabelTyp |
9a40 | 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 49 6e 76 61 6c 69 64 4f 69 | e:....break;....coll.=.InvalidOi |
9a60 | 64 3b 09 2f 2a 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 6f 73 69 74 65 | d;./*.result.is.always.composite |
9a80 | 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 46 69 65 6c 64 53 74 6f 72 65 3a 00 09 09 09 62 72 65 61 | .*/...case.T_FieldStore:....brea |
9aa0 | 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 46 69 65 6c 64 53 65 6c 65 63 74 | k;....coll.=.((const.FieldSelect |
9ac0 | 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 | .*).expr)->resultcollid;...case. |
9ae0 | 54 5f 46 69 65 6c 64 53 65 6c 65 63 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 | T_FieldSelect:....break;....}... |
9b00 | 09 09 63 6f 6c 6c 20 3d 20 65 78 70 72 43 6f 6c 6c 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 | ..coll.=.exprCollation((Node.*). |
9b20 | 6c 69 6e 69 74 69 61 6c 28 61 73 70 6c 61 6e 2d 3e 73 75 62 70 6c 61 6e 73 29 29 3b 00 09 09 09 | linitial(asplan->subplans));.... |
9b40 | 09 2f 2a 20 73 75 62 70 6c 61 6e 73 20 73 68 6f 75 6c 64 20 61 6c 6c 20 72 65 74 75 72 6e 20 74 | ./*.subplans.should.all.return.t |
9b60 | 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 20 41 6c 74 65 | he.same.thing.*/......const.Alte |
9b80 | 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 20 2a 61 73 70 6c 61 6e 20 3d 20 28 63 6f 6e 73 74 20 | rnativeSubPlan.*asplan.=.(const. |
9ba0 | 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b | AlternativeSubPlan.*).expr;....{ |
9bc0 | 00 09 09 63 61 73 65 20 54 5f 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 3a 00 09 09 | ...case.T_AlternativeSubPlan:... |
9be0 | 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 7d 00 09 09 09 09 09 63 6f 6c 6c 20 3d 20 49 | .break;....}.....}......coll.=.I |
9c00 | 6e 76 61 6c 69 64 4f 69 64 3b 00 09 09 09 09 09 2f 2a 20 6f 74 68 65 72 77 69 73 65 2c 20 72 65 | nvalidOid;....../*.otherwise,.re |
9c20 | 73 75 6c 74 20 69 73 20 52 45 43 4f 52 44 20 6f 72 20 42 4f 4f 4c 45 41 4e 20 2a 2f 00 09 09 09 | sult.is.RECORD.or.BOOLEAN.*/.... |
9c40 | 09 7b 00 09 09 09 09 65 6c 73 65 00 09 09 09 09 7d 00 09 09 09 09 09 2f 2a 20 63 6f 6c 6c 61 74 | .{.....else.....}....../*.collat |
9c60 | 69 6f 6e 20 64 6f 65 73 6e 27 74 20 63 68 61 6e 67 65 20 69 66 20 69 74 27 73 20 63 6f 6e 76 65 | ion.doesn't.change.if.it's.conve |
9c80 | 72 74 65 64 20 74 6f 20 61 72 72 61 79 20 2a 2f 00 09 09 09 09 09 63 6f 6c 6c 20 3d 20 73 75 62 | rted.to.array.*/......coll.=.sub |
9ca0 | 70 6c 61 6e 2d 3e 66 69 72 73 74 43 6f 6c 43 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 09 09 09 2f 2a | plan->firstColCollation;....../* |
9cc0 | 20 67 65 74 20 74 68 65 20 63 6f 6c 6c 61 74 69 6f 6e 20 6f 66 20 73 75 62 73 65 6c 65 63 74 27 | .get.the.collation.of.subselect' |
9ce0 | 73 20 66 69 72 73 74 20 74 61 72 67 65 74 20 63 6f 6c 75 6d 6e 20 2a 2f 00 09 09 09 09 7b 00 09 | s.first.target.column.*/.....{.. |
9d00 | 09 09 09 09 73 75 62 70 6c 61 6e 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d 20 41 52 52 41 | ....subplan->subLinkType.==.ARRA |
9d20 | 59 5f 53 55 42 4c 49 4e 4b 29 00 09 09 09 09 69 66 20 28 73 75 62 70 6c 61 6e 2d 3e 73 75 62 4c | Y_SUBLINK).....if.(subplan->subL |
9d40 | 69 6e 6b 54 79 70 65 20 3d 3d 20 45 58 50 52 5f 53 55 42 4c 49 4e 4b 20 7c 7c 00 00 09 09 09 09 | inkType.==.EXPR_SUBLINK.||...... |
9d60 | 63 6f 6e 73 74 20 53 75 62 50 6c 61 6e 20 2a 73 75 62 70 6c 61 6e 20 3d 20 28 63 6f 6e 73 74 20 | const.SubPlan.*subplan.=.(const. |
9d80 | 53 75 62 50 6c 61 6e 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 53 | SubPlan.*).expr;....{...case.T_S |
9da0 | 75 62 50 6c 61 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 7d 00 09 09 09 | ubPlan:....break;....}.....}.... |
9dc0 | 09 09 63 6f 6c 6c 20 3d 20 49 6e 76 61 6c 69 64 4f 69 64 3b 00 09 09 09 09 09 2f 2a 20 6f 74 68 | ..coll.=.InvalidOid;....../*.oth |
9de0 | 65 72 77 69 73 65 2c 20 72 65 73 75 6c 74 20 69 73 20 52 45 43 4f 52 44 20 6f 72 20 42 4f 4f 4c | erwise,.result.is.RECORD.or.BOOL |
9e00 | 45 41 4e 20 2a 2f 00 09 09 09 09 7b 00 09 09 09 09 65 6c 73 65 00 09 09 09 09 7d 00 09 09 09 09 | EAN.*/.....{.....else.....}..... |
9e20 | 09 2f 2a 20 63 6f 6c 6c 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 63 68 61 6e 67 65 20 69 66 20 | ./*.collation.doesn't.change.if. |
9e40 | 69 74 27 73 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 61 72 72 61 79 20 2a 2f 00 09 09 09 09 09 | it's.converted.to.array.*/...... |
9e60 | 63 6f 6c 6c 20 3d 20 65 78 70 72 43 6f 6c 6c 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 74 65 | coll.=.exprCollation((Node.*).te |
9e80 | 6e 74 2d 3e 65 78 70 72 29 3b 00 09 09 09 09 09 41 73 73 65 72 74 28 21 74 65 6e 74 2d 3e 72 65 | nt->expr);......Assert(!tent->re |
9ea0 | 73 6a 75 6e 6b 29 3b 00 09 09 09 09 09 41 73 73 65 72 74 28 49 73 41 28 74 65 6e 74 2c 20 54 61 | sjunk);......Assert(IsA(tent,.Ta |
9ec0 | 72 67 65 74 45 6e 74 72 79 29 29 3b 00 09 09 09 09 09 74 65 6e 74 20 3d 20 28 54 61 72 67 65 74 | rgetEntry));......tent.=.(Target |
9ee0 | 45 6e 74 72 79 20 2a 29 20 6c 69 6e 69 74 69 61 6c 28 71 74 72 65 65 2d 3e 74 61 72 67 65 74 4c | Entry.*).linitial(qtree->targetL |
9f00 | 69 73 74 29 3b 00 09 09 09 09 09 09 65 6c 6f 67 28 45 52 52 4f 52 2c 20 22 63 61 6e 6e 6f 74 20 | ist);.......elog(ERROR,."cannot. |
9f20 | 67 65 74 20 63 6f 6c 6c 61 74 69 6f 6e 20 66 6f 72 20 75 6e 74 72 61 6e 73 66 6f 72 6d 65 64 20 | get.collation.for.untransformed. |
9f40 | 73 75 62 6c 69 6e 6b 22 29 3b 00 09 09 09 09 09 69 66 20 28 21 71 74 72 65 65 20 7c 7c 20 21 49 | sublink");......if.(!qtree.||.!I |
9f60 | 73 41 28 71 74 72 65 65 2c 20 51 75 65 72 79 29 29 00 00 09 09 09 09 09 54 61 72 67 65 74 45 6e | sA(qtree,.Query)).......TargetEn |
9f80 | 74 72 79 20 2a 74 65 6e 74 3b 00 09 09 09 09 09 51 75 65 72 79 09 20 20 20 2a 71 74 72 65 65 20 | try.*tent;......Query....*qtree. |
9fa0 | 3d 20 28 51 75 65 72 79 20 2a 29 20 73 75 62 6c 69 6e 6b 2d 3e 73 75 62 73 65 6c 65 63 74 3b 00 | =.(Query.*).sublink->subselect;. |
9fc0 | 09 09 09 09 09 2f 2a 20 67 65 74 20 74 68 65 20 63 6f 6c 6c 61 74 69 6f 6e 20 6f 66 20 73 75 62 | ...../*.get.the.collation.of.sub |
9fe0 | 73 65 6c 65 63 74 27 73 20 66 69 72 73 74 20 74 61 72 67 65 74 20 63 6f 6c 75 6d 6e 20 2a 2f 00 | select's.first.target.column.*/. |
a000 | 61 64 00 00 17 00 00 00 63 02 00 00 00 10 00 00 8c 00 00 00 00 00 00 00 f6 0f 00 00 eb 0f 00 00 | ad......c....................... |
a020 | a8 0f 00 00 78 0f 00 00 6e 0f 00 00 6b 0f 00 00 5d 0f 00 00 5b 0f 00 00 5a 0f 00 00 57 0f 00 00 | ....x...n...k...]...[...Z...W... |
a040 | 3f 0f 00 00 f4 0e 00 00 f1 0e 00 00 a8 0e 00 00 a4 0e 00 00 a0 0e 00 00 7b 0e 00 00 79 0e 00 00 | ?.......................{...y... |
a060 | 6c 0e 00 00 6b 0e 00 00 5f 0e 00 00 4a 0e 00 00 49 0e 00 00 31 0e 00 00 2e 0e 00 00 1d 0e 00 00 | l...k..._...J...I...1........... |
a080 | ed 0d 00 00 e3 0d 00 00 ce 0d 00 00 9a 0d 00 00 90 0d 00 00 7d 0d 00 00 4b 0d 00 00 41 0d 00 00 | ....................}...K...A... |
a0a0 | 30 0d 00 00 00 0d 00 00 f6 0c 00 00 df 0c 00 00 a9 0c 00 00 9f 0c 00 00 8a 0c 00 00 56 0c 00 00 | 0...........................V... |
a0c0 | 4c 0c 00 00 30 0c 00 00 f5 0b 00 00 eb 0b 00 00 d6 0b 00 00 a2 0b 00 00 98 0b 00 00 8d 0b 00 00 | L...0........................... |
a0e0 | 77 0b 00 00 6d 0b 00 00 6a 0b 00 00 5c 0b 00 00 5a 0b 00 00 59 0b 00 00 56 0b 00 00 40 0b 00 00 | w...m...j...\...Z...Y...V...@... |
a100 | 02 0b 00 00 ff 0a 00 00 b6 0a 00 00 8a 0a 00 00 86 0a 00 00 81 0a 00 00 55 0a 00 00 53 0a 00 00 | ........................U...S... |
a120 | 3b 0a 00 00 38 0a 00 00 2a 0a 00 00 00 0a 00 00 f6 09 00 00 e6 09 00 00 b8 09 00 00 ae 09 00 00 | ;...8...*....................... |
a140 | 9e 09 00 00 70 09 00 00 66 09 00 00 55 09 00 00 28 09 00 00 1e 09 00 00 07 09 00 00 e4 08 00 00 | ....p...f...U...(............... |
a160 | da 08 00 00 c5 08 00 00 94 08 00 00 8a 08 00 00 77 08 00 00 48 08 00 00 3e 08 00 00 2b 08 00 00 | ................w...H...>...+... |
a180 | fb 07 00 00 f1 07 00 00 da 07 00 00 8c 07 00 00 82 07 00 00 71 07 00 00 45 07 00 00 3b 07 00 00 | ....................q...E...;... |
a1a0 | 24 07 00 00 f2 06 00 00 e8 06 00 00 d3 06 00 00 a3 06 00 00 99 06 00 00 7d 06 00 00 3a 06 00 00 | $.......................}...:... |
a1c0 | 30 06 00 00 1d 06 00 00 da 05 00 00 d0 05 00 00 be 05 00 00 a3 05 00 00 9e 05 00 00 72 05 00 00 | 0...........................r... |
a1e0 | 71 05 00 00 41 05 00 00 15 05 00 00 0f 05 00 00 cf 04 00 00 9a 04 00 00 82 04 00 00 81 04 00 00 | q...A........................... |
a200 | 5a 04 00 00 15 04 00 00 dc 03 00 00 b7 03 00 00 9a 03 00 00 5c 03 00 00 56 03 00 00 4d 03 00 00 | Z...................\...V...M... |
a220 | 47 03 00 00 15 03 00 00 f0 02 00 00 ea 02 00 00 e5 02 00 00 c2 02 00 00 b8 02 00 00 a2 02 00 00 | G............................... |
a240 | 6d 02 00 00 63 02 00 00 62 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | m...c...b....................... |
a260 | 00 00 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 46 69 65 6c 64 53 65 6c 65 63 74 20 2a 29 | ......break;....((FieldSelect.*) |
a280 | 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e | .expr)->resultcollid.=.collation |
a2a0 | 3b 00 09 09 63 61 73 65 20 54 5f 46 69 65 6c 64 53 65 6c 65 63 74 3a 00 09 09 09 62 72 65 61 6b | ;...case.T_FieldSelect:....break |
a2c0 | 3b 00 23 65 6e 64 69 66 20 20 20 2f 2a 20 55 53 45 5f 41 53 53 45 52 54 5f 43 48 45 43 4b 49 4e | ;.#endif.../*.USE_ASSERT_CHECKIN |
a2e0 | 47 20 2a 2f 00 09 09 09 7d 00 09 09 09 09 7d 00 09 09 09 09 09 41 73 73 65 72 74 28 21 4f 69 64 | G.*/....}.....}......Assert(!Oid |
a300 | 49 73 56 61 6c 69 64 28 63 6f 6c 6c 61 74 69 6f 6e 29 29 3b 00 09 09 09 09 09 2f 2a 20 6f 74 68 | IsValid(collation));....../*.oth |
a320 | 65 72 77 69 73 65 2c 20 72 65 73 75 6c 74 20 69 73 20 52 45 43 4f 52 44 20 6f 72 20 42 4f 4f 4c | erwise,.result.is.RECORD.or.BOOL |
a340 | 45 41 4e 20 2a 2f 00 09 09 09 09 7b 00 09 09 09 09 65 6c 73 65 00 09 09 09 09 7d 00 09 09 09 09 | EAN.*/.....{.....else.....}..... |
a360 | 09 41 73 73 65 72 74 28 63 6f 6c 6c 61 74 69 6f 6e 20 3d 3d 20 65 78 70 72 43 6f 6c 6c 61 74 69 | .Assert(collation.==.exprCollati |
a380 | 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 74 65 6e 74 2d 3e 65 78 70 72 29 29 3b 00 09 09 09 09 09 41 | on((Node.*).tent->expr));......A |
a3a0 | 73 73 65 72 74 28 21 74 65 6e 74 2d 3e 72 65 73 6a 75 6e 6b 29 3b 00 09 09 09 09 09 41 73 73 65 | ssert(!tent->resjunk);......Asse |
a3c0 | 72 74 28 49 73 41 28 74 65 6e 74 2c 20 54 61 72 67 65 74 45 6e 74 72 79 29 29 3b 00 09 09 09 09 | rt(IsA(tent,.TargetEntry));..... |
a3e0 | 09 74 65 6e 74 20 3d 20 28 54 61 72 67 65 74 45 6e 74 72 79 20 2a 29 20 6c 69 6e 69 74 69 61 6c | .tent.=.(TargetEntry.*).linitial |
a400 | 28 71 74 72 65 65 2d 3e 74 61 72 67 65 74 4c 69 73 74 29 3b 00 09 09 09 09 09 09 65 6c 6f 67 28 | (qtree->targetList);.......elog( |
a420 | 45 52 52 4f 52 2c 20 22 63 61 6e 6e 6f 74 20 73 65 74 20 63 6f 6c 6c 61 74 69 6f 6e 20 66 6f 72 | ERROR,."cannot.set.collation.for |
a440 | 20 75 6e 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 75 62 6c 69 6e 6b 22 29 3b 00 09 09 09 09 09 69 | .untransformed.sublink");......i |
a460 | 66 20 28 21 71 74 72 65 65 20 7c 7c 20 21 49 73 41 28 71 74 72 65 65 2c 20 51 75 65 72 79 29 29 | f.(!qtree.||.!IsA(qtree,.Query)) |
a480 | 00 00 09 09 09 09 09 54 61 72 67 65 74 45 6e 74 72 79 20 2a 74 65 6e 74 3b 00 09 09 09 09 09 51 | .......TargetEntry.*tent;......Q |
a4a0 | 75 65 72 79 09 20 20 20 2a 71 74 72 65 65 20 3d 20 28 51 75 65 72 79 20 2a 29 20 73 75 62 6c 69 | uery....*qtree.=.(Query.*).subli |
a4c0 | 6e 6b 2d 3e 73 75 62 73 65 6c 65 63 74 3b 00 09 09 09 09 09 2f 2a 20 67 65 74 20 74 68 65 20 63 | nk->subselect;....../*.get.the.c |
a4e0 | 6f 6c 6c 61 74 69 6f 6e 20 6f 66 20 73 75 62 73 65 6c 65 63 74 27 73 20 66 69 72 73 74 20 74 61 | ollation.of.subselect's.first.ta |
a500 | 72 67 65 74 20 63 6f 6c 75 6d 6e 20 2a 2f 00 09 09 09 09 7b 00 09 09 09 09 09 73 75 62 6c 69 6e | rget.column.*/.....{......sublin |
a520 | 6b 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d 20 41 52 52 41 59 5f 53 55 42 4c 49 4e 4b 29 | k->subLinkType.==.ARRAY_SUBLINK) |
a540 | 00 09 09 09 09 69 66 20 28 73 75 62 6c 69 6e 6b 2d 3e 73 75 62 4c 69 6e 6b 54 79 70 65 20 3d 3d | .....if.(sublink->subLinkType.== |
a560 | 20 45 58 50 52 5f 53 55 42 4c 49 4e 4b 20 7c 7c 00 00 09 09 09 09 53 75 62 4c 69 6e 6b 20 20 20 | .EXPR_SUBLINK.||......SubLink... |
a580 | 20 2a 73 75 62 6c 69 6e 6b 20 3d 20 28 53 75 62 4c 69 6e 6b 20 2a 29 20 65 78 70 72 3b 00 09 09 | .*sublink.=.(SubLink.*).expr;... |
a5a0 | 09 7b 00 23 69 66 64 65 66 20 55 53 45 5f 41 53 53 45 52 54 5f 43 48 45 43 4b 49 4e 47 00 09 09 | .{.#ifdef.USE_ASSERT_CHECKING... |
a5c0 | 63 61 73 65 20 54 5f 53 75 62 4c 69 6e 6b 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 41 73 73 | case.T_SubLink:....break;....Ass |
a5e0 | 65 72 74 28 21 4f 69 64 49 73 56 61 6c 69 64 28 63 6f 6c 6c 61 74 69 6f 6e 29 29 3b 09 09 2f 2a | ert(!OidIsValid(collation));../* |
a600 | 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f 6f 6c 65 61 6e 20 2a 2f 00 09 09 63 | .result.is.always.boolean.*/...c |
a620 | 61 73 65 20 54 5f 42 6f 6f 6c 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 41 73 73 | ase.T_BoolExpr:....break;....Ass |
a640 | 65 72 74 28 21 4f 69 64 49 73 56 61 6c 69 64 28 63 6f 6c 6c 61 74 69 6f 6e 29 29 3b 09 09 2f 2a | ert(!OidIsValid(collation));../* |
a660 | 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f 6f 6c 65 61 6e 20 2a 2f 00 09 09 63 | .result.is.always.boolean.*/...c |
a680 | 61 73 65 20 54 5f 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 3a 00 09 09 09 62 72 65 61 | ase.T_ScalarArrayOpExpr:....brea |
a6a0 | 6b 3b 00 09 09 09 28 28 4e 75 6c 6c 49 66 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6f 70 63 | k;....((NullIfExpr.*).expr)->opc |
a6c0 | 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 4e 75 6c 6c | ollid.=.collation;...case.T_Null |
a6e0 | 49 66 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 44 69 73 74 69 6e 63 74 45 | IfExpr:....break;....((DistinctE |
a700 | 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6f 70 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 | xpr.*).expr)->opcollid.=.collati |
a720 | 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 44 69 73 74 69 6e 63 74 45 78 70 72 3a 00 09 09 09 62 72 | on;...case.T_DistinctExpr:....br |
a740 | 65 61 6b 3b 00 09 09 09 28 28 4f 70 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6f 70 63 6f 6c | eak;....((OpExpr.*).expr)->opcol |
a760 | 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 4f 70 45 78 70 72 | lid.=.collation;...case.T_OpExpr |
a780 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 41 73 73 65 72 74 28 63 6f 6c 6c 61 74 69 6f 6e 20 | :....break;....Assert(collation. |
a7a0 | 3d 3d 20 65 78 70 72 43 6f 6c 6c 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 28 28 4e 61 6d 65 | ==.exprCollation((Node.*).((Name |
a7c0 | 64 41 72 67 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 67 29 29 3b 00 09 09 63 61 73 65 | dArgExpr.*).expr)->arg));...case |
a7e0 | 20 54 5f 4e 61 6d 65 64 41 72 67 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 | .T_NamedArgExpr:....break;....(( |
a800 | 46 75 6e 63 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 66 75 6e 63 63 6f 6c 6c 69 64 20 3d 20 | FuncExpr.*).expr)->funccollid.=. |
a820 | 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 46 75 6e 63 45 78 70 72 3a 00 09 09 | collation;...case.T_FuncExpr:... |
a840 | 09 62 72 65 61 6b 3b 00 09 09 09 28 28 41 72 72 61 79 52 65 66 20 2a 29 20 65 78 70 72 29 2d 3e | .break;....((ArrayRef.*).expr)-> |
a860 | 72 65 66 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f | refcollid.=.collation;...case.T_ |
a880 | 41 72 72 61 79 52 65 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 57 69 6e 64 6f 77 46 | ArrayRef:....break;....((WindowF |
a8a0 | 75 6e 63 20 2a 29 20 65 78 70 72 29 2d 3e 77 69 6e 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 | unc.*).expr)->wincollid.=.collat |
a8c0 | 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 57 69 6e 64 6f 77 46 75 6e 63 3a 00 09 09 09 62 72 65 | ion;...case.T_WindowFunc:....bre |
a8e0 | 61 6b 3b 00 09 09 09 41 73 73 65 72 74 28 21 4f 69 64 49 73 56 61 6c 69 64 28 63 6f 6c 6c 61 74 | ak;....Assert(!OidIsValid(collat |
a900 | 69 6f 6e 29 29 3b 00 09 09 63 61 73 65 20 54 5f 47 72 6f 75 70 69 6e 67 46 75 6e 63 3a 00 09 09 | ion));...case.T_GroupingFunc:... |
a920 | 09 62 72 65 61 6b 3b 00 09 09 09 28 28 41 67 67 72 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 61 67 | .break;....((Aggref.*).expr)->ag |
a940 | 67 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 41 67 | gcollid.=.collation;...case.T_Ag |
a960 | 67 72 65 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 50 61 72 61 6d 20 2a 29 20 65 78 | gref:....break;....((Param.*).ex |
a980 | 70 72 29 2d 3e 70 61 72 61 6d 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 | pr)->paramcollid.=.collation;... |
a9a0 | 63 61 73 65 20 54 5f 50 61 72 61 6d 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 43 6f 6e | case.T_Param:....break;....((Con |
a9c0 | 73 74 20 2a 29 20 65 78 70 72 29 2d 3e 63 6f 6e 73 74 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 | st.*).expr)->constcollid.=.colla |
a9e0 | 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 6e 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 | tion;...case.T_Const:....break;. |
aa00 | 09 09 09 28 28 56 61 72 20 2a 29 20 65 78 70 72 29 2d 3e 76 61 72 63 6f 6c 6c 69 64 20 3d 20 63 | ...((Var.*).expr)->varcollid.=.c |
aa20 | 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 56 61 72 3a 00 09 7b 00 09 73 77 69 74 | ollation;...case.T_Var:..{..swit |
aa40 | 63 68 20 28 6e 6f 64 65 54 61 67 28 65 78 70 72 29 29 00 7b 00 65 78 70 72 53 65 74 43 6f 6c 6c | ch.(nodeTag(expr)).{.exprSetColl |
aa60 | 61 74 69 6f 6e 28 4e 6f 64 65 20 2a 65 78 70 72 2c 20 4f 69 64 20 63 6f 6c 6c 61 74 69 6f 6e 29 | ation(Node.*expr,.Oid.collation) |
aa80 | 00 76 6f 69 64 00 20 2a 2f 00 20 2a 20 77 6f 72 72 79 20 61 62 6f 75 74 20 73 75 62 70 6c 61 6e | .void..*/..*.worry.about.subplan |
aaa0 | 73 20 6f 72 20 50 6c 61 63 65 48 6f 6c 64 65 72 56 61 72 73 2e 00 20 2a 20 4e 6f 74 65 3a 20 73 | s.or.PlaceHolderVars...*.Note:.s |
aac0 | 69 6e 63 65 20 74 68 69 73 20 69 73 20 6f 6e 6c 79 20 75 73 65 64 20 64 75 72 69 6e 67 20 70 61 | ince.this.is.only.used.during.pa |
aae0 | 72 73 65 20 61 6e 61 6c 79 73 69 73 2c 20 77 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 00 20 | rse.analysis,.we.don't.need.to.. |
ab00 | 2a 00 20 2a 09 20 20 41 73 73 69 67 6e 20 63 6f 6c 6c 61 74 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 | *..*...Assign.collation.informat |
ab20 | 69 6f 6e 20 74 6f 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 74 72 65 65 20 6e 6f 64 65 2e 00 | ion.to.an.expression.tree.node.. |
ab40 | 20 2a 09 65 78 70 72 53 65 74 43 6f 6c 6c 61 74 69 6f 6e 20 2d 00 2f 2a 00 00 7d 00 09 72 65 74 | .*.exprSetCollation.-./*..}..ret |
ab60 | 75 72 6e 20 63 6f 6c 6c 3b 00 09 7d 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d | urn.coll;..}....break;....coll.= |
ab80 | 20 49 6e 76 61 6c 69 64 4f 69 64 3b 00 09 09 64 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 61 6b | .InvalidOid;...default:....break |
aba0 | 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 4d 69 6e 4d 61 78 45 78 70 72 20 2a | ;....coll.=.((const.MinMaxExpr.* |
abc0 | 29 20 65 78 70 72 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 4d | ).expr)->inputcollid;...case.T_M |
abe0 | 69 6e 4d 61 78 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 | inMaxExpr:....break;....coll.=.( |
ac00 | 28 63 6f 6e 73 74 20 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 20 2a 29 20 65 78 70 72 | (const.ScalarArrayOpExpr.*).expr |
ac20 | 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 53 63 61 6c 61 72 41 | )->inputcollid;...case.T_ScalarA |
ac40 | 72 72 61 79 4f 70 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 | rrayOpExpr:....break;....coll.=. |
ac60 | 28 28 63 6f 6e 73 74 20 4e 75 6c 6c 49 66 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 69 6e 70 | ((const.NullIfExpr.*).expr)->inp |
ac80 | 75 74 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 4e 75 6c 6c 49 66 45 78 70 72 3a 00 09 | utcollid;...case.T_NullIfExpr:.. |
aca0 | 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 44 69 73 74 69 | ..break;....coll.=.((const.Disti |
acc0 | 6e 63 74 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 3b 00 09 | nctExpr.*).expr)->inputcollid;.. |
ace0 | 09 63 61 73 65 20 54 5f 44 69 73 74 69 6e 63 74 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 | .case.T_DistinctExpr:....break;. |
ad00 | 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 4f 70 45 78 70 72 20 2a 29 20 65 78 70 72 | ...coll.=.((const.OpExpr.*).expr |
ad20 | 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 4f 70 45 78 70 72 3a | )->inputcollid;...case.T_OpExpr: |
ad40 | 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 46 75 6e | ....break;....coll.=.((const.Fun |
ad60 | 63 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 3b 00 09 09 63 | cExpr.*).expr)->inputcollid;...c |
ad80 | 61 73 65 20 54 5f 46 75 6e 63 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c | ase.T_FuncExpr:....break;....col |
ada0 | 6c 20 3d 20 28 28 63 6f 6e 73 74 20 57 69 6e 64 6f 77 46 75 6e 63 20 2a 29 20 65 78 70 72 29 2d | l.=.((const.WindowFunc.*).expr)- |
adc0 | 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 3b 00 09 09 63 61 73 65 20 54 5f 57 69 6e 64 6f 77 46 75 6e | >inputcollid;...case.T_WindowFun |
ade0 | 63 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 3d 20 28 28 63 6f 6e 73 74 20 41 | c:....break;....coll.=.((const.A |
ae00 | 67 67 72 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 3b 00 09 09 63 | ggref.*).expr)->inputcollid;...c |
ae20 | 61 73 65 20 54 5f 41 67 67 72 65 66 3a 00 09 7b 00 09 73 77 69 74 63 68 20 28 6e 6f 64 65 54 61 | ase.T_Aggref:..{..switch.(nodeTa |
ae40 | 67 28 65 78 70 72 29 29 00 00 09 09 72 65 74 75 72 6e 20 49 6e 76 61 6c 69 64 4f 69 64 3b 00 09 | g(expr))....return.InvalidOid;.. |
ae60 | 69 66 20 28 21 65 78 70 72 29 00 00 09 4f 69 64 09 09 09 63 6f 6c 6c 3b 00 7b 00 65 78 70 72 49 | if.(!expr)...Oid...coll;.{.exprI |
ae80 | 6e 70 75 74 43 6f 6c 6c 61 74 69 6f 6e 28 63 6f 6e 73 74 20 4e 6f 64 65 20 2a 65 78 70 72 29 00 | nputCollation(const.Node.*expr). |
aea0 | 4f 69 64 00 20 2a 2f 00 20 2a 20 52 65 73 75 6c 74 20 69 73 20 49 6e 76 61 6c 69 64 4f 69 64 20 | Oid..*/..*.Result.is.InvalidOid. |
aec0 | 69 66 20 74 68 65 20 6e 6f 64 65 20 74 79 70 65 20 64 6f 65 73 6e 27 74 20 73 74 6f 72 65 20 74 | if.the.node.type.doesn't.store.t |
aee0 | 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 00 20 2a 00 20 2a 09 20 20 72 65 74 75 72 6e 73 | his.information...*..*...returns |
af00 | 20 74 68 65 20 4f 69 64 20 6f 66 20 74 68 65 20 63 6f 6c 6c 61 74 69 6f 6e 20 61 20 66 75 6e 63 | .the.Oid.of.the.collation.a.func |
af20 | 74 69 6f 6e 20 73 68 6f 75 6c 64 20 75 73 65 2c 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2e 00 20 | tion.should.use,.if.available... |
af40 | 2a 09 65 78 70 72 49 6e 70 75 74 43 6f 6c 6c 61 74 69 6f 6e 20 2d 00 2f 2a 00 00 7d 00 09 72 65 | *.exprInputCollation.-./*..}..re |
af60 | 74 75 72 6e 20 63 6f 6c 6c 3b 00 09 7d 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 63 6f 6c 6c 20 | turn.coll;..}....break;....coll. |
af80 | 3d 20 49 6e 76 61 6c 69 64 4f 69 64 3b 09 2f 2a 20 6b 65 65 70 20 63 6f 6d 70 69 6c 65 72 20 71 | =.InvalidOid;./*.keep.compiler.q |
afa0 | 75 69 65 74 20 2a 2f 00 09 09 09 65 6c 6f 67 28 45 52 52 4f 52 2c 20 22 75 6e 72 65 63 6f 67 6e | uiet.*/....elog(ERROR,."unrecogn |
afc0 | 69 7a 65 64 20 6e 6f 64 65 20 74 79 70 65 3a 20 25 64 22 2c 20 28 69 6e 74 29 20 6e 6f 64 65 54 | ized.node.type:.%d",.(int).nodeT |
afe0 | 61 67 28 65 78 70 72 29 29 3b 00 09 09 64 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 | ag(expr));...default:....break;. |
b000 | 61 64 00 00 4a 00 00 00 3a 02 00 00 00 10 00 00 75 00 00 00 00 00 00 00 eb 0f 00 00 a6 0f 00 00 | ad..J...:.......u............... |
b020 | 9c 0f 00 00 86 0f 00 00 51 0f 00 00 47 0f 00 00 31 0f 00 00 fc 0e 00 00 f2 0e 00 00 d8 0e 00 00 | ........Q...G...1............... |
b040 | 9f 0e 00 00 95 0e 00 00 78 0e 00 00 33 0e 00 00 29 0e 00 00 16 0e 00 00 e6 0d 00 00 dc 0d 00 00 | ........x...3...)............... |
b060 | c8 0d 00 00 95 0d 00 00 8b 0d 00 00 79 0d 00 00 34 0d 00 00 2a 0d 00 00 11 0d 00 00 ce 0c 00 00 | ............y...4...*........... |
b080 | c4 0c 00 00 ad 0c 00 00 75 0c 00 00 6b 0c 00 00 56 0c 00 00 22 0c 00 00 18 0c 00 00 06 0c 00 00 | ........u...k...V..."........... |
b0a0 | ce 0b 00 00 a0 0b 00 00 7d 0b 00 00 73 0b 00 00 60 0b 00 00 1d 0b 00 00 13 0b 00 00 fd 0a 00 00 | ........}...s...`............... |
b0c0 | ba 0a 00 00 b0 0a 00 00 97 0a 00 00 5f 0a 00 00 55 0a 00 00 37 0a 00 00 fd 09 00 00 f3 09 00 00 | ............_...U...7........... |
b0e0 | dc 09 00 00 a9 09 00 00 9f 09 00 00 87 09 00 00 44 09 00 00 3a 09 00 00 2f 09 00 00 ec 08 00 00 | ................D...:.../....... |
b100 | e2 08 00 00 df 08 00 00 dd 08 00 00 dc 08 00 00 d9 08 00 00 be 08 00 00 7a 08 00 00 77 08 00 00 | ........................z...w... |
b120 | 2d 08 00 00 e6 07 00 00 bb 07 00 00 b7 07 00 00 b2 07 00 00 7c 07 00 00 7a 07 00 00 62 07 00 00 | -...................|...z...b... |
b140 | 5f 07 00 00 4e 07 00 00 1a 07 00 00 10 07 00 00 fb 06 00 00 c3 06 00 00 b9 06 00 00 a6 06 00 00 | _...N........................... |
b160 | 70 06 00 00 66 06 00 00 55 06 00 00 21 06 00 00 17 06 00 00 00 06 00 00 c6 05 00 00 bc 05 00 00 | p...f...U...!................... |
b180 | a7 05 00 00 6f 05 00 00 65 05 00 00 49 05 00 00 0a 05 00 00 00 05 00 00 eb 04 00 00 b3 04 00 00 | ....o...e...I................... |
b1a0 | a9 04 00 00 9e 04 00 00 94 04 00 00 91 04 00 00 8f 04 00 00 8e 04 00 00 8d 04 00 00 8a 04 00 00 | ................................ |
b1c0 | 78 04 00 00 2f 04 00 00 2c 04 00 00 f5 03 00 00 f2 03 00 00 ad 03 00 00 62 03 00 00 19 03 00 00 | x.../...,...............b....... |
b1e0 | cc 02 00 00 84 02 00 00 3a 02 00 00 39 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........:...9................... |
b200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
b220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 2a 20 54 68 65 | ...........................*.The |
b240 | 20 72 65 61 73 6f 6e 20 69 73 20 74 68 61 74 20 77 65 20 77 61 6e 74 20 74 6f 20 72 65 66 65 72 | .reason.is.that.we.want.to.refer |
b260 | 65 6e 63 65 20 74 68 65 20 65 6e 74 69 72 65 20 65 78 70 72 65 73 73 69 6f 6e 20 6e 6f 74 20 6a | ence.the.entire.expression.not.j |
b280 | 75 73 74 00 20 2a 20 74 68 65 6e 20 77 65 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 74 68 65 | ust..*.then.we.should.return.the |
b2a0 | 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c 65 66 74 2d 68 61 6e 64 20 6f 70 65 72 61 | .location.of.the.left-hand.opera |
b2c0 | 6e 64 20 69 6e 73 74 65 61 64 2e 00 20 2a 20 66 69 65 6c 64 20 77 69 6c 6c 20 70 6f 69 6e 74 20 | nd.instead...*.field.will.point. |
b2e0 | 61 74 20 74 68 65 20 6f 70 65 72 61 74 6f 72 20 6e 61 6d 65 2c 20 62 75 74 20 69 66 20 69 74 20 | at.the.operator.name,.but.if.it. |
b300 | 69 73 20 6e 6f 74 20 61 20 70 72 65 66 69 78 20 6f 70 65 72 61 74 6f 72 00 20 2a 20 74 68 65 20 | is.not.a.prefix.operator..*.the. |
b320 | 74 6f 70 6d 6f 73 74 20 4e 6f 64 65 27 73 20 6c 6f 63 61 74 69 6f 6e 20 66 69 65 6c 64 2e 20 20 | topmost.Node's.location.field... |
b340 | 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 61 6e 20 4f 70 45 78 70 72 27 73 20 6c 6f 63 61 74 69 6f | For.example,.an.OpExpr's.locatio |
b360 | 6e 00 20 2a 20 72 65 74 75 72 6e 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 | n..*.return.the.location.of.the. |
b380 | 65 78 70 72 65 73 73 69 6f 6e 27 73 20 6c 65 66 74 6d 6f 73 74 20 74 6f 6b 65 6e 2c 20 6e 6f 74 | expression's.leftmost.token,.not |
b3a0 | 20 6e 65 63 65 73 73 61 72 69 6c 79 00 20 2a 20 46 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 73 20 | .necessarily..*.For.expressions. |
b3c0 | 6c 61 72 67 65 72 20 74 68 61 6e 20 61 20 73 69 6e 67 6c 65 20 74 6f 6b 65 6e 2c 20 74 68 65 20 | larger.than.a.single.token,.the. |
b3e0 | 69 6e 74 65 6e 74 20 68 65 72 65 20 69 73 20 74 6f 00 20 2a 00 20 2a 20 2d 31 20 69 73 20 72 65 | intent.here.is.to..*..*.-1.is.re |
b400 | 74 75 72 6e 65 64 20 69 66 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 63 61 6e 27 74 20 62 65 20 | turned.if.the.location.can't.be. |
b420 | 64 65 74 65 72 6d 69 6e 65 64 2e 00 20 2a 00 20 2a 09 20 20 72 65 74 75 72 6e 73 20 74 68 65 20 | determined...*..*...returns.the. |
b440 | 70 61 72 73 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 | parse.location.of.an.expression. |
b460 | 74 72 65 65 2c 20 66 6f 72 20 65 72 72 6f 72 20 72 65 70 6f 72 74 73 00 20 2a 09 65 78 70 72 4c | tree,.for.error.reports..*.exprL |
b480 | 6f 63 61 74 69 6f 6e 20 2d 00 2f 2a 00 00 00 7d 00 09 7d 00 09 09 09 62 72 65 61 6b 3b 00 09 09 | ocation.-./*...}..}....break;... |
b4a0 | 64 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 4d 69 6e 4d 61 78 45 78 | default:....break;....((MinMaxEx |
b4c0 | 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 20 3d 20 69 6e 70 75 74 | pr.*).expr)->inputcollid.=.input |
b4e0 | 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 4d 69 6e 4d 61 78 45 78 70 72 3a 00 | collation;...case.T_MinMaxExpr:. |
b500 | 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 | ...break;....((ScalarArrayOpExpr |
b520 | 20 2a 29 20 65 78 70 72 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 20 3d 20 69 6e 70 75 74 63 6f | .*).expr)->inputcollid.=.inputco |
b540 | 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 | llation;...case.T_ScalarArrayOpE |
b560 | 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 4e 75 6c 6c 49 66 45 78 70 72 20 2a | xpr:....break;....((NullIfExpr.* |
b580 | 29 20 65 78 70 72 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 20 3d 20 69 6e 70 75 74 63 6f 6c 6c | ).expr)->inputcollid.=.inputcoll |
b5a0 | 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 4e 75 6c 6c 49 66 45 78 70 72 3a 00 09 09 09 62 | ation;...case.T_NullIfExpr:....b |
b5c0 | 72 65 61 6b 3b 00 09 09 09 28 28 44 69 73 74 69 6e 63 74 45 78 70 72 20 2a 29 20 65 78 70 72 29 | reak;....((DistinctExpr.*).expr) |
b5e0 | 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 20 3d 20 69 6e 70 75 74 63 6f 6c 6c 61 74 69 6f 6e 3b 00 | ->inputcollid.=.inputcollation;. |
b600 | 09 09 63 61 73 65 20 54 5f 44 69 73 74 69 6e 63 74 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b | ..case.T_DistinctExpr:....break; |
b620 | 00 09 09 09 28 28 4f 70 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c | ....((OpExpr.*).expr)->inputcoll |
b640 | 69 64 20 3d 20 69 6e 70 75 74 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 4f 70 | id.=.inputcollation;...case.T_Op |
b660 | 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 46 75 6e 63 45 78 70 72 20 2a 29 | Expr:....break;....((FuncExpr.*) |
b680 | 20 65 78 70 72 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 20 3d 20 69 6e 70 75 74 63 6f 6c 6c 61 | .expr)->inputcollid.=.inputcolla |
b6a0 | 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 46 75 6e 63 45 78 70 72 3a 00 09 09 09 62 72 65 61 | tion;...case.T_FuncExpr:....brea |
b6c0 | 6b 3b 00 09 09 09 28 28 57 69 6e 64 6f 77 46 75 6e 63 20 2a 29 20 65 78 70 72 29 2d 3e 69 6e 70 | k;....((WindowFunc.*).expr)->inp |
b6e0 | 75 74 63 6f 6c 6c 69 64 20 3d 20 69 6e 70 75 74 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 | utcollid.=.inputcollation;...cas |
b700 | 65 20 54 5f 57 69 6e 64 6f 77 46 75 6e 63 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 41 | e.T_WindowFunc:....break;....((A |
b720 | 67 67 72 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 69 6e 70 75 74 63 6f 6c 6c 69 64 20 3d 20 69 6e | ggref.*).expr)->inputcollid.=.in |
b740 | 70 75 74 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 41 67 67 72 65 66 3a 00 09 | putcollation;...case.T_Aggref:.. |
b760 | 7b 00 09 73 77 69 74 63 68 20 28 6e 6f 64 65 54 61 67 28 65 78 70 72 29 29 00 7b 00 65 78 70 72 | {..switch.(nodeTag(expr)).{.expr |
b780 | 53 65 74 49 6e 70 75 74 43 6f 6c 6c 61 74 69 6f 6e 28 4e 6f 64 65 20 2a 65 78 70 72 2c 20 4f 69 | SetInputCollation(Node.*expr,.Oi |
b7a0 | 64 20 69 6e 70 75 74 63 6f 6c 6c 61 74 69 6f 6e 29 00 76 6f 69 64 00 20 2a 2f 00 20 2a 20 63 6f | d.inputcollation).void..*/..*.co |
b7c0 | 6e 74 61 69 6e 73 20 6d 75 6c 74 69 70 6c 65 20 69 6e 70 75 74 20 63 6f 6c 6c 61 74 69 6f 6e 20 | ntains.multiple.input.collation. |
b7e0 | 4f 49 44 73 2e 00 20 2a 20 4e 6f 74 65 20 77 65 20 6f 6d 69 74 20 52 6f 77 43 6f 6d 70 61 72 65 | OIDs...*.Note.we.omit.RowCompare |
b800 | 45 78 70 72 2c 20 77 68 69 63 68 20 6e 65 65 64 73 20 73 70 65 63 69 61 6c 20 74 72 65 61 74 6d | Expr,.which.needs.special.treatm |
b820 | 65 6e 74 20 73 69 6e 63 65 20 69 74 00 20 2a 20 54 68 69 73 20 69 73 20 61 20 6e 6f 2d 6f 70 20 | ent.since.it..*.This.is.a.no-op. |
b840 | 66 6f 72 20 6e 6f 64 65 20 74 79 70 65 73 20 74 68 61 74 20 64 6f 6e 27 74 20 73 74 6f 72 65 20 | for.node.types.that.don't.store. |
b860 | 74 68 65 69 72 20 69 6e 70 75 74 20 63 6f 6c 6c 61 74 69 6f 6e 2e 00 20 2a 00 20 2a 09 20 20 41 | their.input.collation...*..*...A |
b880 | 73 73 69 67 6e 20 69 6e 70 75 74 2d 63 6f 6c 6c 61 74 69 6f 6e 20 69 6e 66 6f 72 6d 61 74 69 6f | ssign.input-collation.informatio |
b8a0 | 6e 20 74 6f 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 74 72 65 65 20 6e 6f 64 65 2e 00 20 2a | n.to.an.expression.tree.node...* |
b8c0 | 09 65 78 70 72 53 65 74 49 6e 70 75 74 43 6f 6c 6c 61 74 69 6f 6e 20 2d 00 2f 2a 00 00 7d 00 09 | .exprSetInputCollation.-./*..}.. |
b8e0 | 7d 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 65 6c 6f 67 28 45 52 52 4f 52 2c 20 22 75 6e 72 65 | }....break;....elog(ERROR,."unre |
b900 | 63 6f 67 6e 69 7a 65 64 20 6e 6f 64 65 20 74 79 70 65 3a 20 25 64 22 2c 20 28 69 6e 74 29 20 6e | cognized.node.type:.%d",.(int).n |
b920 | 6f 64 65 54 61 67 28 65 78 70 72 29 29 3b 00 09 09 64 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 | odeTag(expr));...default:....bre |
b940 | 61 6b 3b 00 09 09 09 41 73 73 65 72 74 28 21 4f 69 64 49 73 56 61 6c 69 64 28 63 6f 6c 6c 61 74 | ak;....Assert(!OidIsValid(collat |
b960 | 69 6f 6e 29 29 3b 09 09 2f 2a 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f 6f 6c | ion));../*.result.is.always.bool |
b980 | 65 61 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 43 75 72 72 65 6e 74 4f 66 45 78 70 72 3a 00 09 | ean.*/...case.T_CurrentOfExpr:.. |
b9a0 | 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 53 65 74 54 6f 44 65 66 61 75 6c 74 20 2a 29 20 65 78 | ..break;....((SetToDefault.*).ex |
b9c0 | 70 72 29 2d 3e 63 6f 6c 6c 61 74 69 6f 6e 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 | pr)->collation.=.collation;...ca |
b9e0 | 73 65 20 54 5f 53 65 74 54 6f 44 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | se.T_SetToDefault:....break;.... |
ba00 | 28 28 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 56 61 6c 75 65 20 2a 29 20 65 78 70 72 29 2d 3e | ((CoerceToDomainValue.*).expr)-> |
ba20 | 63 6f 6c 6c 61 74 69 6f 6e 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f | collation.=.collation;...case.T_ |
ba40 | 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 56 61 6c 75 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | CoerceToDomainValue:....break;.. |
ba60 | 09 09 28 28 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 | ..((CoerceToDomain.*).expr)->res |
ba80 | 75 6c 74 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f | ultcollid.=.collation;...case.T_ |
baa0 | 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 41 73 73 | CoerceToDomain:....break;....Ass |
bac0 | 65 72 74 28 21 4f 69 64 49 73 56 61 6c 69 64 28 63 6f 6c 6c 61 74 69 6f 6e 29 29 3b 09 09 2f 2a | ert(!OidIsValid(collation));../* |
bae0 | 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f 6f 6c 65 61 6e 20 2a 2f 00 09 09 63 | .result.is.always.boolean.*/...c |
bb00 | 61 73 65 20 54 5f 42 6f 6f 6c 65 61 6e 54 65 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | ase.T_BooleanTest:....break;.... |
bb20 | 41 73 73 65 72 74 28 21 4f 69 64 49 73 56 61 6c 69 64 28 63 6f 6c 6c 61 74 69 6f 6e 29 29 3b 09 | Assert(!OidIsValid(collation));. |
bb40 | 09 2f 2a 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 62 6f 6f 6c 65 61 6e 20 2a 2f 00 | ./*.result.is.always.boolean.*/. |
bb60 | 09 09 63 61 73 65 20 54 5f 4e 75 6c 6c 54 65 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | ..case.T_NullTest:....break;.... |
bb80 | 09 20 20 20 28 63 6f 6c 6c 61 74 69 6f 6e 20 3d 3d 20 49 6e 76 61 6c 69 64 4f 69 64 29 29 3b 00 | ....(collation.==.InvalidOid));. |
bba0 | 09 09 09 09 20 20 20 28 63 6f 6c 6c 61 74 69 6f 6e 20 3d 3d 20 44 45 46 41 55 4c 54 5f 43 4f 4c | .......(collation.==.DEFAULT_COL |
bbc0 | 4c 41 54 49 4f 4e 5f 4f 49 44 29 20 3a 00 09 09 09 41 73 73 65 72 74 28 28 28 28 58 6d 6c 45 78 | LATION_OID).:....Assert((((XmlEx |
bbe0 | 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6f 70 20 3d 3d 20 49 53 5f 58 4d 4c 53 45 52 49 41 4c 49 | pr.*).expr)->op.==.IS_XMLSERIALI |
bc00 | 5a 45 29 20 3f 00 09 09 63 61 73 65 20 54 5f 58 6d 6c 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b | ZE).?...case.T_XmlExpr:....break |
bc20 | 3b 00 09 09 09 28 28 4d 69 6e 4d 61 78 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6d 69 6e 6d | ;....((MinMaxExpr.*).expr)->minm |
bc40 | 61 78 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 4d | axcollid.=.collation;...case.T_M |
bc60 | 69 6e 4d 61 78 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 43 6f 61 6c 65 73 | inMaxExpr:....break;....((Coales |
bc80 | 63 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 63 6f 61 6c 65 73 63 65 63 6f 6c 6c 69 64 20 | ceExpr.*).expr)->coalescecollid. |
bca0 | 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 61 6c 65 73 63 65 45 78 | =.collation;...case.T_CoalesceEx |
bcc0 | 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 41 73 73 65 72 74 28 21 4f 69 64 49 73 56 61 | pr:....break;....Assert(!OidIsVa |
bce0 | 6c 69 64 28 63 6f 6c 6c 61 74 69 6f 6e 29 29 3b 09 09 2f 2a 20 72 65 73 75 6c 74 20 69 73 20 61 | lid(collation));../*.result.is.a |
bd00 | 6c 77 61 79 73 20 62 6f 6f 6c 65 61 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 52 6f 77 43 6f 6d | lways.boolean.*/...case.T_RowCom |
bd20 | 70 61 72 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 41 73 73 65 72 74 28 21 4f | pareExpr:....break;....Assert(!O |
bd40 | 69 64 49 73 56 61 6c 69 64 28 63 6f 6c 6c 61 74 69 6f 6e 29 29 3b 09 09 2f 2a 20 72 65 73 75 6c | idIsValid(collation));../*.resul |
bd60 | 74 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 6f 73 69 74 65 20 2a 2f 00 09 09 63 61 73 65 20 | t.is.always.composite.*/...case. |
bd80 | 54 5f 52 6f 77 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 41 72 72 61 79 45 | T_RowExpr:....break;....((ArrayE |
bda0 | 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 72 61 79 5f 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c | xpr.*).expr)->array_collid.=.col |
bdc0 | 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 45 78 70 72 3a 00 09 09 09 62 | lation;...case.T_ArrayExpr:....b |
bde0 | 72 65 61 6b 3b 00 09 09 09 28 28 43 61 73 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 63 61 | reak;....((CaseExpr.*).expr)->ca |
be00 | 73 65 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 43 | secollid.=.collation;...case.T_C |
be20 | 61 73 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 41 73 73 65 72 74 28 21 4f 69 | aseExpr:....break;....Assert(!Oi |
be40 | 64 49 73 56 61 6c 69 64 28 63 6f 6c 6c 61 74 69 6f 6e 29 29 3b 09 09 2f 2a 20 72 65 73 75 6c 74 | dIsValid(collation));../*.result |
be60 | 20 69 73 20 61 6c 77 61 79 73 20 63 6f 6d 70 6f 73 69 74 65 20 2a 2f 00 09 09 63 61 73 65 20 54 | .is.always.composite.*/...case.T |
be80 | 5f 43 6f 6e 76 65 72 74 52 6f 77 74 79 70 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | _ConvertRowtypeExpr:....break;.. |
bea0 | 09 09 28 28 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 | ..((ArrayCoerceExpr.*).expr)->re |
bec0 | 73 75 6c 74 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 | sultcollid.=.collation;...case.T |
bee0 | 5f 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 | _ArrayCoerceExpr:....break;....( |
bf00 | 28 43 6f 65 72 63 65 56 69 61 49 4f 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 63 6f 6c | (CoerceViaIO.*).expr)->resultcol |
bf20 | 6c 69 64 20 3d 20 63 6f 6c 6c 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 63 65 | lid.=.collation;...case.T_Coerce |
bf40 | 56 69 61 49 4f 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 28 28 52 65 6c 61 62 65 6c 54 79 70 | ViaIO:....break;....((RelabelTyp |
bf60 | 65 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 73 75 6c 74 63 6f 6c 6c 69 64 20 3d 20 63 6f 6c 6c 61 | e.*).expr)->resultcollid.=.colla |
bf80 | 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 52 65 6c 61 62 65 6c 54 79 70 65 3a 00 09 09 09 62 | tion;...case.T_RelabelType:....b |
bfa0 | 72 65 61 6b 3b 00 09 09 09 41 73 73 65 72 74 28 21 4f 69 64 49 73 56 61 6c 69 64 28 63 6f 6c 6c | reak;....Assert(!OidIsValid(coll |
bfc0 | 61 74 69 6f 6e 29 29 3b 09 09 2f 2a 20 72 65 73 75 6c 74 20 69 73 20 61 6c 77 61 79 73 20 63 6f | ation));../*.result.is.always.co |
bfe0 | 6d 70 6f 73 69 74 65 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 46 69 65 6c 64 53 74 6f 72 65 3a 00 | mposite.*/...case.T_FieldStore:. |
c000 | 61 64 00 00 1b 00 00 00 ff 01 00 00 00 10 00 00 72 00 00 00 00 00 00 00 b2 0f 00 00 af 0f 00 00 | ad..............r............... |
c020 | 65 0f 00 00 1a 0f 00 00 d2 0e 00 00 8d 0e 00 00 8a 0e 00 00 3e 0e 00 00 f3 0d 00 00 a8 0d 00 00 | e...................>........... |
c040 | 61 0d 00 00 15 0d 00 00 c9 0c 00 00 80 0c 00 00 34 0c 00 00 0a 0c 00 00 06 0c 00 00 02 0c 00 00 | a...............4............... |
c060 | e3 0b 00 00 e1 0b 00 00 d5 0b 00 00 d4 0b 00 00 c1 0b 00 00 b4 0b 00 00 9c 0b 00 00 99 0b 00 00 | ................................ |
c080 | 86 0b 00 00 58 0b 00 00 4e 0b 00 00 40 0b 00 00 17 0b 00 00 0d 0b 00 00 fd 0a 00 00 d2 0a 00 00 | ....X...N...@................... |
c0a0 | c8 0a 00 00 b8 0a 00 00 8d 0a 00 00 83 0a 00 00 72 0a 00 00 3a 0a 00 00 0e 0a 00 00 04 0a 00 00 | ................r...:........... |
c0c0 | ed 09 00 00 bb 09 00 00 b1 09 00 00 9c 09 00 00 64 09 00 00 34 09 00 00 2a 09 00 00 17 09 00 00 | ................d...4...*....... |
c0e0 | eb 08 00 00 a7 08 00 00 9d 08 00 00 8a 08 00 00 85 08 00 00 50 08 00 00 4f 08 00 00 18 08 00 00 | ....................P...O....... |
c100 | f1 07 00 00 c2 07 00 00 bd 07 00 00 b3 07 00 00 9c 07 00 00 97 07 00 00 5d 07 00 00 5c 07 00 00 | ........................]...\... |
c120 | 2c 07 00 00 08 07 00 00 dd 06 00 00 d8 06 00 00 ce 06 00 00 bd 06 00 00 84 06 00 00 4c 06 00 00 | ,...........................L... |
c140 | 47 06 00 00 15 06 00 00 14 06 00 00 dd 05 00 00 b5 05 00 00 85 05 00 00 80 05 00 00 76 05 00 00 | G...........................v... |
c160 | 5a 05 00 00 55 05 00 00 0b 05 00 00 0a 05 00 00 d3 04 00 00 a9 04 00 00 77 04 00 00 72 04 00 00 | Z...U...................w...r... |
c180 | 68 04 00 00 55 04 00 00 50 04 00 00 1b 04 00 00 1a 04 00 00 13 04 00 00 d3 03 00 00 95 03 00 00 | h...U...P....................... |
c1a0 | 72 03 00 00 6a 03 00 00 43 03 00 00 14 03 00 00 0f 03 00 00 05 03 00 00 f3 02 00 00 ee 02 00 00 | r...j...C....................... |
c1c0 | b9 02 00 00 b8 02 00 00 79 02 00 00 42 02 00 00 24 02 00 00 1f 02 00 00 15 02 00 00 ff 01 00 00 | ........y...B...$............... |
c1e0 | fe 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 | ................................ |
c200 | 09 63 61 73 65 20 54 5f 46 69 65 6c 64 53 65 6c 65 63 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | .case.T_FieldSelect:....break;.. |
c220 | 09 09 7d 00 09 09 09 09 09 09 09 09 20 20 73 75 62 6c 69 6e 6b 2d 3e 6c 6f 63 61 74 69 6f 6e 29 | ..}...........sublink->location) |
c240 | 3b 00 09 09 09 09 6c 6f 63 20 3d 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 65 78 70 72 4c 6f 63 61 | ;.....loc.=.leftmostLoc(exprLoca |
c260 | 74 69 6f 6e 28 73 75 62 6c 69 6e 6b 2d 3e 74 65 73 74 65 78 70 72 29 2c 00 09 09 09 09 2f 2a 20 | tion(sublink->testexpr),...../*. |
c280 | 63 68 65 63 6b 20 74 68 65 20 74 65 73 74 65 78 70 72 2c 20 69 66 20 61 6e 79 2c 20 61 6e 64 20 | check.the.testexpr,.if.any,.and. |
c2a0 | 74 68 65 20 6f 70 65 72 61 74 6f 72 2f 6b 65 79 77 6f 72 64 20 2a 2f 00 00 09 09 09 09 63 6f 6e | the.operator/keyword.*/......con |
c2c0 | 73 74 20 53 75 62 4c 69 6e 6b 20 2a 73 75 62 6c 69 6e 6b 20 3d 20 28 63 6f 6e 73 74 20 53 75 62 | st.SubLink.*sublink.=.(const.Sub |
c2e0 | 4c 69 6e 6b 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 53 75 62 4c | Link.*).expr;....{...case.T_SubL |
c300 | 69 6e 6b 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 | ink:....break;....}...........ex |
c320 | 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 62 65 78 70 72 2d 3e 61 72 67 73 29 | prLocation((Node.*).bexpr->args) |
c340 | 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 62 65 78 70 72 2d 3e | );.....loc.=.leftmostLoc(bexpr-> |
c360 | 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 74 68 69 6e 67 73 20 | location,......*/......*.things. |
c380 | 6c 69 6b 65 20 49 53 20 4e 4f 54 20 42 45 54 57 45 45 4e 2e 00 09 09 09 09 20 2a 20 73 70 65 63 | like.IS.NOT.BETWEEN.......*.spec |
c3a0 | 69 61 6c 2d 63 61 73 65 20 4e 4f 54 20 62 65 63 61 75 73 65 20 6f 66 20 74 68 65 20 77 61 79 20 | ial-case.NOT.because.of.the.way. |
c3c0 | 74 68 61 74 20 69 74 27 73 20 75 73 65 64 20 66 6f 72 00 09 09 09 09 20 2a 20 53 61 6d 65 20 61 | that.it's.used.for......*.Same.a |
c3e0 | 73 20 61 62 6f 76 65 2c 20 74 6f 20 68 61 6e 64 6c 65 20 65 69 74 68 65 72 20 4e 4f 54 20 6f 72 | s.above,.to.handle.either.NOT.or |
c400 | 20 41 4e 44 2f 4f 52 2e 20 20 57 65 20 63 61 6e 27 74 00 09 09 09 09 2f 2a 00 00 09 09 09 09 63 | .AND/OR...We.can't...../*......c |
c420 | 6f 6e 73 74 20 42 6f 6f 6c 45 78 70 72 20 2a 62 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 42 6f | onst.BoolExpr.*bexpr.=.(const.Bo |
c440 | 6f 6c 45 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 42 6f | olExpr.*).expr;....{...case.T_Bo |
c460 | 6f 6c 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 09 09 09 20 | olExpr:....break;....}.......... |
c480 | 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 73 61 6f 70 65 78 70 72 2d | .exprLocation((Node.*).saopexpr- |
c4a0 | 3e 61 72 67 73 29 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 73 | >args));.....loc.=.leftmostLoc(s |
c4c0 | 61 6f 70 65 78 70 72 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 09 09 2f 2a 20 63 6f 6e 73 69 64 | aopexpr->location,...../*.consid |
c4e0 | 65 72 20 62 6f 74 68 20 6f 70 65 72 61 74 6f 72 20 6e 61 6d 65 20 61 6e 64 20 6c 65 66 74 6d 6f | er.both.operator.name.and.leftmo |
c500 | 73 74 20 61 72 67 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 20 53 63 61 6c 61 72 41 72 72 61 79 | st.arg.*/......const.ScalarArray |
c520 | 4f 70 45 78 70 72 20 2a 73 61 6f 70 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 53 63 61 6c 61 72 | OpExpr.*saopexpr.=.(const.Scalar |
c540 | 41 72 72 61 79 4f 70 45 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 | ArrayOpExpr.*).expr;....{...case |
c560 | 20 54 5f 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 | .T_ScalarArrayOpExpr:....break;. |
c580 | 09 09 09 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 | ...}...........exprLocation((Nod |
c5a0 | 65 20 2a 29 20 6f 70 65 78 70 72 2d 3e 61 72 67 73 29 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 6c | e.*).opexpr->args));.....loc.=.l |
c5c0 | 65 66 74 6d 6f 73 74 4c 6f 63 28 6f 70 65 78 70 72 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 09 | eftmostLoc(opexpr->location,.... |
c5e0 | 09 2f 2a 20 63 6f 6e 73 69 64 65 72 20 62 6f 74 68 20 6f 70 65 72 61 74 6f 72 20 6e 61 6d 65 20 | ./*.consider.both.operator.name. |
c600 | 61 6e 64 20 6c 65 66 74 6d 6f 73 74 20 61 72 67 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 20 4f | and.leftmost.arg.*/......const.O |
c620 | 70 45 78 70 72 20 2a 6f 70 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 4f 70 45 78 70 72 20 2a 29 | pExpr.*opexpr.=.(const.OpExpr.*) |
c640 | 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 4e 75 6c 6c 49 66 45 78 70 72 3a | .expr;....{...case.T_NullIfExpr: |
c660 | 09 09 2f 2a 20 73 74 72 75 63 74 2d 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 4f 70 45 78 70 72 | ../*.struct-equivalent.to.OpExpr |
c680 | 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 44 69 73 74 69 6e 63 74 45 78 70 72 3a 09 2f 2a 20 73 74 | .*/...case.T_DistinctExpr:./*.st |
c6a0 | 72 75 63 74 2d 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 4f 70 45 78 70 72 20 2a 2f 00 09 09 63 | ruct-equivalent.to.OpExpr.*/...c |
c6c0 | 61 73 65 20 54 5f 4f 70 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 | ase.T_OpExpr:....break;....}.... |
c6e0 | 09 09 09 09 09 20 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 6e 61 2d | .......exprLocation((Node.*).na- |
c700 | 3e 61 72 67 29 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 6e 61 | >arg));.....loc.=.leftmostLoc(na |
c720 | 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 09 09 2f 2a 20 63 6f 6e 73 69 64 65 72 20 62 6f 74 68 | ->location,...../*.consider.both |
c740 | 20 61 72 67 75 6d 65 6e 74 20 6e 61 6d 65 20 61 6e 64 20 76 61 6c 75 65 20 2a 2f 00 00 09 09 09 | .argument.name.and.value.*/..... |
c760 | 09 63 6f 6e 73 74 20 4e 61 6d 65 64 41 72 67 45 78 70 72 20 2a 6e 61 20 3d 20 28 63 6f 6e 73 74 | .const.NamedArgExpr.*na.=.(const |
c780 | 20 4e 61 6d 65 64 41 72 67 45 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 | .NamedArgExpr.*).expr;....{...ca |
c7a0 | 73 65 20 54 5f 4e 61 6d 65 64 41 72 67 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | se.T_NamedArgExpr:....break;.... |
c7c0 | 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a | }...........exprLocation((Node.* |
c7e0 | 29 20 66 65 78 70 72 2d 3e 61 72 67 73 29 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 6c 65 66 74 6d | ).fexpr->args));.....loc.=.leftm |
c800 | 6f 73 74 4c 6f 63 28 66 65 78 70 72 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 09 09 2f 2a 20 63 | ostLoc(fexpr->location,...../*.c |
c820 | 6f 6e 73 69 64 65 72 20 62 6f 74 68 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 61 6e 64 20 6c | onsider.both.function.name.and.l |
c840 | 65 66 74 6d 6f 73 74 20 61 72 67 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 20 46 75 6e 63 45 78 | eftmost.arg.*/......const.FuncEx |
c860 | 70 72 20 2a 66 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 46 75 6e 63 45 78 70 72 20 2a 29 20 65 | pr.*fexpr.=.(const.FuncExpr.*).e |
c880 | 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 46 75 6e 63 45 78 70 72 3a 00 09 09 09 | xpr;....{...case.T_FuncExpr:.... |
c8a0 | 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f | break;....loc.=.exprLocation((No |
c8c0 | 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 41 72 72 61 79 52 65 66 20 2a 29 20 65 78 70 72 29 2d | de.*).((const.ArrayRef.*).expr)- |
c8e0 | 3e 72 65 66 65 78 70 72 29 3b 00 09 09 09 2f 2a 20 6a 75 73 74 20 75 73 65 20 61 72 72 61 79 20 | >refexpr);..../*.just.use.array. |
c900 | 61 72 67 75 6d 65 6e 74 27 73 20 6c 6f 63 61 74 69 6f 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 5f | argument's.location.*/...case.T_ |
c920 | 41 72 72 61 79 52 65 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 | ArrayRef:....break;....loc.=.((c |
c940 | 6f 6e 73 74 20 57 69 6e 64 6f 77 46 75 6e 63 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 | onst.WindowFunc.*).expr)->locati |
c960 | 6f 6e 3b 00 09 09 09 2f 2a 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 73 68 6f 75 6c 64 20 61 | on;..../*.function.name.should.a |
c980 | 6c 77 61 79 73 20 62 65 20 74 68 65 20 66 69 72 73 74 20 74 68 69 6e 67 20 2a 2f 00 09 09 63 61 | lways.be.the.first.thing.*/...ca |
c9a0 | 73 65 20 54 5f 57 69 6e 64 6f 77 46 75 6e 63 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f | se.T_WindowFunc:....break;....lo |
c9c0 | 63 20 3d 20 28 28 63 6f 6e 73 74 20 47 72 6f 75 70 69 6e 67 46 75 6e 63 20 2a 29 20 65 78 70 72 | c.=.((const.GroupingFunc.*).expr |
c9e0 | 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 47 72 6f 75 70 69 6e 67 46 75 | )->location;...case.T_GroupingFu |
ca00 | 6e 63 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 41 | nc:....break;....loc.=.((const.A |
ca20 | 67 67 72 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 09 2f 2a 20 | ggref.*).expr)->location;..../*. |
ca40 | 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 74 | function.name.should.always.be.t |
ca60 | 68 65 20 66 69 72 73 74 20 74 68 69 6e 67 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 41 67 67 72 65 | he.first.thing.*/...case.T_Aggre |
ca80 | 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 50 61 | f:....break;....loc.=.((const.Pa |
caa0 | 72 61 6d 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 | ram.*).expr)->location;...case.T |
cac0 | 5f 50 61 72 61 6d 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e | _Param:....break;....loc.=.((con |
cae0 | 73 74 20 43 6f 6e 73 74 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 | st.Const.*).expr)->location;...c |
cb00 | 61 73 65 20 54 5f 43 6f 6e 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 | ase.T_Const:....break;....loc.=. |
cb20 | 28 28 63 6f 6e 73 74 20 56 61 72 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 | ((const.Var.*).expr)->location;. |
cb40 | 09 09 63 61 73 65 20 54 5f 56 61 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d | ..case.T_Var:....break;....loc.= |
cb60 | 20 28 28 63 6f 6e 73 74 20 52 61 6e 67 65 56 61 72 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 | .((const.RangeVar.*).expr)->loca |
cb80 | 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 52 61 6e 67 65 56 61 72 3a 00 09 7b 00 09 73 77 69 | tion;...case.T_RangeVar:..{..swi |
cba0 | 74 63 68 20 28 6e 6f 64 65 54 61 67 28 65 78 70 72 29 29 00 09 09 72 65 74 75 72 6e 20 2d 31 3b | tch.(nodeTag(expr))...return.-1; |
cbc0 | 00 09 69 66 20 28 65 78 70 72 20 3d 3d 20 4e 55 4c 4c 29 00 00 09 69 6e 74 09 09 09 6c 6f 63 3b | ..if.(expr.==.NULL)...int...loc; |
cbe0 | 00 7b 00 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 63 6f 6e 73 74 20 4e 6f 64 65 20 2a 65 78 70 72 | .{.exprLocation(const.Node.*expr |
cc00 | 29 00 69 6e 74 00 20 2a 2f 00 20 2a 20 6b 6e 6f 77 6e 20 61 6e 64 20 75 6e 6b 6e 6f 77 6e 20 6c | ).int..*/..*.known.and.unknown.l |
cc20 | 6f 63 61 74 69 6f 6e 73 20 69 6e 20 61 20 74 72 65 65 2e 00 20 2a 20 63 6f 65 72 63 69 6f 6e 73 | ocations.in.a.tree...*.coercions |
cc40 | 29 20 77 69 6c 6c 20 68 61 76 65 20 6c 6f 63 61 74 69 6f 6e 20 2d 31 2c 20 61 6e 64 20 73 6f 20 | ).will.have.location.-1,.and.so. |
cc60 | 77 65 20 63 61 6e 20 68 61 76 65 20 6f 64 64 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 73 20 6f 66 00 | we.can.have.odd.combinations.of. |
cc80 | 20 2a 20 69 6e 73 65 72 74 65 64 20 69 6d 70 6c 69 63 69 74 6c 79 20 62 79 20 70 61 72 73 65 20 | .*.inserted.implicitly.by.parse. |
cca0 | 61 6e 61 6c 79 73 69 73 20 28 73 75 63 68 20 61 73 20 46 75 6e 63 45 78 70 72 73 20 66 6f 72 20 | analysis.(such.as.FuncExprs.for. |
ccc0 | 69 6d 70 6c 69 63 69 74 00 20 2a 20 70 6f 69 6e 74 65 72 20 69 73 20 74 6f 20 74 68 65 20 72 69 | implicit..*.pointer.is.to.the.ri |
cce0 | 67 68 74 20 6f 66 20 69 74 73 20 6c 65 66 74 6d 6f 73 74 20 61 72 67 75 6d 65 6e 74 2e 20 20 41 | ght.of.its.leftmost.argument...A |
cd00 | 6c 73 6f 2c 20 6e 6f 64 65 73 20 74 68 61 74 20 77 65 72 65 00 20 2a 20 66 6f 72 20 69 6e 73 74 | lso,.nodes.that.were..*.for.inst |
cd20 | 61 6e 63 65 20 78 20 49 53 20 4e 4f 54 20 42 45 54 57 45 45 4e 20 2e 2e 2e 20 62 65 63 6f 6d 65 | ance.x.IS.NOT.BETWEEN.....become |
cd40 | 73 20 61 20 4e 4f 54 2d 65 78 70 72 65 73 73 69 6f 6e 20 77 68 6f 73 65 20 6b 65 79 77 6f 72 64 | s.a.NOT-expression.whose.keyword |
cd60 | 00 20 2a 20 73 6f 6d 65 74 69 6d 65 73 20 62 75 69 6c 64 73 20 65 78 70 72 65 73 73 69 6f 6e 73 | ..*.sometimes.builds.expressions |
cd80 | 20 74 68 61 74 20 61 72 65 6e 27 74 20 71 75 69 74 65 20 77 68 61 74 20 74 68 65 20 75 73 65 72 | .that.aren't.quite.what.the.user |
cda0 | 20 77 72 6f 74 65 3b 00 20 2a 20 74 6f 20 62 65 20 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 | .wrote;..*.to.be.to.the.left.of. |
cdc0 | 74 68 65 6d 3f 20 20 54 68 65 72 65 20 61 72 65 20 61 20 63 6f 75 70 6c 65 20 6f 66 20 72 65 61 | them?..There.are.a.couple.of.rea |
cde0 | 73 6f 6e 73 2e 20 20 54 68 65 20 67 72 61 6d 6d 61 72 00 20 2a 20 74 68 65 20 6f 70 65 72 61 6e | sons...The.grammar..*.the.operan |
ce00 | 64 73 20 6f 66 20 61 20 46 75 6e 63 45 78 70 72 20 6e 6f 64 65 2c 20 77 68 65 6e 20 74 68 65 20 | ds.of.a.FuncExpr.node,.when.the. |
ce20 | 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 63 61 6e 20 62 65 20 65 78 70 65 63 74 65 64 00 20 2a | function.name.can.be.expected..* |
ce40 | 20 59 6f 75 20 6d 69 67 68 74 20 74 68 69 6e 6b 20 74 68 61 74 20 74 68 69 73 20 63 6f 64 65 20 | .You.might.think.that.this.code. |
ce60 | 69 73 20 6f 76 65 72 6c 79 20 67 65 6e 65 72 61 6c 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 20 | is.overly.general,.for.instance. |
ce80 | 77 68 79 20 63 68 65 63 6b 00 20 2a 00 20 2a 20 42 75 74 20 69 74 20 73 68 6f 75 6c 64 20 62 65 | why.check..*..*.But.it.should.be |
cea0 | 20 70 6c 65 6e 74 79 20 67 6f 6f 64 20 65 6e 6f 75 67 68 20 66 6f 72 20 65 72 72 6f 72 20 72 65 | .plenty.good.enough.for.error.re |
cec0 | 70 6f 72 74 69 6e 67 20 70 75 72 70 6f 73 65 73 2e 00 20 2a 20 68 61 64 20 62 65 65 6e 20 77 72 | porting.purposes...*.had.been.wr |
cee0 | 69 74 74 65 6e 20 22 28 61 20 2b 20 62 29 20 2a 20 63 22 20 77 65 20 61 72 65 20 67 6f 69 6e 67 | itten."(a.+.b).*.c".we.are.going |
cf00 | 20 74 6f 20 70 6f 69 6e 74 20 61 74 20 22 61 22 20 6e 6f 74 20 22 28 22 2e 00 20 2a 20 65 78 70 | .to.point.at."a".not."("...*.exp |
cf20 | 6c 69 63 69 74 6c 79 20 72 65 70 72 65 73 65 6e 74 20 70 61 72 65 6e 74 68 65 73 65 73 20 69 6e | licitly.represent.parentheses.in |
cf40 | 20 74 68 65 20 70 61 72 73 65 74 72 65 65 2c 20 67 69 76 65 6e 20 73 6f 6d 65 74 68 69 6e 67 20 | .the.parsetree,.given.something. |
cf60 | 74 68 61 74 00 20 2a 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 70 65 72 66 | that..*.The.location.is.not.perf |
cf80 | 65 63 74 20 2d 2d 2d 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 73 69 6e 63 65 20 74 68 65 20 67 | ect.---.for.example,.since.the.g |
cfa0 | 72 61 6d 6d 61 72 20 64 6f 65 73 6e 27 74 00 20 2a 00 20 2a 20 74 68 61 74 20 6f 70 65 72 61 74 | rammar.doesn't..*..*.that.operat |
cfc0 | 6f 72 2c 20 61 6e 64 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 69 74 73 20 73 74 61 72 74 20 73 65 | or,.and.pointing.to.its.start.se |
cfe0 | 65 6d 73 20 74 6f 20 62 65 20 74 68 65 20 6d 6f 73 74 20 6e 61 74 75 72 61 6c 20 77 61 79 2e 00 | ems.to.be.the.most.natural.way.. |
d000 | 61 64 00 00 3f 00 00 00 47 02 00 00 00 10 00 00 7b 00 00 00 00 00 00 00 da 0f 00 00 97 0f 00 00 | ad..?...G.......{............... |
d020 | 8d 0f 00 00 78 0f 00 00 52 0f 00 00 10 0f 00 00 06 0f 00 00 f0 0e 00 00 eb 0e 00 00 b0 0e 00 00 | ....x...R....................... |
d040 | af 0e 00 00 97 0e 00 00 70 0e 00 00 42 0e 00 00 3d 0e 00 00 33 0e 00 00 1d 0e 00 00 18 0e 00 00 | ........p...B...=...3........... |
d060 | dd 0d 00 00 dc 0d 00 00 c4 0d 00 00 9d 0d 00 00 6f 0d 00 00 6a 0d 00 00 60 0d 00 00 46 0d 00 00 | ................o...j...`...F... |
d080 | 41 0d 00 00 fe 0c 00 00 fd 0c 00 00 e5 0c 00 00 be 0c 00 00 90 0c 00 00 8b 0c 00 00 81 0c 00 00 | A............................... |
d0a0 | 64 0c 00 00 5f 0c 00 00 16 0c 00 00 15 0c 00 00 fd 0b 00 00 d6 0b 00 00 a8 0b 00 00 a3 0b 00 00 | d..._........................... |
d0c0 | 99 0b 00 00 83 0b 00 00 5d 0b 00 00 1a 0b 00 00 10 0b 00 00 fd 0a 00 00 c6 0a 00 00 98 0a 00 00 | ........]....................... |
d0e0 | 8e 0a 00 00 7b 0a 00 00 44 0a 00 00 16 0a 00 00 0c 0a 00 00 f8 09 00 00 b5 09 00 00 86 09 00 00 | ....{...D....................... |
d100 | 7c 09 00 00 6a 09 00 00 29 09 00 00 fc 08 00 00 f2 08 00 00 d9 08 00 00 aa 08 00 00 62 08 00 00 | |...j...)...................b... |
d120 | 58 08 00 00 41 08 00 00 06 08 00 00 d4 07 00 00 ca 07 00 00 b5 07 00 00 74 07 00 00 44 07 00 00 | X...A...................t...D... |
d140 | 3a 07 00 00 28 07 00 00 23 07 00 00 f0 06 00 00 ef 06 00 00 b8 06 00 00 91 06 00 00 62 06 00 00 | :...(...#...................b... |
d160 | 5d 06 00 00 53 06 00 00 40 06 00 00 3b 06 00 00 06 06 00 00 05 06 00 00 ed 05 00 00 c6 05 00 00 | ]...S...@...;................... |
d180 | 98 05 00 00 93 05 00 00 89 05 00 00 73 05 00 00 6e 05 00 00 33 05 00 00 32 05 00 00 1a 05 00 00 | ............s...n...3...2....... |
d1a0 | f3 04 00 00 c5 04 00 00 c0 04 00 00 b6 04 00 00 9d 04 00 00 98 04 00 00 57 04 00 00 56 04 00 00 | ........................W...V... |
d1c0 | 3e 04 00 00 17 04 00 00 e9 03 00 00 e4 03 00 00 da 03 00 00 bc 03 00 00 83 03 00 00 79 03 00 00 | >...........................y... |
d1e0 | 62 03 00 00 30 03 00 00 26 03 00 00 10 03 00 00 ea 02 00 00 a6 02 00 00 9c 02 00 00 87 02 00 00 | b...0...&....................... |
d200 | 47 02 00 00 46 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | G...F........................... |
d220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
d240 | 00 00 00 00 00 00 00 09 09 09 2f 2a 20 75 73 65 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 64 20 52 | ........../*.use.the.contained.R |
d260 | 61 6e 67 65 56 61 72 27 73 20 6c 6f 63 61 74 69 6f 6e 20 2d 2d 2d 20 63 6c 6f 73 65 20 65 6e 6f | angeVar's.location.---.close.eno |
d280 | 75 67 68 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 49 6e 74 6f 43 6c 61 75 73 65 3a 00 09 09 09 62 | ugh.*/...case.T_IntoClause:....b |
d2a0 | 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 | reak;....loc.=.exprLocation((Nod |
d2c0 | 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 54 61 72 67 65 74 45 6e 74 72 79 20 2a 29 20 65 78 70 72 | e.*).((const.TargetEntry.*).expr |
d2e0 | 29 2d 3e 65 78 70 72 29 3b 00 09 09 09 2f 2a 20 6a 75 73 74 20 75 73 65 20 61 72 67 75 6d 65 6e | )->expr);..../*.just.use.argumen |
d300 | 74 27 73 20 6c 6f 63 61 74 69 6f 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 54 61 72 67 65 74 45 | t's.location.*/...case.T_TargetE |
d320 | 6e 74 72 79 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 | ntry:....break;....loc.=.((const |
d340 | 20 53 65 74 54 6f 44 65 66 61 75 6c 74 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e | .SetToDefault.*).expr)->location |
d360 | 3b 00 09 09 63 61 73 65 20 54 5f 53 65 74 54 6f 44 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 61 | ;...case.T_SetToDefault:....brea |
d380 | 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 43 6f 65 72 63 65 54 6f 44 6f 6d 61 | k;....loc.=.((const.CoerceToDoma |
d3a0 | 69 6e 56 61 6c 75 65 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 61 | inValue.*).expr)->location;...ca |
d3c0 | 73 65 20 54 5f 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 56 61 6c 75 65 3a 00 09 09 09 62 72 65 | se.T_CoerceToDomainValue:....bre |
d3e0 | 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 | ak;....}...........exprLocation( |
d400 | 28 4e 6f 64 65 20 2a 29 20 63 65 78 70 72 2d 3e 61 72 67 29 29 3b 00 09 09 09 09 6c 6f 63 20 3d | (Node.*).cexpr->arg));.....loc.= |
d420 | 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 63 65 78 70 72 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 | .leftmostLoc(cexpr->location,... |
d440 | 09 09 2f 2a 20 4d 75 63 68 20 61 73 20 61 62 6f 76 65 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 | ../*.Much.as.above.*/......const |
d460 | 20 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 20 2a 63 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 | .CoerceToDomain.*cexpr.=.(const. |
d480 | 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 | CoerceToDomain.*).expr;....{...c |
d4a0 | 61 73 65 20 54 5f 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 | ase.T_CoerceToDomain:....break;. |
d4c0 | 09 09 09 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 | ...}...........exprLocation((Nod |
d4e0 | 65 20 2a 29 20 62 65 78 70 72 2d 3e 61 72 67 29 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 6c 65 66 | e.*).bexpr->arg));.....loc.=.lef |
d500 | 74 6d 6f 73 74 4c 6f 63 28 62 65 78 70 72 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 09 09 2f 2a | tmostLoc(bexpr->location,...../* |
d520 | 20 4d 75 63 68 20 61 73 20 61 62 6f 76 65 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 20 42 6f 6f | .Much.as.above.*/......const.Boo |
d540 | 6c 65 61 6e 54 65 73 74 20 2a 62 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 42 6f 6f 6c 65 61 6e | leanTest.*bexpr.=.(const.Boolean |
d560 | 54 65 73 74 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 42 6f 6f 6c | Test.*).expr;....{...case.T_Bool |
d580 | 65 61 6e 54 65 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 09 09 09 | eanTest:....break;....}......... |
d5a0 | 20 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 6e 65 78 70 72 2d 3e 61 | ..exprLocation((Node.*).nexpr->a |
d5c0 | 72 67 29 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 6e 65 78 70 | rg));.....loc.=.leftmostLoc(nexp |
d5e0 | 72 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 09 09 2f 2a 20 4d 75 63 68 20 61 73 20 61 62 6f 76 | r->location,...../*.Much.as.abov |
d600 | 65 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 20 4e 75 6c 6c 54 65 73 74 20 2a 6e 65 78 70 72 20 | e.*/......const.NullTest.*nexpr. |
d620 | 3d 20 28 63 6f 6e 73 74 20 4e 75 6c 6c 54 65 73 74 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 | =.(const.NullTest.*).expr;....{. |
d640 | 09 09 63 61 73 65 20 54 5f 4e 75 6c 6c 54 65 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | ..case.T_NullTest:....break;.... |
d660 | 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a | }...........exprLocation((Node.* |
d680 | 29 20 78 65 78 70 72 2d 3e 61 72 67 73 29 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 6c 65 66 74 6d | ).xexpr->args));.....loc.=.leftm |
d6a0 | 6f 73 74 4c 6f 63 28 78 65 78 70 72 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 09 09 2f 2a 20 63 | ostLoc(xexpr->location,...../*.c |
d6c0 | 6f 6e 73 69 64 65 72 20 62 6f 74 68 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 61 6e 64 20 6c | onsider.both.function.name.and.l |
d6e0 | 65 66 74 6d 6f 73 74 20 61 72 67 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 20 58 6d 6c 45 78 70 | eftmost.arg.*/......const.XmlExp |
d700 | 72 20 2a 78 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 58 6d 6c 45 78 70 72 20 2a 29 20 65 78 70 | r.*xexpr.=.(const.XmlExpr.*).exp |
d720 | 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 58 6d 6c 45 78 70 72 3a 00 09 09 09 62 72 65 | r;....{...case.T_XmlExpr:....bre |
d740 | 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 4d 69 6e 4d 61 78 45 78 70 72 20 | ak;....loc.=.((const.MinMaxExpr. |
d760 | 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 09 2f 2a 20 47 52 45 41 54 45 | *).expr)->location;..../*.GREATE |
d780 | 53 54 2f 4c 45 41 53 54 20 6b 65 79 77 6f 72 64 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 | ST/LEAST.keyword.should.always.b |
d7a0 | 65 20 74 68 65 20 66 69 72 73 74 20 74 68 69 6e 67 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 4d 69 | e.the.first.thing.*/...case.T_Mi |
d7c0 | 6e 4d 61 78 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 | nMaxExpr:....break;....loc.=.((c |
d7e0 | 6f 6e 73 74 20 43 6f 61 6c 65 73 63 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 | onst.CoalesceExpr.*).expr)->loca |
d800 | 74 69 6f 6e 3b 00 09 09 09 2f 2a 20 43 4f 41 4c 45 53 43 45 20 6b 65 79 77 6f 72 64 20 73 68 6f | tion;..../*.COALESCE.keyword.sho |
d820 | 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 74 68 65 20 66 69 72 73 74 20 74 68 69 6e 67 20 2a 2f | uld.always.be.the.first.thing.*/ |
d840 | 00 09 09 63 61 73 65 20 54 5f 43 6f 61 6c 65 73 63 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b | ...case.T_CoalesceExpr:....break |
d860 | 3b 00 09 09 09 6c 6f 63 20 3d 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 | ;....loc.=.exprLocation((Node.*) |
d880 | 20 28 28 63 6f 6e 73 74 20 52 6f 77 43 6f 6d 70 61 72 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 | .((const.RowCompareExpr.*).expr) |
d8a0 | 2d 3e 6c 61 72 67 73 29 3b 00 09 09 09 2f 2a 20 6a 75 73 74 20 75 73 65 20 6c 65 66 74 6d 6f 73 | ->largs);..../*.just.use.leftmos |
d8c0 | 74 20 61 72 67 75 6d 65 6e 74 27 73 20 6c 6f 63 61 74 69 6f 6e 20 2a 2f 00 09 09 63 61 73 65 20 | t.argument's.location.*/...case. |
d8e0 | 54 5f 52 6f 77 43 6f 6d 70 61 72 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c | T_RowCompareExpr:....break;....l |
d900 | 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 52 6f 77 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6c | oc.=.((const.RowExpr.*).expr)->l |
d920 | 6f 63 61 74 69 6f 6e 3b 00 09 09 09 2f 2a 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 70 6f 69 6e | ocation;..../*.the.location.poin |
d940 | 74 73 20 61 74 20 52 4f 57 20 6f 72 20 28 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 6c 65 | ts.at.ROW.or.(,.which.must.be.le |
d960 | 66 74 6d 6f 73 74 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 52 6f 77 45 78 70 72 3a 00 09 09 09 62 | ftmost.*/...case.T_RowExpr:....b |
d980 | 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 41 72 72 61 79 45 78 70 72 | reak;....loc.=.((const.ArrayExpr |
d9a0 | 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 09 2f 2a 20 74 68 65 20 6c | .*).expr)->location;..../*.the.l |
d9c0 | 6f 63 61 74 69 6f 6e 20 70 6f 69 6e 74 73 20 61 74 20 41 52 52 41 59 20 6f 72 20 5b 2c 20 77 68 | ocation.points.at.ARRAY.or.[,.wh |
d9e0 | 69 63 68 20 6d 75 73 74 20 62 65 20 6c 65 66 74 6d 6f 73 74 20 2a 2f 00 09 09 63 61 73 65 20 54 | ich.must.be.leftmost.*/...case.T |
da00 | 5f 41 72 72 61 79 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 | _ArrayExpr:....break;....loc.=.( |
da20 | 28 63 6f 6e 73 74 20 43 61 73 65 57 68 65 6e 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 | (const.CaseWhen.*).expr)->locati |
da40 | 6f 6e 3b 00 09 09 09 2f 2a 20 57 48 45 4e 20 6b 65 79 77 6f 72 64 20 73 68 6f 75 6c 64 20 61 6c | on;..../*.WHEN.keyword.should.al |
da60 | 77 61 79 73 20 62 65 20 74 68 65 20 66 69 72 73 74 20 74 68 69 6e 67 20 2a 2f 00 09 09 63 61 73 | ways.be.the.first.thing.*/...cas |
da80 | 65 20 54 5f 43 61 73 65 57 68 65 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d | e.T_CaseWhen:....break;....loc.= |
daa0 | 20 28 28 63 6f 6e 73 74 20 43 61 73 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 | .((const.CaseExpr.*).expr)->loca |
dac0 | 74 69 6f 6e 3b 00 09 09 09 2f 2a 20 43 41 53 45 20 6b 65 79 77 6f 72 64 20 73 68 6f 75 6c 64 20 | tion;..../*.CASE.keyword.should. |
dae0 | 61 6c 77 61 79 73 20 62 65 20 74 68 65 20 66 69 72 73 74 20 74 68 69 6e 67 20 2a 2f 00 09 09 63 | always.be.the.first.thing.*/...c |
db00 | 61 73 65 20 54 5f 43 61 73 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 | ase.T_CaseExpr:....break;....loc |
db20 | 20 3d 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 | .=.exprLocation((Node.*).((const |
db40 | 20 43 6f 6c 6c 61 74 65 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 67 29 3b 00 09 09 09 | .CollateExpr.*).expr)->arg);.... |
db60 | 2f 2a 20 6a 75 73 74 20 75 73 65 20 61 72 67 75 6d 65 6e 74 27 73 20 6c 6f 63 61 74 69 6f 6e 20 | /*.just.use.argument's.location. |
db80 | 2a 2f 00 09 09 63 61 73 65 20 54 5f 43 6f 6c 6c 61 74 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 | */...case.T_CollateExpr:....brea |
dba0 | 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 | k;....}...........exprLocation(( |
dbc0 | 4e 6f 64 65 20 2a 29 20 63 65 78 70 72 2d 3e 61 72 67 29 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 | Node.*).cexpr->arg));.....loc.=. |
dbe0 | 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 63 65 78 70 72 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 09 | leftmostLoc(cexpr->location,.... |
dc00 | 09 2f 2a 20 4d 75 63 68 20 61 73 20 61 62 6f 76 65 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 20 | ./*.Much.as.above.*/......const. |
dc20 | 43 6f 6e 76 65 72 74 52 6f 77 74 79 70 65 45 78 70 72 20 2a 63 65 78 70 72 20 3d 20 28 63 6f 6e | ConvertRowtypeExpr.*cexpr.=.(con |
dc40 | 73 74 20 43 6f 6e 76 65 72 74 52 6f 77 74 79 70 65 45 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 | st.ConvertRowtypeExpr.*).expr;.. |
dc60 | 09 09 7b 00 09 09 63 61 73 65 20 54 5f 43 6f 6e 76 65 72 74 52 6f 77 74 79 70 65 45 78 70 72 3a | ..{...case.T_ConvertRowtypeExpr: |
dc80 | 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 4c 6f | ....break;....}...........exprLo |
dca0 | 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 63 65 78 70 72 2d 3e 61 72 67 29 29 3b 00 09 09 | cation((Node.*).cexpr->arg));... |
dcc0 | 09 09 6c 6f 63 20 3d 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 63 65 78 70 72 2d 3e 6c 6f 63 61 74 | ..loc.=.leftmostLoc(cexpr->locat |
dce0 | 69 6f 6e 2c 00 09 09 09 09 2f 2a 20 4d 75 63 68 20 61 73 20 61 62 6f 76 65 20 2a 2f 00 00 09 09 | ion,...../*.Much.as.above.*/.... |
dd00 | 09 09 63 6f 6e 73 74 20 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 20 2a 63 65 78 70 72 20 3d | ..const.ArrayCoerceExpr.*cexpr.= |
dd20 | 20 28 63 6f 6e 73 74 20 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 20 2a 29 20 65 78 70 72 3b | .(const.ArrayCoerceExpr.*).expr; |
dd40 | 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 3a 00 | ....{...case.T_ArrayCoerceExpr:. |
dd60 | 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 4c 6f 63 | ...break;....}...........exprLoc |
dd80 | 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 63 65 78 70 72 2d 3e 61 72 67 29 29 3b 00 09 09 09 | ation((Node.*).cexpr->arg));.... |
dda0 | 09 6c 6f 63 20 3d 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 63 65 78 70 72 2d 3e 6c 6f 63 61 74 69 | .loc.=.leftmostLoc(cexpr->locati |
ddc0 | 6f 6e 2c 00 09 09 09 09 2f 2a 20 4d 75 63 68 20 61 73 20 61 62 6f 76 65 20 2a 2f 00 00 09 09 09 | on,...../*.Much.as.above.*/..... |
dde0 | 09 63 6f 6e 73 74 20 43 6f 65 72 63 65 56 69 61 49 4f 20 2a 63 65 78 70 72 20 3d 20 28 63 6f 6e | .const.CoerceViaIO.*cexpr.=.(con |
de00 | 73 74 20 43 6f 65 72 63 65 56 69 61 49 4f 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 | st.CoerceViaIO.*).expr;....{...c |
de20 | 61 73 65 20 54 5f 43 6f 65 72 63 65 56 69 61 49 4f 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | ase.T_CoerceViaIO:....break;.... |
de40 | 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a | }...........exprLocation((Node.* |
de60 | 29 20 72 65 78 70 72 2d 3e 61 72 67 29 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 6c 65 66 74 6d 6f | ).rexpr->arg));.....loc.=.leftmo |
de80 | 73 74 4c 6f 63 28 72 65 78 70 72 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 09 09 2f 2a 20 4d 75 | stLoc(rexpr->location,...../*.Mu |
dea0 | 63 68 20 61 73 20 61 62 6f 76 65 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 74 20 52 65 6c 61 62 65 | ch.as.above.*/......const.Relabe |
dec0 | 6c 54 79 70 65 20 2a 72 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 52 65 6c 61 62 65 6c 54 79 70 | lType.*rexpr.=.(const.RelabelTyp |
dee0 | 65 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 52 65 6c 61 62 65 6c | e.*).expr;....{...case.T_Relabel |
df00 | 54 79 70 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 65 78 70 72 4c 6f 63 | Type:....break;....loc.=.exprLoc |
df20 | 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 46 69 65 6c 64 53 74 6f 72 | ation((Node.*).((const.FieldStor |
df40 | 65 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 67 29 3b 00 09 09 09 2f 2a 20 6a 75 73 74 20 75 73 65 | e.*).expr)->arg);..../*.just.use |
df60 | 20 61 72 67 75 6d 65 6e 74 27 73 20 6c 6f 63 61 74 69 6f 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 | .argument's.location.*/...case.T |
df80 | 5f 46 69 65 6c 64 53 74 6f 72 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 | _FieldStore:....break;....loc.=. |
dfa0 | 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 46 69 | exprLocation((Node.*).((const.Fi |
dfc0 | 65 6c 64 53 65 6c 65 63 74 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 67 29 3b 00 09 09 09 2f 2a 20 | eldSelect.*).expr)->arg);..../*. |
dfe0 | 6a 75 73 74 20 75 73 65 20 61 72 67 75 6d 65 6e 74 27 73 20 6c 6f 63 61 74 69 6f 6e 20 2a 2f 00 | just.use.argument's.location.*/. |
e000 | 61 64 00 00 3b 00 00 00 3b 02 00 00 00 10 00 00 79 00 00 00 00 00 00 00 be 0f 00 00 b4 0f 00 00 | ad..;...;.......y............... |
e020 | a5 0f 00 00 a0 0f 00 00 5d 0f 00 00 49 0f 00 00 48 0f 00 00 11 0f 00 00 ec 0e 00 00 e6 0e 00 00 | ........]...I...H............... |
e040 | b8 0e 00 00 a5 0e 00 00 98 0e 00 00 92 0e 00 00 8d 0e 00 00 83 0e 00 00 72 0e 00 00 6d 0e 00 00 | ........................r...m... |
e060 | 3c 0e 00 00 3b 0e 00 00 ff 0d 00 00 c0 0d 00 00 99 0d 00 00 72 0d 00 00 6d 0d 00 00 63 0d 00 00 | <...;...............r...m...c... |
e080 | 4f 0d 00 00 20 0d 00 00 16 0d 00 00 03 0d 00 00 d5 0c 00 00 cb 0c 00 00 b9 0c 00 00 8c 0c 00 00 | O............................... |
e0a0 | 82 0c 00 00 6f 0c 00 00 6a 0c 00 00 38 0c 00 00 37 0c 00 00 00 0c 00 00 be 0b 00 00 9a 0b 00 00 | ....o...j...8...7............... |
e0c0 | 6e 0b 00 00 69 0b 00 00 5f 0b 00 00 49 0b 00 00 06 0b 00 00 d5 0a 00 00 cb 0a 00 00 b7 0a 00 00 | n...i..._...I................... |
e0e0 | 78 0a 00 00 49 0a 00 00 3f 0a 00 00 26 0a 00 00 e6 09 00 00 dc 09 00 00 c9 09 00 00 c4 09 00 00 | x...I...?...&................... |
e100 | 92 09 00 00 91 09 00 00 8a 09 00 00 48 09 00 00 18 09 00 00 10 09 00 00 ef 08 00 00 bb 08 00 00 | ............H................... |
e120 | 91 08 00 00 8c 08 00 00 82 08 00 00 6a 08 00 00 44 08 00 00 08 08 00 00 fe 07 00 00 ed 07 00 00 | ............j...D............... |
e140 | ad 07 00 00 77 07 00 00 6d 07 00 00 59 07 00 00 2a 07 00 00 20 07 00 00 05 07 00 00 cf 06 00 00 | ....w...m...Y...*............... |
e160 | c5 06 00 00 b2 06 00 00 84 06 00 00 7a 06 00 00 66 06 00 00 37 06 00 00 2d 06 00 00 18 06 00 00 | ............z...f...7...-....... |
e180 | e8 05 00 00 de 05 00 00 c2 05 00 00 9c 05 00 00 4f 05 00 00 45 05 00 00 2e 05 00 00 ef 04 00 00 | ................O...E........... |
e1a0 | bd 04 00 00 b3 04 00 00 9d 04 00 00 6c 04 00 00 62 04 00 00 4d 04 00 00 1d 04 00 00 13 04 00 00 | ............l...b...M........... |
e1c0 | fd 03 00 00 cc 03 00 00 c2 03 00 00 a7 03 00 00 71 03 00 00 67 03 00 00 4d 03 00 00 18 03 00 00 | ................q...g...M....... |
e1e0 | 0e 03 00 00 f5 02 00 00 cf 02 00 00 86 02 00 00 7c 02 00 00 64 02 00 00 3b 02 00 00 3a 02 00 00 | ................|...d...;...:... |
e200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
e220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 09 09 2f 2a | ............................../* |
e240 | 20 6a 75 73 74 20 75 73 65 20 6e 65 73 74 65 64 20 65 78 70 72 27 73 20 6c 6f 63 61 74 69 6f 6e | .just.use.nested.expr's.location |
e260 | 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 3a 00 09 09 09 62 | .*/...case.T_InferenceElem:....b |
e280 | 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 | reak;....loc.=.exprLocation((Nod |
e2a0 | 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 50 6c 61 63 65 48 6f 6c 64 65 72 56 61 72 20 2a 29 20 65 | e.*).((const.PlaceHolderVar.*).e |
e2c0 | 78 70 72 29 2d 3e 70 68 65 78 70 72 29 3b 00 09 09 09 2f 2a 20 6a 75 73 74 20 75 73 65 20 61 72 | xpr)->phexpr);..../*.just.use.ar |
e2e0 | 67 75 6d 65 6e 74 27 73 20 6c 6f 63 61 74 69 6f 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 50 6c | gument's.location.*/...case.T_Pl |
e300 | 61 63 65 48 6f 6c 64 65 72 56 61 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d | aceHolderVar:....break;....loc.= |
e320 | 20 28 28 63 6f 6e 73 74 20 43 6f 6d 6d 6f 6e 54 61 62 6c 65 45 78 70 72 20 2a 29 20 65 78 70 72 | .((const.CommonTableExpr.*).expr |
e340 | 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 6d 6d 6f 6e 54 61 62 6c | )->location;...case.T_CommonTabl |
e360 | 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 | eExpr:....break;....loc.=.((cons |
e380 | 74 20 4f 6e 43 6f 6e 66 6c 69 63 74 43 6c 61 75 73 65 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 | t.OnConflictClause.*).expr)->loc |
e3a0 | 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 4f 6e 43 6f 6e 66 6c 69 63 74 43 6c 61 75 73 65 | ation;...case.T_OnConflictClause |
e3c0 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 49 6e 66 | :....break;....loc.=.((const.Inf |
e3e0 | 65 72 43 6c 61 75 73 65 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 | erClause.*).expr)->location;...c |
e400 | 61 73 65 20 54 5f 49 6e 66 65 72 43 6c 61 75 73 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | ase.T_InferClause:....break;.... |
e420 | 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 57 69 74 68 43 6c 61 75 73 65 20 2a 29 20 65 78 70 72 | loc.=.((const.WithClause.*).expr |
e440 | 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 57 69 74 68 43 6c 61 75 73 65 | )->location;...case.T_WithClause |
e460 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 47 72 6f | :....break;....loc.=.((const.Gro |
e480 | 75 70 69 6e 67 53 65 74 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 | upingSet.*).expr)->location;...c |
e4a0 | 61 73 65 20 54 5f 47 72 6f 75 70 69 6e 67 53 65 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | ase.T_GroupingSet:....break;.... |
e4c0 | 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 58 6d 6c 53 65 72 69 61 6c 69 7a 65 20 2a 29 20 65 78 | loc.=.((const.XmlSerialize.*).ex |
e4e0 | 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 09 2f 2a 20 58 4d 4c 53 45 52 49 41 4c 49 5a | pr)->location;..../*.XMLSERIALIZ |
e500 | 45 20 6b 65 79 77 6f 72 64 20 73 68 6f 75 6c 64 20 61 6c 77 61 79 73 20 62 65 20 74 68 65 20 66 | E.keyword.should.always.be.the.f |
e520 | 69 72 73 74 20 74 68 69 6e 67 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 58 6d 6c 53 65 72 69 61 6c | irst.thing.*/...case.T_XmlSerial |
e540 | 69 7a 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 65 78 70 72 4c 6f 63 61 | ize:....break;....loc.=.exprLoca |
e560 | 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 20 46 75 6e 63 74 69 6f 6e 50 61 | tion((Node.*).((const.FunctionPa |
e580 | 72 61 6d 65 74 65 72 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 67 54 79 70 65 29 3b 00 09 09 09 2f | rameter.*).expr)->argType);..../ |
e5a0 | 2a 20 6a 75 73 74 20 75 73 65 20 74 79 70 65 6e 61 6d 65 27 73 20 6c 6f 63 61 74 69 6f 6e 20 2a | *.just.use.typename's.location.* |
e5c0 | 2f 00 09 09 63 61 73 65 20 54 5f 46 75 6e 63 74 69 6f 6e 50 61 72 61 6d 65 74 65 72 3a 00 09 09 | /...case.T_FunctionParameter:... |
e5e0 | 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 43 6f 6e 73 74 72 61 | .break;....loc.=.((const.Constra |
e600 | 69 6e 74 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 | int.*).expr)->location;...case.T |
e620 | 5f 43 6f 6e 73 74 72 61 69 6e 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 | _Constraint:....break;....loc.=. |
e640 | 28 28 63 6f 6e 73 74 20 43 6f 6c 75 6d 6e 44 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 | ((const.ColumnDef.*).expr)->loca |
e660 | 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 6c 75 6d 6e 44 65 66 3a 00 09 09 09 62 72 65 | tion;...case.T_ColumnDef:....bre |
e680 | 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 54 79 70 65 4e 61 6d 65 20 2a 29 | ak;....loc.=.((const.TypeName.*) |
e6a0 | 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 54 79 70 65 4e | .expr)->location;...case.T_TypeN |
e6c0 | 61 6d 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 | ame:....break;....loc.=.((const. |
e6e0 | 52 61 6e 67 65 54 61 62 6c 65 53 61 6d 70 6c 65 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 | RangeTableSample.*).expr)->locat |
e700 | 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 52 61 6e 67 65 54 61 62 6c 65 53 61 6d 70 6c 65 3a 00 | ion;...case.T_RangeTableSample:. |
e720 | 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 57 69 6e 64 6f | ...break;....loc.=.((const.Windo |
e740 | 77 44 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 | wDef.*).expr)->location;...case. |
e760 | 54 5f 57 69 6e 64 6f 77 44 65 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 | T_WindowDef:....break;....loc.=. |
e780 | 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 28 63 6f 6e 73 74 20 53 6f 72 74 42 79 20 2a 29 20 65 | exprLocation(((const.SortBy.*).e |
e7a0 | 78 70 72 29 2d 3e 6e 6f 64 65 29 3b 00 09 09 09 2f 2a 20 6a 75 73 74 20 75 73 65 20 61 72 67 75 | xpr)->node);..../*.just.use.argu |
e7c0 | 6d 65 6e 74 27 73 20 6c 6f 63 61 74 69 6f 6e 20 28 69 67 6e 6f 72 65 20 6f 70 65 72 61 74 6f 72 | ment's.location.(ignore.operator |
e7e0 | 2c 20 69 66 20 61 6e 79 29 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 53 6f 72 74 42 79 3a 00 09 09 | ,.if.any).*/...case.T_SortBy:... |
e800 | 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 28 | .break;....loc.=.exprLocation((( |
e820 | 63 6f 6e 73 74 20 43 6f 6c 6c 61 74 65 43 6c 61 75 73 65 20 2a 29 20 65 78 70 72 29 2d 3e 61 72 | const.CollateClause.*).expr)->ar |
e840 | 67 29 3b 00 09 09 09 2f 2a 20 6a 75 73 74 20 75 73 65 20 61 72 67 75 6d 65 6e 74 27 73 20 6c 6f | g);..../*.just.use.argument's.lo |
e860 | 63 61 74 69 6f 6e 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 43 6f 6c 6c 61 74 65 43 6c 61 75 73 65 | cation.*/...case.T_CollateClause |
e880 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 6c 6f 63 20 3d 20 6c 65 66 74 6d | :....break;....}.....loc.=.leftm |
e8a0 | 6f 73 74 4c 6f 63 28 6c 6f 63 2c 20 74 63 2d 3e 6c 6f 63 61 74 69 6f 6e 29 3b 00 09 09 09 09 6c | ostLoc(loc,.tc->location);.....l |
e8c0 | 6f 63 20 3d 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 6c 6f 63 2c 20 74 63 2d 3e 74 79 70 65 4e 61 | oc.=.leftmostLoc(loc,.tc->typeNa |
e8e0 | 6d 65 2d 3e 6c 6f 63 61 74 69 6f 6e 29 3b 00 09 09 09 09 6c 6f 63 20 3d 20 65 78 70 72 4c 6f 63 | me->location);.....loc.=.exprLoc |
e900 | 61 74 69 6f 6e 28 74 63 2d 3e 61 72 67 29 3b 00 09 09 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 61 | ation(tc->arg);......*/......*.a |
e920 | 6e 79 20 6f 66 20 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6d 69 67 68 74 20 62 65 20 6c 65 | ny.of.the.components.might.be.le |
e940 | 66 74 6d 6f 73 74 2e 00 09 09 09 09 20 2a 20 54 68 69 73 20 63 6f 75 6c 64 20 72 65 70 72 65 73 | ftmost.......*.This.could.repres |
e960 | 65 6e 74 20 43 41 53 54 28 29 2c 20 3a 3a 2c 20 6f 72 20 54 79 70 65 4e 61 6d 65 20 27 6c 69 74 | ent.CAST(),.::,.or.TypeName.'lit |
e980 | 65 72 61 6c 27 2c 20 73 6f 00 09 09 09 09 2f 2a 00 00 09 09 09 09 63 6f 6e 73 74 20 54 79 70 65 | eral',.so...../*......const.Type |
e9a0 | 43 61 73 74 20 2a 74 63 20 3d 20 28 63 6f 6e 73 74 20 54 79 70 65 43 61 73 74 20 2a 29 20 65 78 | Cast.*tc.=.(const.TypeCast.*).ex |
e9c0 | 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 54 79 70 65 43 61 73 74 3a 00 09 09 09 62 | pr;....{...case.T_TypeCast:....b |
e9e0 | 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 28 63 6f | reak;....loc.=.exprLocation(((co |
ea00 | 6e 73 74 20 4d 75 6c 74 69 41 73 73 69 67 6e 52 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 73 6f 75 | nst.MultiAssignRef.*).expr)->sou |
ea20 | 72 63 65 29 3b 00 09 09 63 61 73 65 20 54 5f 4d 75 6c 74 69 41 73 73 69 67 6e 52 65 66 3a 00 09 | rce);...case.T_MultiAssignRef:.. |
ea40 | 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 52 65 73 54 61 72 | ..break;....loc.=.((const.ResTar |
ea60 | 67 65 74 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 09 2f 2a 20 77 65 | get.*).expr)->location;..../*.we |
ea80 | 20 6e 65 65 64 20 6e 6f 74 20 65 78 61 6d 69 6e 65 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 64 20 | .need.not.examine.the.contained. |
eaa0 | 65 78 70 72 65 73 73 69 6f 6e 20 28 69 66 20 61 6e 79 29 20 2a 2f 00 09 09 63 61 73 65 20 54 5f | expression.(if.any).*/...case.T_ |
eac0 | 52 65 73 54 61 72 67 65 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 | ResTarget:....break;....loc.=.(( |
eae0 | 63 6f 6e 73 74 20 41 5f 41 72 72 61 79 45 78 70 72 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 | const.A_ArrayExpr.*).expr)->loca |
eb00 | 74 69 6f 6e 3b 00 09 09 09 2f 2a 20 74 68 65 20 6c 6f 63 61 74 69 6f 6e 20 70 6f 69 6e 74 73 20 | tion;..../*.the.location.points. |
eb20 | 61 74 20 41 52 52 41 59 20 6f 72 20 5b 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 6c 65 66 | at.ARRAY.or.[,.which.must.be.lef |
eb40 | 74 6d 6f 73 74 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 41 5f 41 72 72 61 79 45 78 70 72 3a 00 09 | tmost.*/...case.T_A_ArrayExpr:.. |
eb60 | 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 4c 6f 63 61 | ..break;....}...........exprLoca |
eb80 | 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 66 63 2d 3e 61 72 67 73 29 29 3b 00 09 09 09 09 6c 6f | tion((Node.*).fc->args));.....lo |
eba0 | 63 20 3d 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 66 63 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 09 09 | c.=.leftmostLoc(fc->location,... |
ebc0 | 09 09 2f 2a 20 28 77 65 20 61 73 73 75 6d 65 20 61 6e 79 20 4f 52 44 45 52 20 42 59 20 6e 6f 64 | ../*.(we.assume.any.ORDER.BY.nod |
ebe0 | 65 73 20 6d 75 73 74 20 62 65 20 74 6f 20 72 69 67 68 74 20 6f 66 20 6e 61 6d 65 29 20 2a 2f 00 | es.must.be.to.right.of.name).*/. |
ec00 | 09 09 09 09 2f 2a 20 63 6f 6e 73 69 64 65 72 20 62 6f 74 68 20 66 75 6e 63 74 69 6f 6e 20 6e 61 | ..../*.consider.both.function.na |
ec20 | 6d 65 20 61 6e 64 20 6c 65 66 74 6d 6f 73 74 20 61 72 67 20 2a 2f 00 00 09 09 09 09 63 6f 6e 73 | me.and.leftmost.arg.*/......cons |
ec40 | 74 20 46 75 6e 63 43 61 6c 6c 20 2a 66 63 20 3d 20 28 63 6f 6e 73 74 20 46 75 6e 63 43 61 6c 6c | t.FuncCall.*fc.=.(const.FuncCall |
ec60 | 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 46 75 6e 63 43 61 6c 6c | .*).expr;....{...case.T_FuncCall |
ec80 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 41 5f 43 | :....break;....loc.=.((const.A_C |
eca0 | 6f 6e 73 74 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 | onst.*).expr)->location;...case. |
ecc0 | 54 5f 41 5f 43 6f 6e 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 20 3d 20 28 28 | T_A_Const:....break;....loc.=.(( |
ece0 | 63 6f 6e 73 74 20 50 61 72 61 6d 52 65 66 20 2a 29 20 65 78 70 72 29 2d 3e 6c 6f 63 61 74 69 6f | const.ParamRef.*).expr)->locatio |
ed00 | 6e 3b 00 09 09 63 61 73 65 20 54 5f 50 61 72 61 6d 52 65 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 | n;...case.T_ParamRef:....break;. |
ed20 | 09 09 09 6c 6f 63 20 3d 20 28 28 63 6f 6e 73 74 20 43 6f 6c 75 6d 6e 52 65 66 20 2a 29 20 65 78 | ...loc.=.((const.ColumnRef.*).ex |
ed40 | 70 72 29 2d 3e 6c 6f 63 61 74 69 6f 6e 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 6c 75 6d 6e 52 65 | pr)->location;...case.T_ColumnRe |
ed60 | 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 09 09 09 20 20 65 78 70 72 | f:....break;....}...........expr |
ed80 | 4c 6f 63 61 74 69 6f 6e 28 61 65 78 70 72 2d 3e 6c 65 78 70 72 29 29 3b 00 09 09 09 09 6c 6f 63 | Location(aexpr->lexpr));.....loc |
eda0 | 20 3d 20 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 61 65 78 70 72 2d 3e 6c 6f 63 61 74 69 6f 6e 2c 00 | .=.leftmostLoc(aexpr->location,. |
edc0 | 09 09 09 09 2f 2a 20 77 65 20 61 73 73 75 6d 65 20 72 69 67 68 74 20 6f 70 65 72 61 6e 64 20 63 | ..../*.we.assume.right.operand.c |
ede0 | 61 6e 27 74 20 62 65 20 74 6f 20 6c 65 66 74 20 6f 66 20 6f 70 65 72 61 74 6f 72 20 2a 2f 00 09 | an't.be.to.left.of.operator.*/.. |
ee00 | 09 09 09 2f 2a 20 75 73 65 20 6c 65 66 74 6d 6f 73 74 20 6f 66 20 6f 70 65 72 61 74 6f 72 20 6f | .../*.use.leftmost.of.operator.o |
ee20 | 72 20 6c 65 66 74 20 6f 70 65 72 61 6e 64 20 28 69 66 20 61 6e 79 29 20 2a 2f 00 00 09 09 09 09 | r.left.operand.(if.any).*/...... |
ee40 | 63 6f 6e 73 74 20 41 5f 45 78 70 72 20 2a 61 65 78 70 72 20 3d 20 28 63 6f 6e 73 74 20 41 5f 45 | const.A_Expr.*aexpr.=.(const.A_E |
ee60 | 78 70 72 20 2a 29 20 65 78 70 72 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 5f 45 78 70 | xpr.*).expr;....{...case.T_A_Exp |
ee80 | 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 7d 00 09 09 09 09 09 09 62 72 | r:....break;....}.....}.......br |
eea0 | 65 61 6b 3b 00 09 09 09 09 09 69 66 20 28 6c 6f 63 20 3e 3d 20 30 29 00 09 09 09 09 09 6c 6f 63 | eak;......if.(loc.>=.0)......loc |
eec0 | 20 3d 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 6c 66 69 72 73 74 28 | .=.exprLocation((Node.*).lfirst( |
eee0 | 6c 63 29 29 3b 00 09 09 09 09 7b 00 09 09 09 09 66 6f 72 65 61 63 68 28 6c 63 2c 20 28 63 6f 6e | lc));.....{.....foreach(lc,.(con |
ef00 | 73 74 20 4c 69 73 74 20 2a 29 20 65 78 70 72 29 00 09 09 09 09 6c 6f 63 20 3d 20 2d 31 3b 09 09 | st.List.*).expr).....loc.=.-1;.. |
ef20 | 2f 2a 20 6a 75 73 74 20 74 6f 20 73 75 70 70 72 65 73 73 20 63 6f 6d 70 69 6c 65 72 20 77 61 72 | /*.just.to.suppress.compiler.war |
ef40 | 6e 69 6e 67 20 2a 2f 00 00 09 09 09 09 4c 69 73 74 43 65 6c 6c 20 20 20 2a 6c 63 3b 00 09 09 09 | ning.*/......ListCell...*lc;.... |
ef60 | 09 2f 2a 20 72 65 70 6f 72 74 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 66 69 72 73 74 20 6c 69 73 | ./*.report.location.of.first.lis |
ef80 | 74 20 6d 65 6d 62 65 72 20 74 68 61 74 20 68 61 73 20 61 20 6c 6f 63 61 74 69 6f 6e 20 2a 2f 00 | t.member.that.has.a.location.*/. |
efa0 | 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 4c 69 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 | ...{...case.T_List:....break;... |
efc0 | 09 6c 6f 63 20 3d 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 | .loc.=.exprLocation((Node.*).((c |
efe0 | 6f 6e 73 74 20 49 6e 74 6f 43 6c 61 75 73 65 20 2a 29 20 65 78 70 72 29 2d 3e 72 65 6c 29 3b 00 | onst.IntoClause.*).expr)->rel);. |
f000 | 61 64 00 00 20 00 00 00 ac 01 00 00 00 10 00 00 5c 00 00 00 00 00 00 00 ba 0f 00 00 b0 0f 00 00 | ad..............\............... |
f020 | a5 0f 00 00 6f 0f 00 00 62 0f 00 00 58 0f 00 00 55 0f 00 00 48 0f 00 00 46 0f 00 00 45 0f 00 00 | ....o...b...X...U...H...F...E... |
f040 | 42 0f 00 00 18 0f 00 00 15 0f 00 00 cf 0e 00 00 cb 0e 00 00 c0 0e 00 00 a0 0e 00 00 9e 0e 00 00 | B............................... |
f060 | 8f 0e 00 00 80 0e 00 00 6c 0e 00 00 5d 0e 00 00 57 0e 00 00 3d 0e 00 00 3b 0e 00 00 3a 0e 00 00 | ........l...]...W...=...;...:... |
f080 | 39 0e 00 00 36 0e 00 00 0a 0e 00 00 07 0e 00 00 c0 0d 00 00 78 0d 00 00 2f 0d 00 00 e6 0c 00 00 | 9...6...............x.../....... |
f0a0 | 9d 0c 00 00 54 0c 00 00 07 0c 00 00 c2 0b 00 00 79 0b 00 00 75 0b 00 00 74 0b 00 00 71 0b 00 00 | ....T...........y...u...t...q... |
f0c0 | 27 0b 00 00 dd 0a 00 00 9a 0a 00 00 6f 0a 00 00 6c 0a 00 00 39 0a 00 00 34 0a 00 00 1e 0a 00 00 | '...........o...l...9...4....... |
f0e0 | 0b 0a 00 00 cd 09 00 00 b5 09 00 00 af 09 00 00 85 09 00 00 7f 09 00 00 62 09 00 00 5c 09 00 00 | ........................b...\... |
f100 | 2b 09 00 00 25 09 00 00 ef 08 00 00 a9 08 00 00 a4 08 00 00 a1 08 00 00 58 08 00 00 0e 08 00 00 | +...%...................X....... |
f120 | cd 07 00 00 7f 07 00 00 3a 07 00 00 eb 06 00 00 b7 06 00 00 b4 06 00 00 6a 06 00 00 1f 06 00 00 | ........:...............j....... |
f140 | d5 05 00 00 89 05 00 00 55 05 00 00 52 05 00 00 0c 05 00 00 c0 04 00 00 72 04 00 00 23 04 00 00 | ........U...R...........r...#... |
f160 | d8 03 00 00 8f 03 00 00 43 03 00 00 27 03 00 00 24 03 00 00 da 02 00 00 8c 02 00 00 3f 02 00 00 | ........C...'...$...........?... |
f180 | f3 01 00 00 ac 01 00 00 ab 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
f1a0 | 00 00 00 00 00 00 00 00 00 00 00 00 20 2a 20 61 6e 64 20 72 65 74 75 72 6e 73 20 22 66 61 6c 73 | .............*.and.returns."fals |
f1c0 | 65 22 2e 20 20 54 68 65 20 6e 65 74 20 65 66 66 65 63 74 20 69 73 20 74 68 61 74 20 75 6e 6c 65 | e"...The.net.effect.is.that.unle |
f1e0 | 73 73 20 74 68 65 20 77 61 6c 6b 65 72 20 64 6f 65 73 00 20 2a 20 65 78 70 72 65 73 73 69 6f 6e | ss.the.walker.does..*.expression |
f200 | 5f 74 72 65 65 5f 77 61 6c 6b 65 72 20 69 74 73 65 6c 66 20 69 73 20 63 61 6c 6c 65 64 20 6f 6e | _tree_walker.itself.is.called.on |
f220 | 20 61 20 51 75 65 72 79 20 6e 6f 64 65 2c 20 69 74 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 00 20 | .a.Query.node,.it.does.nothing.. |
f240 | 2a 20 70 6c 61 6e 29 2e 20 20 49 74 20 77 69 6c 6c 20 61 6c 73 6f 20 63 61 6c 6c 20 74 68 65 20 | *.plan)...It.will.also.call.the. |
f260 | 77 61 6c 6b 65 72 20 6f 6e 20 74 68 65 20 73 75 62 2d 51 75 65 72 79 20 6e 6f 64 65 3b 20 68 6f | walker.on.the.sub-Query.node;.ho |
f280 | 77 65 76 65 72 2c 20 77 68 65 6e 00 20 2a 20 69 6e 74 6f 20 74 68 65 20 22 74 65 73 74 65 78 70 | wever,.when..*.into.the."testexp |
f2a0 | 72 22 20 73 75 62 74 72 65 65 20 28 77 68 69 63 68 20 69 73 20 61 6e 20 65 78 70 72 65 73 73 69 | r".subtree.(which.is.an.expressi |
f2c0 | 6f 6e 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 74 68 65 20 6f 75 74 65 72 00 20 2a 20 65 78 70 | on.belonging.to.the.outer..*.exp |
f2e0 | 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 20 77 69 6c 6c 20 68 61 6e 64 6c 65 20 | ression_tree_walker.will.handle. |
f300 | 53 75 62 4c 69 6e 6b 20 6e 6f 64 65 73 20 62 79 20 72 65 63 75 72 73 69 6e 67 20 6e 6f 72 6d 61 | SubLink.nodes.by.recursing.norma |
f320 | 6c 6c 79 00 20 2a 00 20 2a 20 77 69 74 68 6f 75 74 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f 64 | lly..*..*.without.additional.cod |
f340 | 65 2e 00 20 2a 20 68 61 6e 64 6c 65 64 2c 20 73 6f 20 74 68 61 74 20 71 75 65 72 79 20 6a 6f 69 | e...*.handled,.so.that.query.joi |
f360 | 6e 74 72 65 65 73 20 61 6e 64 20 73 65 74 4f 70 65 72 61 74 69 6f 6e 20 74 72 65 65 73 20 63 61 | ntrees.and.setOperation.trees.ca |
f380 | 6e 20 62 65 20 70 72 6f 63 65 73 73 65 64 00 20 2a 20 41 6c 73 6f 2c 20 52 61 6e 67 65 54 62 6c | n.be.processed..*.Also,.RangeTbl |
f3a0 | 52 65 66 2c 20 46 72 6f 6d 45 78 70 72 2c 20 4a 6f 69 6e 45 78 70 72 2c 20 61 6e 64 20 53 65 74 | Ref,.FromExpr,.JoinExpr,.and.Set |
f3c0 | 4f 70 65 72 61 74 69 6f 6e 53 74 6d 74 20 6e 6f 64 65 73 20 61 72 65 00 20 2a 20 73 6f 20 74 68 | OperationStmt.nodes.are..*.so.th |
f3e0 | 61 74 20 61 20 73 63 61 6e 20 6f 66 20 61 20 74 61 72 67 65 74 20 6c 69 73 74 20 63 61 6e 20 62 | at.a.scan.of.a.target.list.can.b |
f400 | 65 20 68 61 6e 64 6c 65 64 20 77 69 74 68 6f 75 74 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f 64 | e.handled.without.additional.cod |
f420 | 65 2e 00 20 2a 20 77 69 6c 6c 20 68 61 76 65 20 4c 69 73 74 20 73 74 72 75 63 74 75 72 65 20 61 | e...*.will.have.List.structure.a |
f440 | 74 20 74 68 65 20 74 6f 70 20 6c 65 76 65 6c 2c 20 61 6e 64 20 69 74 20 68 61 6e 64 6c 65 73 20 | t.the.top.level,.and.it.handles. |
f460 | 54 61 72 67 65 74 45 6e 74 72 79 20 6e 6f 64 65 73 00 20 2a 20 73 74 61 67 65 2e 20 20 49 6e 20 | TargetEntry.nodes..*.stage...In. |
f480 | 70 61 72 74 69 63 75 6c 61 72 2c 20 69 74 20 68 61 6e 64 6c 65 73 20 4c 69 73 74 20 6e 6f 64 65 | particular,.it.handles.List.node |
f4a0 | 73 20 73 69 6e 63 65 20 61 20 63 6e 66 2d 69 66 69 65 64 20 71 75 61 6c 20 63 6c 61 75 73 65 00 | s.since.a.cnf-ified.qual.clause. |
f4c0 | 20 2a 20 6e 6f 72 6d 61 6c 6c 79 20 66 6f 75 6e 64 20 69 6e 20 74 61 72 67 65 74 20 6c 69 73 74 | .*.normally.found.in.target.list |
f4e0 | 73 20 61 6e 64 20 71 75 61 6c 69 66 69 65 72 20 63 6c 61 75 73 65 73 20 64 75 72 69 6e 67 20 74 | s.and.qualifier.clauses.during.t |
f500 | 68 65 20 70 6c 61 6e 6e 69 6e 67 00 20 2a 20 54 68 65 20 6e 6f 64 65 20 74 79 70 65 73 20 68 61 | he.planning..*.The.node.types.ha |
f520 | 6e 64 6c 65 64 20 62 79 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 20 | ndled.by.expression_tree_walker. |
f540 | 69 6e 63 6c 75 64 65 20 61 6c 6c 20 74 68 6f 73 65 00 20 2a 00 20 2a 20 69 66 66 20 6e 6f 20 69 | include.all.those..*..*.iff.no.i |
f560 | 6e 76 6f 63 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 61 6c 6b 65 72 20 72 65 74 75 72 6e 65 64 | nvocation.of.the.walker.returned |
f580 | 20 22 74 72 75 65 22 2e 00 20 2a 20 68 61 73 20 66 6f 75 6e 64 20 77 68 61 74 20 69 74 20 63 61 | ."true"...*.has.found.what.it.ca |
f5a0 | 6d 65 20 66 6f 72 2e 20 20 22 66 61 6c 73 65 22 20 69 73 20 72 65 74 75 72 6e 65 64 20 74 6f 20 | me.for..."false".is.returned.to. |
f5c0 | 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 63 61 6c 6c 65 72 00 20 2a 20 63 61 6c 6c 65 72 2e 20 | the.top-level.caller..*.caller.. |
f5e0 | 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 68 6f 72 74 2d 63 69 72 63 75 | .This.can.be.used.to.short-circu |
f600 | 69 74 20 74 68 65 20 74 72 61 76 65 72 73 61 6c 20 69 66 20 74 68 65 20 77 61 6c 6b 65 72 00 20 | it.the.traversal.if.the.walker.. |
f620 | 2a 20 22 74 72 75 65 22 20 74 6f 20 61 62 6f 72 74 20 74 68 65 20 77 61 6c 6b 20 61 6e 64 20 69 | *."true".to.abort.the.walk.and.i |
f640 | 6d 6d 65 64 69 61 74 65 6c 79 20 72 65 74 75 72 6e 20 22 74 72 75 65 22 20 74 6f 20 74 68 65 20 | mmediately.return."true".to.the. |
f660 | 74 6f 70 2d 6c 65 76 65 6c 00 20 2a 20 54 68 65 20 77 61 6c 6b 65 72 20 72 6f 75 74 69 6e 65 20 | top-level..*.The.walker.routine. |
f680 | 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 22 66 61 6c 73 65 22 20 74 6f 20 63 6f 6e 74 69 6e 75 | should.return."false".to.continu |
f6a0 | 65 20 74 68 65 20 74 72 65 65 20 77 61 6c 6b 2c 20 6f 72 00 20 2a 00 20 2a 20 6e 6f 64 65 20 6f | e.the.tree.walk,.or..*..*.node.o |
f6c0 | 66 20 74 68 65 20 74 72 65 65 2c 20 61 6e 64 20 74 68 65 6e 20 65 78 61 6d 69 6e 65 73 20 74 68 | f.the.tree,.and.then.examines.th |
f6e0 | 65 20 72 65 73 75 6c 74 73 2e 00 20 2a 20 66 69 6c 6c 73 20 69 6e 20 74 68 65 20 61 70 70 72 6f | e.results...*.fills.in.the.appro |
f700 | 70 72 69 61 74 65 20 63 6f 6e 74 65 78 74 20 73 74 72 75 63 74 2c 20 63 61 6c 6c 73 20 6d 79 5f | priate.context.struct,.calls.my_ |
f720 | 77 61 6c 6b 65 72 20 77 69 74 68 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 00 20 2a 20 6f 66 20 | walker.with.the.top-level..*.of. |
f740 | 6d 79 5f 77 61 6c 6b 65 72 2e 20 20 54 68 65 20 74 72 65 65 20 77 61 6c 6b 20 69 73 20 73 74 61 | my_walker...The.tree.walk.is.sta |
f760 | 72 74 65 64 20 66 72 6f 6d 20 61 20 73 65 74 75 70 20 72 6f 75 74 69 6e 65 20 74 68 61 74 00 20 | rted.from.a.setup.routine.that.. |
f780 | 2a 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 2c 20 62 75 74 20 69 74 | *.expression_tree_walker,.but.it |
f7a0 | 20 69 73 20 70 61 73 73 65 64 20 64 6f 77 6e 20 74 6f 20 72 65 63 75 72 73 69 76 65 20 73 75 62 | .is.passed.down.to.recursive.sub |
f7c0 | 2d 69 6e 76 6f 63 61 74 69 6f 6e 73 00 20 2a 20 67 61 74 68 65 72 65 64 20 62 79 20 74 68 65 20 | -invocations..*.gathered.by.the. |
f7e0 | 77 61 6c 6b 65 72 2c 20 74 6f 6f 2e 20 20 54 68 69 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e | walker,.too...This.argument.is.n |
f800 | 6f 74 20 74 6f 75 63 68 65 64 20 62 79 00 20 2a 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 65 | ot.touched.by..*.information.the |
f820 | 20 77 61 6c 6b 65 72 20 72 6f 75 74 69 6e 65 20 6e 65 65 64 73 20 2d 2d 2d 20 69 74 20 63 61 6e | .walker.routine.needs.---.it.can |
f840 | 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e 20 64 61 74 61 00 20 2a 20 54 68 65 20 22 | .be.used.to.return.data..*.The." |
f860 | 63 6f 6e 74 65 78 74 22 20 61 72 67 75 6d 65 6e 74 20 70 6f 69 6e 74 73 20 74 6f 20 61 20 73 74 | context".argument.points.to.a.st |
f880 | 72 75 63 74 20 74 68 61 74 20 68 6f 6c 64 73 20 77 68 61 74 65 76 65 72 20 63 6f 6e 74 65 78 74 | ruct.that.holds.whatever.context |
f8a0 | 00 20 2a 00 20 2a 20 7d 00 20 2a 09 09 72 65 74 75 72 6e 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 | ..*..*.}..*..return.expression_t |
f8c0 | 72 65 65 5f 77 61 6c 6b 65 72 28 6e 6f 64 65 2c 20 6d 79 5f 77 61 6c 6b 65 72 2c 20 28 76 6f 69 | ree_walker(node,.my_walker,.(voi |
f8e0 | 64 20 2a 29 20 63 6f 6e 74 65 78 74 29 3b 00 20 2a 09 09 2f 2f 20 66 6f 72 20 61 6e 79 20 6e 6f | d.*).context);..*..//.for.any.no |
f900 | 64 65 20 74 79 70 65 20 6e 6f 74 20 73 70 65 63 69 61 6c 6c 79 20 70 72 6f 63 65 73 73 65 64 2c | de.type.not.specially.processed, |
f920 | 20 64 6f 3a 00 20 2a 09 09 7d 00 20 2a 09 09 09 2e 2e 2e 20 64 6f 20 73 70 65 63 69 61 6c 20 61 | .do:..*..}..*.......do.special.a |
f940 | 63 74 69 6f 6e 73 20 66 6f 72 20 6f 74 68 65 72 20 6e 6f 64 65 20 74 79 70 65 73 00 20 2a 09 09 | ctions.for.other.node.types..*.. |
f960 | 7b 00 20 2a 09 09 65 6c 73 65 20 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 2e 2e 2e 29 29 00 20 | {..*..else.if.(IsA(node,....)).. |
f980 | 2a 09 09 7d 00 20 2a 09 09 09 2e 2e 2e 20 64 6f 20 73 70 65 63 69 61 6c 20 61 63 74 69 6f 6e 73 | *..}..*.......do.special.actions |
f9a0 | 20 66 6f 72 20 56 61 72 20 6e 6f 64 65 73 00 20 2a 09 09 7b 00 20 2a 09 09 69 66 20 28 49 73 41 | .for.Var.nodes..*..{..*..if.(IsA |
f9c0 | 28 6e 6f 64 65 2c 20 56 61 72 29 29 00 20 2a 09 09 2f 2f 20 63 68 65 63 6b 20 66 6f 72 20 6e 6f | (node,.Var))..*..//.check.for.no |
f9e0 | 64 65 73 20 74 68 61 74 20 73 70 65 63 69 61 6c 20 77 6f 72 6b 20 69 73 20 72 65 71 75 69 72 65 | des.that.special.work.is.require |
fa00 | 64 20 66 6f 72 2c 20 65 67 3a 00 20 2a 09 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 20 2a | d.for,.eg:..*...return.false;..* |
fa20 | 09 09 69 66 20 28 6e 6f 64 65 20 3d 3d 20 4e 55 4c 4c 29 00 20 2a 20 7b 00 20 2a 20 62 6f 6f 6c | ..if.(node.==.NULL)..*.{..*.bool |
fa40 | 20 6d 79 5f 77 61 6c 6b 65 72 20 28 4e 6f 64 65 20 2a 6e 6f 64 65 2c 20 6d 79 5f 73 74 72 75 63 | .my_walker.(Node.*node,.my_struc |
fa60 | 74 20 2a 63 6f 6e 74 65 78 74 29 00 20 2a 00 20 2a 20 41 20 77 61 6c 6b 65 72 20 72 6f 75 74 69 | t.*context)..*..*.A.walker.routi |
fa80 | 6e 65 20 73 68 6f 75 6c 64 20 6c 6f 6f 6b 20 6c 69 6b 65 20 74 68 69 73 3a 00 20 2a 20 74 68 61 | ne.should.look.like.this:..*.tha |
faa0 | 74 20 6d 6f 64 69 66 79 20 6e 6f 64 65 73 20 69 6e 2d 70 6c 61 63 65 20 62 75 74 20 6e 65 76 65 | t.modify.nodes.in-place.but.neve |
fac0 | 72 20 61 64 64 2f 64 65 6c 65 74 65 2f 72 65 70 6c 61 63 65 20 6e 6f 64 65 73 29 2e 00 20 2a 20 | r.add/delete/replace.nodes)...*. |
fae0 | 61 20 74 72 65 65 20 69 6e 20 61 20 72 65 61 64 2d 6f 6e 6c 79 20 66 61 73 68 69 6f 6e 20 28 61 | a.tree.in.a.read-only.fashion.(a |
fb00 | 6c 74 68 6f 75 67 68 20 69 74 20 77 69 6c 6c 20 61 6c 73 6f 20 77 6f 72 6b 20 66 6f 72 20 72 6f | lthough.it.will.also.work.for.ro |
fb20 | 75 74 69 6e 65 73 00 20 2a 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 | utines..*.expression_tree_walker |
fb40 | 28 29 20 69 73 20 64 65 73 69 67 6e 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 72 6f 75 74 69 6e | ().is.designed.to.support.routin |
fb60 | 65 73 20 74 68 61 74 20 74 72 61 76 65 72 73 65 00 2f 2a 00 00 20 2a 2f 00 20 2a 20 74 77 6f 20 | es.that.traverse./*...*/..*.two. |
fb80 | 76 65 72 73 69 6f 6e 73 3a 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 | versions:.expression_tree_walker |
fba0 | 28 29 20 61 6e 64 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 6d 75 74 61 74 6f 72 28 29 | ().and.expression_tree_mutator() |
fbc0 | 2e 00 20 2a 20 6c 6f 67 69 63 20 74 6f 20 63 6f 6e 73 6f 6c 69 64 61 74 65 20 74 68 65 20 72 65 | ...*.logic.to.consolidate.the.re |
fbe0 | 64 75 6e 64 61 6e 74 20 22 62 6f 69 6c 65 72 70 6c 61 74 65 22 20 63 6f 64 65 2e 20 20 54 68 65 | dundant."boilerplate".code...The |
fc00 | 72 65 20 61 72 65 00 20 2a 20 6e 6f 6e 2d 70 72 69 6d 69 74 69 76 65 20 6e 6f 64 65 20 74 79 70 | re.are..*.non-primitive.node.typ |
fc20 | 65 73 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20 77 65 20 6e 6f 77 20 70 72 6f 76 69 64 65 20 67 | es...Therefore,.we.now.provide.g |
fc40 | 65 6e 65 72 69 63 20 74 72 65 65 2d 77 61 6c 6b 69 6e 67 00 20 2a 20 63 61 72 65 20 61 62 6f 75 | eneric.tree-walking..*.care.abou |
fc60 | 74 20 6f 74 68 65 72 20 74 79 70 65 73 20 65 78 63 65 70 74 20 69 6e 73 6f 66 61 72 20 61 73 20 | t.other.types.except.insofar.as. |
fc80 | 74 68 65 79 20 68 61 76 65 20 74 6f 20 72 65 63 75 72 73 65 20 74 68 72 6f 75 67 68 00 20 2a 20 | they.have.to.recurse.through..*. |
fca0 | 74 68 65 73 65 20 72 6f 75 74 69 6e 65 73 20 6f 6e 6c 79 20 61 63 74 75 61 6c 6c 79 20 63 61 72 | these.routines.only.actually.car |
fcc0 | 65 20 61 62 6f 75 74 20 63 65 72 74 61 69 6e 20 6e 6f 64 65 20 74 79 70 65 73 2c 20 61 6e 64 20 | e.about.certain.node.types,.and. |
fce0 | 64 6f 6e 27 74 00 20 2a 20 72 6f 75 74 69 6e 65 20 6e 65 67 6c 65 63 74 69 6e 67 20 74 6f 20 73 | don't..*.routine.neglecting.to.s |
fd00 | 75 70 70 6f 72 74 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 6e 6f 64 65 20 74 79 70 65 2e 20 20 | upport.a.particular.node.type... |
fd20 | 49 6e 20 6d 6f 73 74 20 63 61 73 65 73 2c 00 20 2a 20 61 20 70 61 69 6e 20 74 6f 20 6d 61 69 6e | In.most.cases,..*.a.pain.to.main |
fd40 | 74 61 69 6e 2c 20 61 6e 64 20 77 65 20 66 72 65 71 75 65 6e 74 6c 79 20 68 61 64 20 62 75 67 73 | tain,.and.we.frequently.had.bugs |
fd60 | 20 64 75 65 20 74 6f 20 73 6f 6d 65 20 70 61 72 74 69 63 75 6c 61 72 00 20 2a 20 75 6e 64 65 72 | .due.to.some.particular..*.under |
fd80 | 73 74 6f 6f 64 20 68 6f 77 20 74 6f 20 72 65 63 75 72 73 65 20 74 68 72 6f 75 67 68 20 61 6e 20 | stood.how.to.recurse.through.an. |
fda0 | 65 78 70 72 65 73 73 69 6f 6e 20 6e 6f 64 65 20 74 72 65 65 2e 20 20 54 68 61 74 20 77 61 73 00 | expression.node.tree...That.was. |
fdc0 | 20 2a 20 57 65 20 75 73 65 64 20 74 6f 20 68 61 76 65 20 6e 65 61 72 2d 64 75 70 6c 69 63 61 74 | .*.We.used.to.have.near-duplicat |
fde0 | 65 20 63 6f 64 65 20 69 6e 20 6d 61 6e 79 20 64 69 66 66 65 72 65 6e 74 20 72 6f 75 74 69 6e 65 | e.code.in.many.different.routine |
fe00 | 73 20 74 68 61 74 00 20 2a 00 20 2a 20 53 74 61 6e 64 61 72 64 20 65 78 70 72 65 73 73 69 6f 6e | s.that..*..*.Standard.expression |
fe20 | 2d 74 72 65 65 20 77 61 6c 6b 69 6e 67 20 73 75 70 70 6f 72 74 00 2f 2a 00 00 00 7d 00 09 09 72 | -tree.walking.support./*...}...r |
fe40 | 65 74 75 72 6e 20 4d 69 6e 28 6c 6f 63 31 2c 20 6c 6f 63 32 29 3b 00 09 65 6c 73 65 00 09 09 72 | eturn.Min(loc1,.loc2);..else...r |
fe60 | 65 74 75 72 6e 20 6c 6f 63 31 3b 00 09 65 6c 73 65 20 69 66 20 28 6c 6f 63 32 20 3c 20 30 29 00 | eturn.loc1;..else.if.(loc2.<.0). |
fe80 | 09 09 72 65 74 75 72 6e 20 6c 6f 63 32 3b 00 09 69 66 20 28 6c 6f 63 31 20 3c 20 30 29 00 7b 00 | ..return.loc2;..if.(loc1.<.0).{. |
fea0 | 6c 65 66 74 6d 6f 73 74 4c 6f 63 28 69 6e 74 20 6c 6f 63 31 2c 20 69 6e 74 20 6c 6f 63 32 29 00 | leftmostLoc(int.loc1,.int.loc2). |
fec0 | 73 74 61 74 69 63 20 69 6e 74 00 20 2a 2f 00 20 2a 20 54 61 6b 65 20 74 68 65 20 6d 69 6e 69 6d | static.int..*/..*.Take.the.minim |
fee0 | 75 6d 20 6f 66 20 74 77 6f 20 70 61 72 73 65 20 6c 6f 63 61 74 69 6f 6e 20 76 61 6c 75 65 73 2c | um.of.two.parse.location.values, |
ff00 | 20 62 75 74 20 69 67 6e 6f 72 65 20 75 6e 6b 6e 6f 77 6e 73 00 20 2a 00 20 2a 20 6c 65 66 74 6d | .but.ignore.unknowns..*..*.leftm |
ff20 | 6f 73 74 4c 6f 63 20 2d 20 73 75 70 70 6f 72 74 20 66 6f 72 20 65 78 70 72 4c 6f 63 61 74 69 6f | ostLoc.-.support.for.exprLocatio |
ff40 | 6e 00 2f 2a 00 00 7d 00 09 72 65 74 75 72 6e 20 6c 6f 63 3b 00 09 7d 00 09 09 09 62 72 65 61 6b | n./*..}..return.loc;..}....break |
ff60 | 3b 00 09 09 09 6c 6f 63 20 3d 20 2d 31 3b 00 09 09 09 2f 2a 20 66 6f 72 20 61 6e 79 20 6f 74 68 | ;....loc.=.-1;..../*.for.any.oth |
ff80 | 65 72 20 6e 6f 64 65 20 74 79 70 65 20 69 74 27 73 20 6a 75 73 74 20 75 6e 6b 6e 6f 77 6e 2e 2e | er.node.type.it's.just.unknown.. |
ffa0 | 2e 20 2a 2f 00 09 09 64 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 6c 6f 63 | ..*/...default:....break;....loc |
ffc0 | 20 3d 20 65 78 70 72 4c 6f 63 61 74 69 6f 6e 28 28 4e 6f 64 65 20 2a 29 20 28 28 63 6f 6e 73 74 | .=.exprLocation((Node.*).((const |
ffe0 | 20 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 20 2a 29 20 65 78 70 72 29 2d 3e 65 78 70 72 29 3b 00 | .InferenceElem.*).expr)->expr);. |
10000 | 61 64 00 00 06 00 00 00 ee 01 00 00 00 10 00 00 73 00 00 00 00 00 00 00 b3 0f 00 00 65 0f 00 00 | ad..............s...........e... |
10020 | 16 0f 00 00 c9 0e 00 00 7c 0e 00 00 51 0e 00 00 4e 0e 00 00 34 0e 00 00 2e 0e 00 00 0c 0e 00 00 | ........|...Q...N...4........... |
10040 | c8 0d 00 00 9c 0d 00 00 7c 0d 00 00 68 0d 00 00 62 0d 00 00 5f 0d 00 00 16 0d 00 00 d4 0c 00 00 | ........|...h...b..._........... |
10060 | d1 0c 00 00 87 0c 00 00 38 0c 00 00 ea 0b 00 00 9c 0b 00 00 4f 0b 00 00 1e 0b 00 00 1a 0b 00 00 | ........8...........O........... |
10080 | 19 0b 00 00 14 0b 00 00 f1 0a 00 00 d6 0a 00 00 bf 0a 00 00 bd 0a 00 00 aa 0a 00 00 a9 0a 00 00 | ................................ |
100a0 | a5 0a 00 00 5c 0a 00 00 35 0a 00 00 31 0a 00 00 e8 09 00 00 a5 09 00 00 83 09 00 00 7e 09 00 00 | ....\...5...1...............~... |
100c0 | 6b 09 00 00 5b 09 00 00 5a 09 00 00 14 09 00 00 fe 08 00 00 fd 08 00 00 e5 08 00 00 e2 08 00 00 | k...[...Z....................... |
100e0 | d4 08 00 00 c4 08 00 00 b4 08 00 00 96 08 00 00 7f 08 00 00 68 08 00 00 50 08 00 00 3a 08 00 00 | ....................h...P...:... |
10100 | 20 08 00 00 e6 07 00 00 dc 07 00 00 c2 07 00 00 85 07 00 00 74 07 00 00 6f 07 00 00 48 07 00 00 | ....................t...o...H... |
10120 | 47 07 00 00 24 07 00 00 e7 06 00 00 c8 06 00 00 b6 06 00 00 82 06 00 00 63 06 00 00 51 06 00 00 | G...$...................c...Q... |
10140 | 19 06 00 00 fa 05 00 00 e8 05 00 00 ad 05 00 00 8e 05 00 00 7c 05 00 00 49 05 00 00 37 05 00 00 | ....................|...I...7... |
10160 | 32 05 00 00 28 05 00 00 11 05 00 00 0c 05 00 00 d8 04 00 00 d7 04 00 00 9f 04 00 00 80 04 00 00 | 2...(........................... |
10180 | 6e 04 00 00 69 04 00 00 5f 04 00 00 4a 04 00 00 45 04 00 00 19 04 00 00 18 04 00 00 f5 03 00 00 | n...i..._...J...E............... |
101a0 | c1 03 00 00 a2 03 00 00 90 03 00 00 5d 03 00 00 4b 03 00 00 46 03 00 00 3c 03 00 00 29 03 00 00 | ............]...K...F...<...)... |
101c0 | 24 03 00 00 fa 02 00 00 f9 02 00 00 bc 02 00 00 7d 02 00 00 5e 02 00 00 4c 02 00 00 0d 02 00 00 | $...............}...^...L....... |
101e0 | ee 01 00 00 ed 01 00 00 00 00 00 00 00 00 09 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 | ...........................walke |
10200 | 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 28 65 78 70 72 65 73 73 69 6f 6e 5f | r,.context)).....if.(expression_ |
10220 | 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 61 72 65 66 2d 3e 72 65 66 6c 6f | tree_walker((Node.*).aref->reflo |
10240 | 77 65 72 69 6e 64 65 78 70 72 2c 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 | werindexpr,......return.true;... |
10260 | 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 | ...........walker,.context)).... |
10280 | 09 69 66 20 28 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 | .if.(expression_tree_walker((Nod |
102a0 | 65 20 2a 29 20 61 72 65 66 2d 3e 72 65 66 75 70 70 65 72 69 6e 64 65 78 70 72 2c 00 09 09 09 09 | e.*).aref->refupperindexpr,..... |
102c0 | 2f 2a 20 72 65 63 75 72 73 65 20 64 69 72 65 63 74 6c 79 20 66 6f 72 20 75 70 70 65 72 2f 6c 6f | /*.recurse.directly.for.upper/lo |
102e0 | 77 65 72 20 61 72 72 61 79 20 69 6e 64 65 78 20 6c 69 73 74 73 20 2a 2f 00 00 09 09 09 09 41 72 | wer.array.index.lists.*/......Ar |
10300 | 72 61 79 52 65 66 20 20 20 2a 61 72 65 66 20 3d 20 28 41 72 72 61 79 52 65 66 20 2a 29 20 6e 6f | rayRef...*aref.=.(ArrayRef.*).no |
10320 | 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 52 65 66 3a 00 09 09 09 62 | de;....{...case.T_ArrayRef:....b |
10340 | 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 | reak;....}......return.true;.... |
10360 | 09 69 66 20 28 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 65 78 70 72 2d 3e 61 67 67 66 69 | .if.(walker((Node.*).expr->aggfi |
10380 | 6c 74 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 | lter,.context))......return.true |
103a0 | 3b 00 09 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 | ;..............walker,.context)) |
103c0 | 00 09 09 09 09 69 66 20 28 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 | .....if.(expression_tree_walker( |
103e0 | 28 4e 6f 64 65 20 2a 29 20 65 78 70 72 2d 3e 61 72 67 73 2c 00 09 09 09 09 2f 2a 20 72 65 63 75 | (Node.*).expr->args,...../*.recu |
10400 | 72 73 65 20 64 69 72 65 63 74 6c 79 20 6f 6e 20 4c 69 73 74 20 2a 2f 00 00 09 09 09 09 57 69 6e | rse.directly.on.List.*/......Win |
10420 | 64 6f 77 46 75 6e 63 20 2a 65 78 70 72 20 3d 20 28 57 69 6e 64 6f 77 46 75 6e 63 20 2a 29 20 6e | dowFunc.*expr.=.(WindowFunc.*).n |
10440 | 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 57 69 6e 64 6f 77 46 75 6e 63 3a 00 09 | ode;....{...case.T_WindowFunc:.. |
10460 | 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 | ..break;....}......return.true;. |
10480 | 09 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 | .............walker,.context)).. |
104a0 | 09 09 09 69 66 20 28 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e | ...if.(expression_tree_walker((N |
104c0 | 6f 64 65 20 2a 29 20 67 72 6f 75 70 69 6e 67 2d 3e 61 72 67 73 2c 00 00 09 09 09 09 47 72 6f 75 | ode.*).grouping->args,......Grou |
104e0 | 70 69 6e 67 46 75 6e 63 20 2a 67 72 6f 75 70 69 6e 67 20 3d 20 28 47 72 6f 75 70 69 6e 67 46 75 | pingFunc.*grouping.=.(GroupingFu |
10500 | 6e 63 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 47 72 6f 75 70 69 | nc.*).node;....{...case.T_Groupi |
10520 | 6e 67 46 75 6e 63 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 | ngFunc:....break;....}......retu |
10540 | 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 | rn.true;.....if.(walker((Node.*) |
10560 | 20 65 78 70 72 2d 3e 61 67 67 66 69 6c 74 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 | .expr->aggfilter,.context))..... |
10580 | 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 | .return.true;..............walke |
105a0 | 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 28 65 78 70 72 65 73 73 69 6f 6e 5f | r,.context)).....if.(expression_ |
105c0 | 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 65 78 70 72 2d 3e 61 67 67 64 69 | tree_walker((Node.*).expr->aggdi |
105e0 | 73 74 69 6e 63 74 2c 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 | stinct,......return.true;....... |
10600 | 09 09 09 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 | .......walker,.context)).....if. |
10620 | 28 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 | (expression_tree_walker((Node.*) |
10640 | 20 65 78 70 72 2d 3e 61 67 67 6f 72 64 65 72 2c 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 | .expr->aggorder,......return.tru |
10660 | 65 3b 00 09 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 | e;..............walker,.context) |
10680 | 29 00 09 09 09 09 69 66 20 28 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 | ).....if.(expression_tree_walker |
106a0 | 28 28 4e 6f 64 65 20 2a 29 20 65 78 70 72 2d 3e 61 72 67 73 2c 00 09 09 09 09 09 72 65 74 75 72 | ((Node.*).expr->args,......retur |
106c0 | 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e | n.true;..............walker,.con |
106e0 | 74 65 78 74 29 29 00 09 09 09 09 69 66 20 28 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 | text)).....if.(expression_tree_w |
10700 | 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 65 78 70 72 2d 3e 61 67 67 64 69 72 65 63 74 61 72 | alker((Node.*).expr->aggdirectar |
10720 | 67 73 2c 00 09 09 09 09 2f 2a 20 72 65 63 75 72 73 65 20 64 69 72 65 63 74 6c 79 20 6f 6e 20 4c | gs,...../*.recurse.directly.on.L |
10740 | 69 73 74 20 2a 2f 00 00 09 09 09 09 41 67 67 72 65 66 09 20 20 20 2a 65 78 70 72 20 3d 20 28 41 | ist.*/......Aggref....*expr.=.(A |
10760 | 67 67 72 65 66 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 67 67 | ggref.*).node;....{...case.T_Agg |
10780 | 72 65 66 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 57 69 74 68 43 68 65 63 | ref:....return.walker(((WithChec |
107a0 | 6b 4f 70 74 69 6f 6e 20 2a 29 20 6e 6f 64 65 29 2d 3e 71 75 61 6c 2c 20 63 6f 6e 74 65 78 74 29 | kOption.*).node)->qual,.context) |
107c0 | 3b 00 09 09 63 61 73 65 20 54 5f 57 69 74 68 43 68 65 63 6b 4f 70 74 69 6f 6e 3a 00 09 09 09 62 | ;...case.T_WithCheckOption:....b |
107e0 | 72 65 61 6b 3b 00 09 09 09 2f 2a 20 70 72 69 6d 69 74 69 76 65 20 6e 6f 64 65 20 74 79 70 65 73 | reak;..../*.primitive.node.types |
10800 | 20 77 69 74 68 20 6e 6f 20 65 78 70 72 65 73 73 69 6f 6e 20 73 75 62 6e 6f 64 65 73 20 2a 2f 00 | .with.no.expression.subnodes.*/. |
10820 | 09 09 63 61 73 65 20 54 5f 53 6f 72 74 47 72 6f 75 70 43 6c 61 75 73 65 3a 00 09 09 63 61 73 65 | ..case.T_SortGroupClause:...case |
10840 | 20 54 5f 52 61 6e 67 65 54 62 6c 52 65 66 3a 00 09 09 63 61 73 65 20 54 5f 43 75 72 72 65 6e 74 | .T_RangeTblRef:...case.T_Current |
10860 | 4f 66 45 78 70 72 3a 00 09 09 63 61 73 65 20 54 5f 53 65 74 54 6f 44 65 66 61 75 6c 74 3a 00 09 | OfExpr:...case.T_SetToDefault:.. |
10880 | 09 63 61 73 65 20 54 5f 43 61 73 65 54 65 73 74 45 78 70 72 3a 00 09 09 63 61 73 65 20 54 5f 43 | .case.T_CaseTestExpr:...case.T_C |
108a0 | 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 56 61 6c 75 65 3a 00 09 09 63 61 73 65 20 54 5f 50 61 72 | oerceToDomainValue:...case.T_Par |
108c0 | 61 6d 3a 00 09 09 63 61 73 65 20 54 5f 43 6f 6e 73 74 3a 00 09 09 63 61 73 65 20 54 5f 56 61 72 | am:...case.T_Const:...case.T_Var |
108e0 | 3a 00 09 7b 00 09 73 77 69 74 63 68 20 28 6e 6f 64 65 54 61 67 28 6e 6f 64 65 29 29 00 00 09 63 | :..{..switch.(nodeTag(node))...c |
10900 | 68 65 63 6b 5f 73 74 61 63 6b 5f 64 65 70 74 68 28 29 3b 00 09 2f 2a 20 47 75 61 72 64 20 61 67 | heck_stack_depth();../*.Guard.ag |
10920 | 61 69 6e 73 74 20 73 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 20 64 75 65 20 74 6f 20 6f 76 65 72 | ainst.stack.overflow.due.to.over |
10940 | 6c 79 20 63 6f 6d 70 6c 65 78 20 65 78 70 72 65 73 73 69 6f 6e 73 20 2a 2f 00 00 09 09 72 65 74 | ly.complex.expressions.*/....ret |
10960 | 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 6e 6f 64 65 20 3d 3d 20 4e 55 4c 4c 29 00 09 20 | urn.false;..if.(node.==.NULL)... |
10980 | 2a 2f 00 09 20 2a 20 62 6f 74 68 65 72 69 6e 67 20 74 6f 20 63 61 6c 6c 20 74 68 65 20 77 61 6c | */...*.bothering.to.call.the.wal |
109a0 | 6b 65 72 2e 00 09 20 2a 20 77 68 65 6e 20 77 65 20 65 78 70 65 63 74 20 61 20 4c 69 73 74 20 77 | ker....*.when.we.expect.a.List.w |
109c0 | 65 20 6a 75 73 74 20 72 65 63 75 72 73 65 20 64 69 72 65 63 74 6c 79 20 74 6f 20 73 65 6c 66 20 | e.just.recurse.directly.to.self. |
109e0 | 77 69 74 68 6f 75 74 00 09 20 2a 20 57 65 20 61 73 73 75 6d 65 20 74 68 61 74 20 74 68 65 20 77 | without...*.We.assume.that.the.w |
10a00 | 61 6c 6b 65 72 20 69 73 20 6e 6f 74 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 4c 69 73 74 20 | alker.is.not.interested.in.List. |
10a20 | 6e 6f 64 65 73 20 70 65 72 20 73 65 2c 20 73 6f 00 09 20 2a 00 09 20 2a 20 72 65 63 75 72 73 65 | nodes.per.se,.so...*...*.recurse |
10a40 | 20 69 6e 74 6f 20 61 6e 79 20 73 75 62 2d 6e 6f 64 65 73 20 69 74 20 68 61 73 2e 00 09 20 2a 20 | .into.any.sub-nodes.it.has....*. |
10a60 | 54 68 65 20 77 61 6c 6b 65 72 20 68 61 73 20 61 6c 72 65 61 64 79 20 76 69 73 69 74 65 64 20 74 | The.walker.has.already.visited.t |
10a80 | 68 65 20 63 75 72 72 65 6e 74 20 6e 6f 64 65 2c 20 61 6e 64 20 73 6f 20 77 65 20 6e 65 65 64 20 | he.current.node,.and.so.we.need. |
10aa0 | 6f 6e 6c 79 00 09 2f 2a 00 00 09 4c 69 73 74 43 65 6c 6c 20 20 20 2a 74 65 6d 70 3b 00 7b 00 09 | only../*...ListCell...*temp;.{.. |
10ac0 | 09 09 09 09 20 20 20 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 29 00 09 09 09 09 09 20 20 20 62 6f | .......void.*context).........bo |
10ae0 | 6f 6c 20 28 2a 77 61 6c 6b 65 72 29 20 28 29 2c 00 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 | ol.(*walker).(),.expression_tree |
10b00 | 5f 77 61 6c 6b 65 72 28 4e 6f 64 65 20 2a 6e 6f 64 65 2c 00 62 6f 6f 6c 00 00 20 2a 2f 00 20 2a | _walker(Node.*node,.bool...*/..* |
10b20 | 20 75 73 65 73 2c 20 62 75 74 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 62 65 20 72 65 76 69 73 69 | .uses,.but.may.need.to.be.revisi |
10b40 | 74 65 64 20 69 6e 20 66 75 74 75 72 65 2e 00 20 2a 20 73 75 62 73 65 6c 65 63 74 73 20 6f 66 20 | ted.in.future...*.subselects.of. |
10b60 | 61 6e 20 61 6c 72 65 61 64 79 2d 70 6c 61 6e 6e 65 64 20 65 78 70 72 65 73 73 69 6f 6e 20 74 72 | an.already-planned.expression.tr |
10b80 | 65 65 2e 20 20 54 68 69 73 20 69 73 20 4f 4b 20 66 6f 72 20 63 75 72 72 65 6e 74 00 20 2a 20 74 | ee...This.is.OK.for.current..*.t |
10ba0 | 68 65 72 65 20 69 73 20 6e 6f 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 | here.is.no.link.to.the.original. |
10bc0 | 51 75 65 72 79 2c 20 69 74 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 72 65 63 | Query,.it.is.not.possible.to.rec |
10be0 | 75 72 73 65 20 69 6e 74 6f 00 20 2a 20 74 68 65 20 6f 75 74 65 72 20 70 6c 61 6e 29 2e 20 20 49 | urse.into..*.the.outer.plan)...I |
10c00 | 74 20 77 69 6c 6c 20 6e 6f 74 20 74 6f 75 63 68 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 64 20 73 | t.will.not.touch.the.completed.s |
10c20 | 75 62 70 6c 61 6e 2c 20 68 6f 77 65 76 65 72 2e 20 20 53 69 6e 63 65 00 20 2a 20 69 6e 74 6f 20 | ubplan,.however...Since..*.into. |
10c40 | 74 68 65 20 22 74 65 73 74 65 78 70 72 22 20 61 6e 64 20 74 68 65 20 22 61 72 67 73 22 20 6c 69 | the."testexpr".and.the."args".li |
10c60 | 73 74 20 28 77 68 69 63 68 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 62 65 6c 6f 6e 67 | st.(which.are.expressions.belong |
10c80 | 69 6e 67 20 74 6f 00 20 2a 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 | ing.to..*.expression_tree_walker |
10ca0 | 20 77 69 6c 6c 20 68 61 6e 64 6c 65 20 53 75 62 50 6c 61 6e 20 6e 6f 64 65 73 20 62 79 20 72 65 | .will.handle.SubPlan.nodes.by.re |
10cc0 | 63 75 72 73 69 6e 67 20 6e 6f 72 6d 61 6c 6c 79 00 20 2a 00 20 2a 20 77 61 6c 6b 65 72 20 6f 6e | cursing.normally..*..*.walker.on |
10ce0 | 20 61 6c 6c 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 73 75 62 74 72 65 65 73 20 6f 66 20 | .all.the.expression.subtrees.of. |
10d00 | 74 68 65 20 67 69 76 65 6e 20 51 75 65 72 79 20 6e 6f 64 65 2e 00 20 2a 20 71 75 65 72 79 5f 74 | the.given.Query.node...*.query_t |
10d20 | 72 65 65 5f 77 61 6c 6b 65 72 20 69 73 20 61 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 72 6f 75 74 | ree_walker.is.a.convenience.rout |
10d40 | 69 6e 65 20 28 73 65 65 20 62 65 6c 6f 77 29 20 74 68 61 74 20 63 61 6c 6c 73 20 74 68 65 00 20 | ine.(see.below).that.calls.the.. |
10d60 | 2a 00 20 2a 09 09 7d 00 20 2a 09 09 09 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 00 20 2a 09 09 | *..*..}..*...return.result;..*.. |
10d80 | 09 72 65 73 74 6f 72 65 20 63 6f 6e 74 65 78 74 20 69 66 20 6e 65 65 64 65 64 3b 00 20 2a 09 09 | .restore.context.if.needed;..*.. |
10da0 | 09 09 09 09 09 09 09 20 20 20 30 29 3b 20 2f 2f 20 61 64 6a 75 73 74 20 66 6c 61 67 73 20 61 73 | ..........0);.//.adjust.flags.as |
10dc0 | 20 6e 65 65 64 65 64 00 20 2a 09 09 09 72 65 73 75 6c 74 20 3d 20 71 75 65 72 79 5f 74 72 65 65 | .needed..*...result.=.query_tree |
10de0 | 5f 77 61 6c 6b 65 72 28 28 51 75 65 72 79 20 2a 29 20 6e 6f 64 65 2c 20 6d 79 5f 77 61 6c 6b 65 | _walker((Query.*).node,.my_walke |
10e00 | 72 2c 20 63 6f 6e 74 65 78 74 2c 00 20 2a 09 09 09 61 64 6a 75 73 74 20 63 6f 6e 74 65 78 74 20 | r,.context,..*...adjust.context. |
10e20 | 66 6f 72 20 73 75 62 71 75 65 72 79 3b 00 20 2a 09 09 7b 00 20 2a 09 09 69 66 20 28 49 73 41 28 | for.subquery;..*..{..*..if.(IsA( |
10e40 | 6e 6f 64 65 2c 20 51 75 65 72 79 29 29 00 20 2a 00 20 2a 20 73 68 6f 75 6c 64 20 69 6e 63 6c 75 | node,.Query))..*..*.should.inclu |
10e60 | 64 65 20 63 6f 64 65 20 61 6c 6f 6e 67 20 74 68 65 20 6c 69 6e 65 73 20 6f 66 3a 00 20 2a 20 69 | de.code.along.the.lines.of:..*.i |
10e80 | 6e 63 72 65 6d 65 6e 74 69 6e 67 20 61 20 64 65 70 74 68 20 63 6f 75 6e 74 65 72 29 2e 20 41 20 | ncrementing.a.depth.counter)..A. |
10ea0 | 77 61 6c 6b 65 72 20 74 68 61 74 20 77 61 6e 74 73 20 74 6f 20 65 78 61 6d 69 6e 65 20 73 75 62 | walker.that.wants.to.examine.sub |
10ec0 | 2d 73 65 6c 65 63 74 73 00 20 2a 20 62 65 68 61 76 69 6f 72 20 69 73 20 74 79 70 69 63 61 6c 6c | -selects..*.behavior.is.typicall |
10ee0 | 79 20 6e 65 65 64 65 64 20 61 6e 79 77 61 79 20 61 74 20 74 68 65 20 65 6e 74 72 79 20 74 6f 20 | y.needed.anyway.at.the.entry.to. |
10f00 | 61 20 73 75 62 2d 73 65 6c 65 63 74 20 28 73 75 63 68 20 61 73 00 20 2a 20 2d 2d 2d 20 61 6e 64 | a.sub-select.(such.as..*.---.and |
10f20 | 20 66 6f 72 20 74 68 6f 73 65 20 77 61 6c 6b 65 72 73 20 74 68 61 74 20 64 6f 20 77 61 6e 74 20 | .for.those.walkers.that.do.want. |
10f40 | 74 6f 20 72 65 63 75 72 73 65 20 69 6e 74 6f 20 73 75 62 2d 73 65 6c 65 63 74 73 2c 20 73 70 65 | to.recurse.into.sub-selects,.spe |
10f60 | 63 69 61 6c 00 20 2a 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 74 72 65 65 20 77 61 6c 6b 2e | cial..*.an.expression.tree.walk. |
10f80 | 20 54 68 69 73 20 69 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 77 61 | .This.is.exactly.the.behavior.wa |
10fa0 | 6e 74 65 64 20 69 6e 20 6d 61 6e 79 20 63 61 73 65 73 00 20 2a 20 73 6f 6d 65 74 68 69 6e 67 20 | nted.in.many.cases..*.something. |
10fc0 | 73 70 65 63 69 61 6c 20 61 74 20 61 20 51 75 65 72 79 20 6e 6f 64 65 2c 20 73 75 62 2d 73 65 6c | special.at.a.Query.node,.sub-sel |
10fe0 | 65 63 74 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 76 69 73 69 74 65 64 20 64 75 72 69 6e 67 00 | ects.will.not.be.visited.during. |
11000 | 61 64 00 00 15 00 00 00 41 02 00 00 00 10 00 00 84 00 00 00 00 00 00 00 ee 0f 00 00 ae 0f 00 00 | ad......A....................... |
11020 | 86 0f 00 00 74 0f 00 00 47 0f 00 00 35 0f 00 00 30 0f 00 00 26 0f 00 00 13 0f 00 00 0e 0f 00 00 | ....t...G...5...0...&........... |
11040 | e4 0e 00 00 e3 0e 00 00 af 0e 00 00 90 0e 00 00 7e 0e 00 00 79 0e 00 00 6f 0e 00 00 58 0e 00 00 | ................~...y...o...X... |
11060 | 1f 0e 00 00 0e 0e 00 00 d5 0d 00 00 9d 0d 00 00 98 0d 00 00 71 0d 00 00 70 0d 00 00 3c 0d 00 00 | ....................q...p...<... |
11080 | 1d 0d 00 00 0b 0d 00 00 06 0d 00 00 fc 0c 00 00 e0 0c 00 00 db 0c 00 00 a1 0c 00 00 a0 0c 00 00 | ................................ |
110a0 | 6c 0c 00 00 4d 0c 00 00 3b 0c 00 00 36 0c 00 00 2c 0c 00 00 19 0c 00 00 14 0c 00 00 ea 0b 00 00 | l...M...;...6...,............... |
110c0 | e9 0b 00 00 b5 0b 00 00 96 0b 00 00 84 0b 00 00 7f 0b 00 00 75 0b 00 00 63 0b 00 00 5e 0b 00 00 | ....................u...c...^... |
110e0 | 32 0b 00 00 31 0b 00 00 05 0b 00 00 f3 0a 00 00 f2 0a 00 00 eb 0a 00 00 aa 0a 00 00 74 0a 00 00 | 2...1.......................t... |
11100 | 6c 0a 00 00 3c 0a 00 00 37 0a 00 00 2d 0a 00 00 1b 0a 00 00 16 0a 00 00 ea 09 00 00 e9 09 00 00 | l...<...7...-................... |
11120 | ae 09 00 00 82 09 00 00 70 09 00 00 4f 09 00 00 18 09 00 00 f9 08 00 00 e7 08 00 00 e2 08 00 00 | ........p...O................... |
11140 | d8 08 00 00 bb 08 00 00 77 08 00 00 61 08 00 00 29 08 00 00 14 08 00 00 0f 08 00 00 e1 07 00 00 | ........w...a...)............... |
11160 | e0 07 00 00 ba 07 00 00 a8 07 00 00 7e 07 00 00 6c 07 00 00 67 07 00 00 5d 07 00 00 47 07 00 00 | ............~...l...g...]...G... |
11180 | 0f 07 00 00 f9 06 00 00 c1 06 00 00 a7 06 00 00 6b 06 00 00 4e 06 00 00 0f 06 00 00 f9 05 00 00 | ................k...N........... |
111a0 | c1 05 00 00 ae 05 00 00 a9 05 00 00 7b 05 00 00 7a 05 00 00 52 05 00 00 40 05 00 00 00 05 00 00 | ............{...z...R...@....... |
111c0 | de 04 00 00 d8 04 00 00 a5 04 00 00 a4 04 00 00 82 04 00 00 5c 04 00 00 49 04 00 00 21 04 00 00 | ....................\...I...!... |
111e0 | 0e 04 00 00 08 04 00 00 da 03 00 00 c8 03 00 00 c3 03 00 00 b9 03 00 00 a5 03 00 00 6a 03 00 00 | ............................j... |
11200 | 58 03 00 00 2d 03 00 00 f8 02 00 00 df 02 00 00 da 02 00 00 a4 02 00 00 a3 02 00 00 7b 02 00 00 | X...-.......................{... |
11220 | 69 02 00 00 41 02 00 00 40 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | i...A...@....................... |
11240 | 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 72 63 65 78 70 72 2d 3e 72 61 72 67 73 2c 20 63 | .....if.(walker(rcexpr->rargs,.c |
11260 | 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 | ontext))......return.true;.....i |
11280 | 66 20 28 77 61 6c 6b 65 72 28 72 63 65 78 70 72 2d 3e 6c 61 72 67 73 2c 20 63 6f 6e 74 65 78 74 | f.(walker(rcexpr->largs,.context |
112a0 | 29 29 00 00 09 09 09 09 52 6f 77 43 6f 6d 70 61 72 65 45 78 70 72 20 2a 72 63 65 78 70 72 20 3d | ))......RowCompareExpr.*rcexpr.= |
112c0 | 20 28 52 6f 77 43 6f 6d 70 61 72 65 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 | .(RowCompareExpr.*).node;....{.. |
112e0 | 09 63 61 73 65 20 54 5f 52 6f 77 43 6f 6d 70 61 72 65 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 | .case.T_RowCompareExpr:....retur |
11300 | 6e 20 77 61 6c 6b 65 72 28 28 28 52 6f 77 45 78 70 72 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 | n.walker(((RowExpr.*).node)->arg |
11320 | 73 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 09 2f 2a 20 41 73 73 75 6d 65 20 63 6f 6c 6e 61 6d | s,.context);..../*.Assume.colnam |
11340 | 65 73 20 69 73 6e 27 74 20 69 6e 74 65 72 65 73 74 69 6e 67 20 2a 2f 00 09 09 63 61 73 65 20 54 | es.isn't.interesting.*/...case.T |
11360 | 5f 52 6f 77 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 41 72 72 | _RowExpr:....return.walker(((Arr |
11380 | 61 79 45 78 70 72 20 2a 29 20 6e 6f 64 65 29 2d 3e 65 6c 65 6d 65 6e 74 73 2c 20 63 6f 6e 74 65 | ayExpr.*).node)->elements,.conte |
113a0 | 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 45 78 70 72 3a 00 09 09 09 62 72 65 61 | xt);...case.T_ArrayExpr:....brea |
113c0 | 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 | k;....}......return.true;.....if |
113e0 | 20 28 77 61 6c 6b 65 72 28 63 61 73 65 65 78 70 72 2d 3e 64 65 66 72 65 73 75 6c 74 2c 20 63 6f | .(walker(caseexpr->defresult,.co |
11400 | 6e 74 65 78 74 29 29 00 09 09 09 09 7d 00 09 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b | ntext)).....}.......return.true; |
11420 | 00 09 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 77 68 65 6e 2d 3e 72 65 73 75 6c 74 2c 20 63 | ......if.(walker(when->result,.c |
11440 | 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 | ontext)).......return.true;..... |
11460 | 09 69 66 20 28 77 61 6c 6b 65 72 28 77 68 65 6e 2d 3e 65 78 70 72 2c 20 63 6f 6e 74 65 78 74 29 | .if.(walker(when->expr,.context) |
11480 | 29 00 09 09 09 09 09 41 73 73 65 72 74 28 49 73 41 28 77 68 65 6e 2c 20 43 61 73 65 57 68 65 6e | )......Assert(IsA(when,.CaseWhen |
114a0 | 29 29 3b 00 00 09 09 09 09 09 43 61 73 65 57 68 65 6e 20 20 20 2a 77 68 65 6e 20 3d 20 28 43 61 | ));.......CaseWhen...*when.=.(Ca |
114c0 | 73 65 57 68 65 6e 20 2a 29 20 6c 66 69 72 73 74 28 74 65 6d 70 29 3b 00 09 09 09 09 7b 00 09 09 | seWhen.*).lfirst(temp);.....{... |
114e0 | 09 09 66 6f 72 65 61 63 68 28 74 65 6d 70 2c 20 63 61 73 65 65 78 70 72 2d 3e 61 72 67 73 29 00 | ..foreach(temp,.caseexpr->args). |
11500 | 09 09 09 09 2f 2a 20 77 65 20 61 73 73 75 6d 65 20 77 61 6c 6b 65 72 20 64 6f 65 73 6e 27 74 20 | ..../*.we.assume.walker.doesn't. |
11520 | 63 61 72 65 20 61 62 6f 75 74 20 43 61 73 65 57 68 65 6e 73 2c 20 65 69 74 68 65 72 20 2a 2f 00 | care.about.CaseWhens,.either.*/. |
11540 | 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 | .....return.true;.....if.(walker |
11560 | 28 63 61 73 65 65 78 70 72 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 43 | (caseexpr->arg,.context))......C |
11580 | 61 73 65 45 78 70 72 20 20 20 2a 63 61 73 65 65 78 70 72 20 3d 20 28 43 61 73 65 45 78 70 72 20 | aseExpr...*caseexpr.=.(CaseExpr. |
115a0 | 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 43 61 73 65 45 78 70 72 3a | *).node;....{...case.T_CaseExpr: |
115c0 | 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 43 6f 6c 6c 61 74 65 45 78 70 72 20 | ....return.walker(((CollateExpr. |
115e0 | 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 | *).node)->arg,.context);...case. |
11600 | 54 5f 43 6f 6c 6c 61 74 65 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 | T_CollateExpr:....return.walker( |
11620 | 28 28 43 6f 6e 76 65 72 74 52 6f 77 74 79 70 65 45 78 70 72 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 | ((ConvertRowtypeExpr.*).node)->a |
11640 | 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 6e 76 65 72 74 52 6f | rg,.context);...case.T_ConvertRo |
11660 | 77 74 79 70 65 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 41 72 | wtypeExpr:....return.walker(((Ar |
11680 | 72 61 79 43 6f 65 72 63 65 45 78 70 72 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 2c 20 63 6f 6e | rayCoerceExpr.*).node)->arg,.con |
116a0 | 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 3a | text);...case.T_ArrayCoerceExpr: |
116c0 | 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 43 6f 65 72 63 65 56 69 61 49 4f 20 | ....return.walker(((CoerceViaIO. |
116e0 | 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 | *).node)->arg,.context);...case. |
11700 | 54 5f 43 6f 65 72 63 65 56 69 61 49 4f 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 | T_CoerceViaIO:....return.walker( |
11720 | 28 28 52 65 6c 61 62 65 6c 54 79 70 65 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 2c 20 63 6f 6e | ((RelabelType.*).node)->arg,.con |
11740 | 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 52 65 6c 61 62 65 6c 54 79 70 65 3a 00 09 09 09 | text);...case.T_RelabelType:.... |
11760 | 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 | break;....}......return.true;... |
11780 | 09 09 69 66 20 28 77 61 6c 6b 65 72 28 66 73 74 6f 72 65 2d 3e 6e 65 77 76 61 6c 73 2c 20 63 6f | ..if.(walker(fstore->newvals,.co |
117a0 | 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 | ntext))......return.true;.....if |
117c0 | 20 28 77 61 6c 6b 65 72 28 66 73 74 6f 72 65 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 29 00 | .(walker(fstore->arg,.context)). |
117e0 | 00 09 09 09 09 46 69 65 6c 64 53 74 6f 72 65 20 2a 66 73 74 6f 72 65 20 3d 20 28 46 69 65 6c 64 | .....FieldStore.*fstore.=.(Field |
11800 | 53 74 6f 72 65 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 46 69 65 | Store.*).node;....{...case.T_Fie |
11820 | 6c 64 53 74 6f 72 65 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 46 69 65 6c | ldStore:....return.walker(((Fiel |
11840 | 64 53 65 6c 65 63 74 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b | dSelect.*).node)->arg,.context); |
11860 | 00 09 09 63 61 73 65 20 54 5f 46 69 65 6c 64 53 65 6c 65 63 74 3a 00 09 09 09 72 65 74 75 72 6e | ...case.T_FieldSelect:....return |
11880 | 20 77 61 6c 6b 65 72 28 28 28 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 20 2a 29 20 | .walker(((AlternativeSubPlan.*). |
118a0 | 6e 6f 64 65 29 2d 3e 73 75 62 70 6c 61 6e 73 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 | node)->subplans,.context);...cas |
118c0 | 65 20 54 5f 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 3a 00 09 09 09 62 72 65 61 6b | e.T_AlternativeSubPlan:....break |
118e0 | 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 | ;....}......return.true;........ |
11900 | 09 09 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 28 | ......walker,.context)).....if.( |
11920 | 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 | expression_tree_walker((Node.*). |
11940 | 73 75 62 70 6c 61 6e 2d 3e 61 72 67 73 2c 00 09 09 09 09 2f 2a 20 61 6c 73 6f 20 65 78 61 6d 69 | subplan->args,...../*.also.exami |
11960 | 6e 65 20 61 72 67 73 20 6c 69 73 74 20 2a 2f 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 | ne.args.list.*/......return.true |
11980 | 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 75 62 70 6c 61 6e 2d 3e 74 65 73 74 65 78 | ;.....if.(walker(subplan->testex |
119a0 | 70 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 2f 2a 20 72 65 63 75 72 73 65 20 69 6e 74 | pr,.context))...../*.recurse.int |
119c0 | 6f 20 74 68 65 20 74 65 73 74 65 78 70 72 2c 20 62 75 74 20 6e 6f 74 20 69 6e 74 6f 20 74 68 65 | o.the.testexpr,.but.not.into.the |
119e0 | 20 50 6c 61 6e 20 2a 2f 00 00 09 09 09 09 53 75 62 50 6c 61 6e 20 20 20 20 2a 73 75 62 70 6c 61 | .Plan.*/......SubPlan....*subpla |
11a00 | 6e 20 3d 20 28 53 75 62 50 6c 61 6e 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 | n.=.(SubPlan.*).node;....{...cas |
11a20 | 65 20 54 5f 53 75 62 50 6c 61 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 | e.T_SubPlan:....break;....}..... |
11a40 | 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 73 75 62 6c 69 6e 6b 2d 3e 73 75 62 73 65 6c 65 63 74 | return.walker(sublink->subselect |
11a60 | 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 63 61 6e 20 72 | ,.context);......*/......*.can.r |
11a80 | 65 63 75 72 73 65 20 69 6e 74 6f 20 74 68 65 20 73 75 62 2d 71 75 65 72 79 20 69 66 20 69 74 20 | ecurse.into.the.sub-query.if.it. |
11aa0 | 77 61 6e 74 73 20 74 6f 2e 00 09 09 09 09 20 2a 20 41 6c 73 6f 20 69 6e 76 6f 6b 65 20 74 68 65 | wants.to.......*.Also.invoke.the |
11ac0 | 20 77 61 6c 6b 65 72 20 6f 6e 20 74 68 65 20 73 75 62 6c 69 6e 6b 27 73 20 51 75 65 72 79 20 6e | .walker.on.the.sublink's.Query.n |
11ae0 | 6f 64 65 2c 20 73 6f 20 69 74 00 09 09 09 09 2f 2a 00 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 | ode,.so.it...../*.......return.t |
11b00 | 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 75 62 6c 69 6e 6b 2d 3e 74 65 73 | rue;.....if.(walker(sublink->tes |
11b20 | 74 65 78 70 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 53 75 62 4c 69 6e 6b 20 20 20 | texpr,.context))......SubLink... |
11b40 | 20 2a 73 75 62 6c 69 6e 6b 20 3d 20 28 53 75 62 4c 69 6e 6b 20 2a 29 20 6e 6f 64 65 3b 00 09 09 | .*sublink.=.(SubLink.*).node;... |
11b60 | 09 7b 00 09 09 63 61 73 65 20 54 5f 53 75 62 4c 69 6e 6b 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | .{...case.T_SubLink:....break;.. |
11b80 | 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 09 09 | ..}......return.true;........... |
11ba0 | 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 28 65 78 70 | ...walker,.context)).....if.(exp |
11bc0 | 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 65 78 70 | ression_tree_walker((Node.*).exp |
11be0 | 72 2d 3e 61 72 67 73 2c 00 00 09 09 09 09 42 6f 6f 6c 45 78 70 72 20 20 20 2a 65 78 70 72 20 3d | r->args,......BoolExpr...*expr.= |
11c00 | 20 28 42 6f 6f 6c 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 | .(BoolExpr.*).node;....{...case. |
11c20 | 54 5f 42 6f 6f 6c 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 | T_BoolExpr:....break;....}...... |
11c40 | 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 72 | return.true;..............walker |
11c60 | 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 28 65 78 70 72 65 73 73 69 6f 6e 5f 74 | ,.context)).....if.(expression_t |
11c80 | 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 65 78 70 72 2d 3e 61 72 67 73 2c 00 | ree_walker((Node.*).expr->args,. |
11ca0 | 00 09 09 09 09 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 20 2a 65 78 70 72 20 3d 20 28 | .....ScalarArrayOpExpr.*expr.=.( |
11cc0 | 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 | ScalarArrayOpExpr.*).node;....{. |
11ce0 | 09 09 63 61 73 65 20 54 5f 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 3a 00 09 09 09 62 | ..case.T_ScalarArrayOpExpr:....b |
11d00 | 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 | reak;....}......return.true;.... |
11d20 | 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 | ..........walker,.context))..... |
11d40 | 69 66 20 28 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 65 | if.(expression_tree_walker((Node |
11d60 | 20 2a 29 20 65 78 70 72 2d 3e 61 72 67 73 2c 00 00 09 09 09 09 4f 70 45 78 70 72 09 20 20 20 2a | .*).expr->args,......OpExpr....* |
11d80 | 65 78 70 72 20 3d 20 28 4f 70 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 | expr.=.(OpExpr.*).node;....{...c |
11da0 | 61 73 65 20 54 5f 4e 75 6c 6c 49 66 45 78 70 72 3a 09 09 2f 2a 20 73 74 72 75 63 74 2d 65 71 75 | ase.T_NullIfExpr:../*.struct-equ |
11dc0 | 69 76 61 6c 65 6e 74 20 74 6f 20 4f 70 45 78 70 72 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 44 69 | ivalent.to.OpExpr.*/...case.T_Di |
11de0 | 73 74 69 6e 63 74 45 78 70 72 3a 09 2f 2a 20 73 74 72 75 63 74 2d 65 71 75 69 76 61 6c 65 6e 74 | stinctExpr:./*.struct-equivalent |
11e00 | 20 74 6f 20 4f 70 45 78 70 72 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 4f 70 45 78 70 72 3a 00 09 | .to.OpExpr.*/...case.T_OpExpr:.. |
11e20 | 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 4e 61 6d 65 64 41 72 67 45 78 70 72 20 2a | ..return.walker(((NamedArgExpr.* |
11e40 | 29 20 6e 6f 64 65 29 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 | ).node)->arg,.context);...case.T |
11e60 | 5f 4e 61 6d 65 64 41 72 67 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 | _NamedArgExpr:....break;....}... |
11e80 | 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c | ...return.true;..............wal |
11ea0 | 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 28 65 78 70 72 65 73 73 69 6f | ker,.context)).....if.(expressio |
11ec0 | 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 65 78 70 72 2d 3e 61 72 67 | n_tree_walker((Node.*).expr->arg |
11ee0 | 73 2c 00 00 09 09 09 09 46 75 6e 63 45 78 70 72 20 20 20 2a 65 78 70 72 20 3d 20 28 46 75 6e 63 | s,......FuncExpr...*expr.=.(Func |
11f00 | 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 46 75 6e 63 | Expr.*).node;....{...case.T_Func |
11f20 | 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e | Expr:....break;....}......return |
11f40 | 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 61 72 65 66 2d 3e 72 65 66 61 | .true;.....if.(walker(aref->refa |
11f60 | 73 73 67 6e 65 78 70 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 | ssgnexpr,.context))......return. |
11f80 | 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 61 72 65 66 2d 3e 72 65 66 65 78 | true;.....if.(walker(aref->refex |
11fa0 | 70 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 2f 2a 20 77 61 6c 6b 65 72 20 6d 75 73 74 | pr,.context))...../*.walker.must |
11fc0 | 20 73 65 65 20 74 68 65 20 72 65 66 65 78 70 72 20 61 6e 64 20 72 65 66 61 73 73 67 6e 65 78 70 | .see.the.refexpr.and.refassgnexp |
11fe0 | 72 2c 20 68 6f 77 65 76 65 72 20 2a 2f 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 | r,.however.*/......return.true;. |
12000 | 61 64 00 00 2c 00 00 00 68 02 00 00 00 10 00 00 88 00 00 00 00 00 00 00 ee 0f 00 00 e9 0f 00 00 | ad..,...h....................... |
12020 | df 0f 00 00 c8 0f 00 00 8e 0f 00 00 79 0f 00 00 41 0f 00 00 2f 0f 00 00 2a 0f 00 00 00 0f 00 00 | ............y...A.../...*....... |
12040 | ff 0e 00 00 d3 0e 00 00 c1 0e 00 00 89 0e 00 00 63 0e 00 00 51 0e 00 00 4c 0e 00 00 42 0e 00 00 | ................c...Q...L...B... |
12060 | 2f 0e 00 00 fa 0d 00 00 e4 0d 00 00 ac 0d 00 00 93 0d 00 00 58 0d 00 00 42 0d 00 00 09 0d 00 00 | /...................X...B....... |
12080 | f9 0c 00 00 be 0c 00 00 b4 0c 00 00 9d 0c 00 00 98 0c 00 00 6a 0c 00 00 69 0c 00 00 3b 0c 00 00 | ....................j...i...;... |
120a0 | 29 0c 00 00 ff 0b 00 00 ed 0b 00 00 c3 0b 00 00 b1 0b 00 00 89 0b 00 00 77 0b 00 00 72 0b 00 00 | ).......................w...r... |
120c0 | 68 0b 00 00 4e 0b 00 00 49 0b 00 00 14 0b 00 00 13 0b 00 00 0c 0b 00 00 d0 0a 00 00 9e 0a 00 00 | h...N...I....................... |
120e0 | 96 0a 00 00 6b 0a 00 00 66 0a 00 00 5c 0a 00 00 4d 0a 00 00 2d 0a 00 00 28 0a 00 00 f8 09 00 00 | ....k...f...\...M...-...(....... |
12100 | e6 09 00 00 e1 09 00 00 d7 09 00 00 c4 09 00 00 bf 09 00 00 95 09 00 00 94 09 00 00 6b 09 00 00 | ............................k... |
12120 | 59 09 00 00 33 09 00 00 21 09 00 00 1c 09 00 00 12 09 00 00 f9 08 00 00 f4 08 00 00 ba 08 00 00 | Y...3...!....................... |
12140 | b9 08 00 00 7d 08 00 00 6b 08 00 00 38 08 00 00 26 08 00 00 f2 07 00 00 e0 07 00 00 aa 07 00 00 | ....}...k...8...&............... |
12160 | 98 07 00 00 65 07 00 00 53 07 00 00 4e 07 00 00 44 07 00 00 31 07 00 00 2c 07 00 00 02 07 00 00 | ....e...S...N...D...1...,....... |
12180 | 01 07 00 00 dc 06 00 00 ca 06 00 00 a5 06 00 00 93 06 00 00 6d 06 00 00 5b 06 00 00 5a 06 00 00 | ....................m...[...Z... |
121a0 | 53 06 00 00 19 06 00 00 11 06 00 00 0c 06 00 00 02 06 00 00 e7 05 00 00 e2 05 00 00 a9 05 00 00 | S............................... |
121c0 | a8 05 00 00 82 05 00 00 70 05 00 00 4a 05 00 00 38 05 00 00 37 05 00 00 07 05 00 00 02 05 00 00 | ........p...J...8...7........... |
121e0 | f8 04 00 00 df 04 00 00 a1 04 00 00 89 04 00 00 4e 04 00 00 36 04 00 00 31 04 00 00 fc 03 00 00 | ................N...6...1....... |
12200 | fb 03 00 00 b9 03 00 00 9a 03 00 00 88 03 00 00 83 03 00 00 79 03 00 00 5f 03 00 00 20 03 00 00 | ....................y..._....... |
12220 | 05 03 00 00 c3 02 00 00 a7 02 00 00 a2 02 00 00 69 02 00 00 68 02 00 00 67 02 00 00 00 00 00 00 | ................i...h...g....... |
12240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
12260 | 00 00 00 00 00 00 00 00 00 09 09 09 09 54 61 62 6c 65 53 61 6d 70 6c 65 43 6c 61 75 73 65 20 2a | .............TableSampleClause.* |
12280 | 74 73 63 20 3d 20 28 54 61 62 6c 65 53 61 6d 70 6c 65 43 6c 61 75 73 65 20 2a 29 20 6e 6f 64 65 | tsc.=.(TableSampleClause.*).node |
122a0 | 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 54 61 62 6c 65 53 61 6d 70 6c 65 43 6c 61 75 73 | ;....{...case.T_TableSampleClaus |
122c0 | 65 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 52 61 6e 67 65 54 62 6c 46 75 | e:....return.walker(((RangeTblFu |
122e0 | 6e 63 74 69 6f 6e 20 2a 29 20 6e 6f 64 65 29 2d 3e 66 75 6e 63 65 78 70 72 2c 20 63 6f 6e 74 65 | nction.*).node)->funcexpr,.conte |
12300 | 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 52 61 6e 67 65 54 62 6c 46 75 6e 63 74 69 6f 6e 3a 00 | xt);...case.T_RangeTblFunction:. |
12320 | 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 50 6c 61 63 65 48 6f 6c 64 65 72 49 6e | ...return.walker(((PlaceHolderIn |
12340 | 66 6f 20 2a 29 20 6e 6f 64 65 29 2d 3e 70 68 5f 76 61 72 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 | fo.*).node)->ph_var,.context);.. |
12360 | 09 63 61 73 65 20 54 5f 50 6c 61 63 65 48 6f 6c 64 65 72 49 6e 66 6f 3a 00 09 09 09 62 72 65 61 | .case.T_PlaceHolderInfo:....brea |
12380 | 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 | k;....}......return.true;....... |
123a0 | 09 09 09 09 20 20 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 | .......walker,.context)).....if. |
123c0 | 28 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 | (expression_tree_walker((Node.*) |
123e0 | 20 61 70 70 69 6e 66 6f 2d 3e 74 72 61 6e 73 6c 61 74 65 64 5f 76 61 72 73 2c 00 00 09 09 09 09 | .appinfo->translated_vars,...... |
12400 | 41 70 70 65 6e 64 52 65 6c 49 6e 66 6f 20 2a 61 70 70 69 6e 66 6f 20 3d 20 28 41 70 70 65 6e 64 | AppendRelInfo.*appinfo.=.(Append |
12420 | 52 65 6c 49 6e 66 6f 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 | RelInfo.*).node;....{...case.T_A |
12440 | 70 70 65 6e 64 52 65 6c 49 6e 66 6f 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 | ppendRelInfo:....return.walker(( |
12460 | 28 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 20 2a 29 20 6e 6f 64 65 29 2d 3e 65 78 70 72 2c 20 63 | (InferenceElem.*).node)->expr,.c |
12480 | 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 3a | ontext);...case.T_InferenceElem: |
124a0 | 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 50 6c 61 63 65 48 6f 6c 64 65 72 56 | ....return.walker(((PlaceHolderV |
124c0 | 61 72 20 2a 29 20 6e 6f 64 65 29 2d 3e 70 68 65 78 70 72 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 | ar.*).node)->phexpr,.context);.. |
124e0 | 09 63 61 73 65 20 54 5f 50 6c 61 63 65 48 6f 6c 64 65 72 56 61 72 3a 00 09 09 09 62 72 65 61 6b | .case.T_PlaceHolderVar:....break |
12500 | 3b 00 09 09 09 7d 00 09 09 09 09 2f 2a 20 67 72 6f 75 70 43 6c 61 75 73 65 73 20 61 72 65 20 64 | ;....}...../*.groupClauses.are.d |
12520 | 65 65 6d 65 64 20 75 6e 69 6e 74 65 72 65 73 74 69 6e 67 20 2a 2f 00 00 09 09 09 09 09 72 65 74 | eemed.uninteresting.*/.......ret |
12540 | 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 65 74 6f 70 2d 3e | urn.true;.....if.(walker(setop-> |
12560 | 72 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 | rarg,.context))......return.true |
12580 | 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 65 74 6f 70 2d 3e 6c 61 72 67 2c 20 63 6f | ;.....if.(walker(setop->larg,.co |
125a0 | 6e 74 65 78 74 29 29 00 00 09 09 09 09 53 65 74 4f 70 65 72 61 74 69 6f 6e 53 74 6d 74 20 2a 73 | ntext))......SetOperationStmt.*s |
125c0 | 65 74 6f 70 20 3d 20 28 53 65 74 4f 70 65 72 61 74 69 6f 6e 53 74 6d 74 20 2a 29 20 6e 6f 64 65 | etop.=.(SetOperationStmt.*).node |
125e0 | 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 53 65 74 4f 70 65 72 61 74 69 6f 6e 53 74 6d 74 | ;....{...case.T_SetOperationStmt |
12600 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 | :....break;....}......*/......*. |
12620 | 61 6c 69 61 73 20 63 6c 61 75 73 65 2c 20 75 73 69 6e 67 20 6c 69 73 74 20 61 72 65 20 64 65 65 | alias.clause,.using.list.are.dee |
12640 | 6d 65 64 20 75 6e 69 6e 74 65 72 65 73 74 69 6e 67 2e 00 09 09 09 09 2f 2a 00 00 09 09 09 09 09 | med.uninteresting....../*....... |
12660 | 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 6a 6f 69 6e | return.true;.....if.(walker(join |
12680 | 2d 3e 71 75 61 6c 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 | ->quals,.context))......return.t |
126a0 | 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 6a 6f 69 6e 2d 3e 72 61 72 67 2c 20 | rue;.....if.(walker(join->rarg,. |
126c0 | 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 | context))......return.true;..... |
126e0 | 69 66 20 28 77 61 6c 6b 65 72 28 6a 6f 69 6e 2d 3e 6c 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 29 | if.(walker(join->larg,.context)) |
12700 | 00 00 09 09 09 09 4a 6f 69 6e 45 78 70 72 20 20 20 2a 6a 6f 69 6e 20 3d 20 28 4a 6f 69 6e 45 78 | ......JoinExpr...*join.=.(JoinEx |
12720 | 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 4a 6f 69 6e 45 78 | pr.*).node;....{...case.T_JoinEx |
12740 | 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 | pr:....break;....}......return.t |
12760 | 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 6f 6e 63 6f 6e 66 6c 69 63 74 2d 3e | rue;.....if.(walker(onconflict-> |
12780 | 65 78 63 6c 52 65 6c 54 6c 69 73 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 | exclRelTlist,.context))......ret |
127a0 | 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 6f 6e 63 6f 6e 66 6c | urn.true;.....if.(walker(onconfl |
127c0 | 69 63 74 2d 3e 6f 6e 43 6f 6e 66 6c 69 63 74 57 68 65 72 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 | ict->onConflictWhere,.context)). |
127e0 | 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 | .....return.true;.....if.(walker |
12800 | 28 6f 6e 63 6f 6e 66 6c 69 63 74 2d 3e 6f 6e 43 6f 6e 66 6c 69 63 74 53 65 74 2c 20 63 6f 6e 74 | (onconflict->onConflictSet,.cont |
12820 | 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 | ext))......return.true;.....if.( |
12840 | 77 61 6c 6b 65 72 28 6f 6e 63 6f 6e 66 6c 69 63 74 2d 3e 61 72 62 69 74 65 72 57 68 65 72 65 2c | walker(onconflict->arbiterWhere, |
12860 | 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 | .context))......return.true;.... |
12880 | 09 69 66 20 28 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 6f 6e 63 6f 6e 66 6c 69 63 74 2d | .if.(walker((Node.*).onconflict- |
128a0 | 3e 61 72 62 69 74 65 72 45 6c 65 6d 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 4f 6e | >arbiterElems,.context))......On |
128c0 | 43 6f 6e 66 6c 69 63 74 45 78 70 72 20 2a 6f 6e 63 6f 6e 66 6c 69 63 74 20 3d 20 28 4f 6e 43 6f | ConflictExpr.*onconflict.=.(OnCo |
128e0 | 6e 66 6c 69 63 74 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 | nflictExpr.*).node;....{...case. |
12900 | 54 5f 4f 6e 43 6f 6e 66 6c 69 63 74 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d | T_OnConflictExpr:....break;....} |
12920 | 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 | ......return.true;.....if.(walke |
12940 | 72 28 66 72 6f 6d 2d 3e 71 75 61 6c 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 | r(from->quals,.context))......re |
12960 | 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 66 72 6f 6d 2d 3e | turn.true;.....if.(walker(from-> |
12980 | 66 72 6f 6d 6c 69 73 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 46 72 6f 6d 45 78 70 | fromlist,.context))......FromExp |
129a0 | 72 20 20 20 2a 66 72 6f 6d 20 3d 20 28 46 72 6f 6d 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 | r...*from.=.(FromExpr.*).node;.. |
129c0 | 09 09 7b 00 09 09 63 61 73 65 20 54 5f 46 72 6f 6d 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b | ..{...case.T_FromExpr:....break; |
129e0 | 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 | ....}......return.true;.....if.( |
12a00 | 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 6c 66 69 72 73 74 28 74 65 6d 70 29 2c 20 63 6f | walker((Node.*).lfirst(temp),.co |
12a20 | 6e 74 65 78 74 29 29 00 09 09 09 7b 00 09 09 09 66 6f 72 65 61 63 68 28 74 65 6d 70 2c 20 28 4c | ntext))....{....foreach(temp,.(L |
12a40 | 69 73 74 20 2a 29 20 6e 6f 64 65 29 00 09 09 63 61 73 65 20 54 5f 4c 69 73 74 3a 00 09 09 09 62 | ist.*).node)...case.T_List:....b |
12a60 | 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 63 74 65 | reak;....}.....return.walker(cte |
12a80 | 2d 3e 63 74 65 71 75 65 72 79 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 09 09 20 2a 2f 00 09 09 | ->ctequery,.context);......*/... |
12aa0 | 09 09 20 2a 20 72 65 63 75 72 73 65 20 69 6e 74 6f 20 74 68 65 20 73 75 62 2d 71 75 65 72 79 20 | ...*.recurse.into.the.sub-query. |
12ac0 | 69 66 20 69 74 20 77 61 6e 74 73 20 74 6f 2e 00 09 09 09 09 20 2a 20 49 6e 76 6f 6b 65 20 74 68 | if.it.wants.to.......*.Invoke.th |
12ae0 | 65 20 77 61 6c 6b 65 72 20 6f 6e 20 74 68 65 20 43 54 45 27 73 20 51 75 65 72 79 20 6e 6f 64 65 | e.walker.on.the.CTE's.Query.node |
12b00 | 2c 20 73 6f 20 69 74 20 63 61 6e 00 09 09 09 09 2f 2a 00 00 09 09 09 09 43 6f 6d 6d 6f 6e 54 61 | ,.so.it.can...../*......CommonTa |
12b20 | 62 6c 65 45 78 70 72 20 2a 63 74 65 20 3d 20 28 43 6f 6d 6d 6f 6e 54 61 62 6c 65 45 78 70 72 20 | bleExpr.*cte.=.(CommonTableExpr. |
12b40 | 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 43 6f 6d 6d 6f 6e 54 61 62 | *).node;....{...case.T_CommonTab |
12b60 | 6c 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 | leExpr:....break;....}......retu |
12b80 | 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 77 63 2d 3e 65 6e 64 4f | rn.true;.....if.(walker(wc->endO |
12ba0 | 66 66 73 65 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 | ffset,.context))......return.tru |
12bc0 | 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 77 63 2d 3e 73 74 61 72 74 4f 66 66 73 65 | e;.....if.(walker(wc->startOffse |
12be0 | 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 | t,.context))......return.true;.. |
12c00 | 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 77 63 2d 3e 6f 72 64 65 72 43 6c 61 75 73 65 2c 20 63 | ...if.(walker(wc->orderClause,.c |
12c20 | 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 | ontext))......return.true;.....i |
12c40 | 66 20 28 77 61 6c 6b 65 72 28 77 63 2d 3e 70 61 72 74 69 74 69 6f 6e 43 6c 61 75 73 65 2c 20 63 | f.(walker(wc->partitionClause,.c |
12c60 | 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 57 69 6e 64 6f 77 43 6c 61 75 73 65 20 2a 77 63 20 3d | ontext))......WindowClause.*wc.= |
12c80 | 20 28 57 69 6e 64 6f 77 43 6c 61 75 73 65 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 | .(WindowClause.*).node;....{...c |
12ca0 | 61 73 65 20 54 5f 57 69 6e 64 6f 77 43 6c 61 75 73 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 | ase.T_WindowClause:....break;... |
12cc0 | 09 2f 2a 20 44 6f 20 6e 6f 74 68 69 6e 67 20 77 69 74 68 20 61 20 73 75 62 2d 51 75 65 72 79 2c | ./*.Do.nothing.with.a.sub-Query, |
12ce0 | 20 70 65 72 20 64 69 73 63 75 73 73 69 6f 6e 20 61 62 6f 76 65 20 2a 2f 00 09 09 63 61 73 65 20 | .per.discussion.above.*/...case. |
12d00 | 54 5f 51 75 65 72 79 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 54 61 72 67 | T_Query:....return.walker(((Targ |
12d20 | 65 74 45 6e 74 72 79 20 2a 29 20 6e 6f 64 65 29 2d 3e 65 78 70 72 2c 20 63 6f 6e 74 65 78 74 29 | etEntry.*).node)->expr,.context) |
12d40 | 3b 00 09 09 63 61 73 65 20 54 5f 54 61 72 67 65 74 45 6e 74 72 79 3a 00 09 09 09 72 65 74 75 72 | ;...case.T_TargetEntry:....retur |
12d60 | 6e 20 77 61 6c 6b 65 72 28 28 28 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 20 2a 29 20 6e 6f 64 | n.walker(((CoerceToDomain.*).nod |
12d80 | 65 29 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 | e)->arg,.context);...case.T_Coer |
12da0 | 63 65 54 6f 44 6f 6d 61 69 6e 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 42 | ceToDomain:....return.walker(((B |
12dc0 | 6f 6f 6c 65 61 6e 54 65 73 74 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 | ooleanTest.*).node)->arg,.contex |
12de0 | 74 29 3b 00 09 09 63 61 73 65 20 54 5f 42 6f 6f 6c 65 61 6e 54 65 73 74 3a 00 09 09 09 72 65 74 | t);...case.T_BooleanTest:....ret |
12e00 | 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 4e 75 6c 6c 54 65 73 74 20 2a 29 20 6e 6f 64 65 29 2d 3e | urn.walker(((NullTest.*).node)-> |
12e20 | 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 4e 75 6c 6c 54 65 73 74 | arg,.context);...case.T_NullTest |
12e40 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 | :....break;....}......return.tru |
12e60 | 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 78 65 78 70 72 2d 3e 61 72 67 73 2c 20 63 | e;.....if.(walker(xexpr->args,.c |
12e80 | 6f 6e 74 65 78 74 29 29 00 09 09 09 09 2f 2a 20 77 65 20 61 73 73 75 6d 65 20 77 61 6c 6b 65 72 | ontext))...../*.we.assume.walker |
12ea0 | 20 64 6f 65 73 6e 27 74 20 63 61 72 65 20 61 62 6f 75 74 20 61 72 67 5f 6e 61 6d 65 73 20 2a 2f | .doesn't.care.about.arg_names.*/ |
12ec0 | 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 | ......return.true;.....if.(walke |
12ee0 | 72 28 78 65 78 70 72 2d 3e 6e 61 6d 65 64 5f 61 72 67 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 | r(xexpr->named_args,.context)).. |
12f00 | 09 09 09 09 58 6d 6c 45 78 70 72 20 20 20 20 2a 78 65 78 70 72 20 3d 20 28 58 6d 6c 45 78 70 72 | ....XmlExpr....*xexpr.=.(XmlExpr |
12f20 | 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 58 6d 6c 45 78 70 72 3a | .*).node;....{...case.T_XmlExpr: |
12f40 | 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 4d 69 6e 4d 61 78 45 78 70 72 20 2a | ....return.walker(((MinMaxExpr.* |
12f60 | 29 20 6e 6f 64 65 29 2d 3e 61 72 67 73 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 | ).node)->args,.context);...case. |
12f80 | 54 5f 4d 69 6e 4d 61 78 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 | T_MinMaxExpr:....return.walker(( |
12fa0 | 28 43 6f 61 6c 65 73 63 65 45 78 70 72 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 73 2c 20 63 6f | (CoalesceExpr.*).node)->args,.co |
12fc0 | 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 61 6c 65 73 63 65 45 78 70 72 3a 00 09 | ntext);...case.T_CoalesceExpr:.. |
12fe0 | 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 | ..break;....}......return.true;. |
13000 | 61 64 00 00 35 00 00 00 5d 02 00 00 00 10 00 00 83 00 00 00 00 00 00 00 cd 0f 00 00 ae 0f 00 00 | ad..5...]....................... |
13020 | 9c 0f 00 00 69 0f 00 00 57 0f 00 00 52 0f 00 00 48 0f 00 00 3d 0f 00 00 10 0f 00 00 f5 0e 00 00 | ....i...W...R...H...=........... |
13040 | eb 0e 00 00 e8 0e 00 00 d9 0e 00 00 d7 0e 00 00 d6 0e 00 00 d3 0e 00 00 91 0e 00 00 8e 0e 00 00 | ................................ |
13060 | 41 0e 00 00 f7 0d 00 00 ae 0d 00 00 69 0d 00 00 3a 0d 00 00 37 0d 00 00 e8 0c 00 00 9c 0c 00 00 | A...........i...:...7........... |
13080 | 4e 0c 00 00 0a 0c 00 00 cc 0b 00 00 c8 0b 00 00 c3 0b 00 00 a3 0b 00 00 8a 0b 00 00 75 0b 00 00 | N...........................u... |
130a0 | 64 0b 00 00 62 0b 00 00 35 0b 00 00 34 0b 00 00 02 0b 00 00 f3 0a 00 00 bb 0a 00 00 ac 0a 00 00 | d...b...5...4................... |
130c0 | 7a 0a 00 00 6b 0a 00 00 36 0a 00 00 27 0a 00 00 f7 09 00 00 e8 09 00 00 bc 09 00 00 ad 09 00 00 | z...k...6...'................... |
130e0 | 84 09 00 00 75 09 00 00 4b 09 00 00 3c 09 00 00 13 09 00 00 04 09 00 00 d9 08 00 00 d6 08 00 00 | ....u...K...<................... |
13100 | a6 08 00 00 96 08 00 00 93 08 00 00 6b 08 00 00 68 08 00 00 27 08 00 00 17 08 00 00 14 08 00 00 | ............k...h...'........... |
13120 | 05 08 00 00 03 08 00 00 02 08 00 00 ff 07 00 00 b8 07 00 00 72 07 00 00 66 07 00 00 62 07 00 00 | ....................r...f...b... |
13140 | 5d 07 00 00 3c 07 00 00 22 07 00 00 0c 07 00 00 fa 06 00 00 f8 06 00 00 e7 06 00 00 e6 06 00 00 | ]...<..."....................... |
13160 | d1 06 00 00 ce 06 00 00 99 06 00 00 98 06 00 00 57 06 00 00 37 06 00 00 1a 06 00 00 09 06 00 00 | ................W...7........... |
13180 | 08 06 00 00 f0 05 00 00 ec 05 00 00 d6 05 00 00 ab 05 00 00 99 05 00 00 8e 05 00 00 7d 05 00 00 | ............................}... |
131a0 | 65 05 00 00 5a 05 00 00 44 05 00 00 17 05 00 00 ee 04 00 00 db 04 00 00 d0 04 00 00 be 04 00 00 | e...Z...D....................... |
131c0 | 93 04 00 00 65 04 00 00 52 04 00 00 47 04 00 00 31 04 00 00 08 04 00 00 f6 03 00 00 eb 03 00 00 | ....e...R...G...1............... |
131e0 | d7 03 00 00 ab 03 00 00 99 03 00 00 8e 03 00 00 8a 03 00 00 89 03 00 00 5e 03 00 00 4e 03 00 00 | ........................^...N... |
13200 | 4b 03 00 00 3c 03 00 00 3a 03 00 00 39 03 00 00 38 03 00 00 35 03 00 00 ec 02 00 00 a7 02 00 00 | K...<...:...9...8...5........... |
13220 | 5d 02 00 00 5c 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ]...\........................... |
13240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 2a 20 | ..............................*. |
13260 | 72 65 6d 6f 76 65 64 2c 20 6f 72 20 72 65 70 6c 61 63 65 64 20 62 79 20 6e 65 77 20 73 75 62 74 | removed,.or.replaced.by.new.subt |
13280 | 72 65 65 73 2e 20 20 54 68 65 20 6f 72 69 67 69 6e 61 6c 20 74 72 65 65 20 69 73 20 28 6e 6f 72 | rees...The.original.tree.is.(nor |
132a0 | 6d 61 6c 6c 79 29 00 20 2a 20 6d 6f 64 69 66 69 65 64 20 63 6f 70 79 20 6f 66 20 61 6e 20 65 78 | mally)..*.modified.copy.of.an.ex |
132c0 | 70 72 65 73 73 69 6f 6e 20 74 72 65 65 2c 20 77 69 74 68 20 73 6f 6d 65 20 6e 6f 64 65 73 20 62 | pression.tree,.with.some.nodes.b |
132e0 | 65 69 6e 67 20 61 64 64 65 64 2c 00 20 2a 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 6d | eing.added,..*.expression_tree_m |
13300 | 75 74 61 74 6f 72 28 29 20 69 73 20 64 65 73 69 67 6e 65 64 20 74 6f 20 73 75 70 70 6f 72 74 20 | utator().is.designed.to.support. |
13320 | 72 6f 75 74 69 6e 65 73 20 74 68 61 74 20 6d 61 6b 65 20 61 00 2f 2a 00 00 00 7d 00 09 72 65 74 | routines.that.make.a./*...}..ret |
13340 | 75 72 6e 20 66 61 6c 73 65 3b 00 09 7d 00 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 | urn.false;..}....return.true;... |
13360 | 69 66 20 28 77 61 6c 6b 65 72 28 72 74 65 2d 3e 73 65 63 75 72 69 74 79 51 75 61 6c 73 2c 20 63 | if.(walker(rte->securityQuals,.c |
13380 | 6f 6e 74 65 78 74 29 29 00 00 09 09 7d 00 09 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 09 72 65 | ontext))....}.....break;......re |
133a0 | 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 72 74 65 2d 3e 76 | turn.true;.....if.(walker(rte->v |
133c0 | 61 6c 75 65 73 5f 6c 69 73 74 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 63 61 73 65 20 52 | alues_lists,.context))....case.R |
133e0 | 54 45 5f 56 41 4c 55 45 53 3a 00 09 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 09 72 65 74 75 72 | TE_VALUES:.....break;......retur |
13400 | 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 72 74 65 2d 3e 66 75 6e 63 | n.true;.....if.(walker(rte->func |
13420 | 74 69 6f 6e 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 63 61 73 65 20 52 54 45 5f 46 55 4e | tions,.context))....case.RTE_FUN |
13440 | 43 54 49 4f 4e 3a 00 09 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 09 09 72 65 74 75 72 6e 20 74 | CTION:.....break;.......return.t |
13460 | 72 75 65 3b 00 09 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 72 74 65 2d 3e 6a 6f 69 6e 61 6c | rue;......if.(walker(rte->joinal |
13480 | 69 61 73 76 61 72 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 28 21 28 66 6c 61 | iasvars,.context)).....if.(!(fla |
134a0 | 67 73 20 26 20 51 54 57 5f 49 47 4e 4f 52 45 5f 4a 4f 49 4e 41 4c 49 41 53 45 53 29 29 00 09 09 | gs.&.QTW_IGNORE_JOINALIASES))... |
134c0 | 09 63 61 73 65 20 52 54 45 5f 4a 4f 49 4e 3a 00 09 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 09 | .case.RTE_JOIN:.....break;...... |
134e0 | 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 72 74 | .return.true;......if.(walker(rt |
13500 | 65 2d 3e 73 75 62 71 75 65 72 79 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 28 21 | e->subquery,.context)).....if.(! |
13520 | 28 66 6c 61 67 73 20 26 20 51 54 57 5f 49 47 4e 4f 52 45 5f 52 54 5f 53 55 42 51 55 45 52 49 45 | (flags.&.QTW_IGNORE_RT_SUBQUERIE |
13540 | 53 29 29 00 09 09 09 63 61 73 65 20 52 54 45 5f 53 55 42 51 55 45 52 59 3a 00 09 09 09 09 62 72 | S))....case.RTE_SUBQUERY:.....br |
13560 | 65 61 6b 3b 00 09 09 09 09 2f 2a 20 6e 6f 74 68 69 6e 67 20 74 6f 20 64 6f 20 2a 2f 00 09 09 09 | eak;...../*.nothing.to.do.*/.... |
13580 | 63 61 73 65 20 52 54 45 5f 43 54 45 3a 00 09 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 09 72 65 | case.RTE_CTE:.....break;......re |
135a0 | 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 72 74 65 2d 3e 74 | turn.true;.....if.(walker(rte->t |
135c0 | 61 62 6c 65 73 61 6d 70 6c 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 63 61 73 65 20 52 54 | ablesample,.context))....case.RT |
135e0 | 45 5f 52 45 4c 41 54 49 4f 4e 3a 00 09 09 7b 00 09 09 73 77 69 74 63 68 20 28 72 74 65 2d 3e 72 | E_RELATION:...{...switch.(rte->r |
13600 | 74 65 6b 69 6e 64 29 00 00 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 69 66 20 | tekind)......return.true;....if. |
13620 | 28 77 61 6c 6b 65 72 28 72 74 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 69 66 20 28 66 6c 61 | (walker(rte,.context))...if.(fla |
13640 | 67 73 20 26 20 51 54 57 5f 45 58 41 4d 49 4e 45 5f 52 54 45 53 29 00 09 09 2f 2a 20 46 6f 72 20 | gs.&.QTW_EXAMINE_RTES).../*.For. |
13660 | 68 69 73 74 6f 72 69 63 61 6c 20 72 65 61 73 6f 6e 73 2c 20 76 69 73 69 74 69 6e 67 20 52 54 45 | historical.reasons,.visiting.RTE |
13680 | 73 20 69 73 20 6e 6f 74 20 74 68 65 20 64 65 66 61 75 6c 74 20 2a 2f 00 00 09 09 52 61 6e 67 65 | s.is.not.the.default.*/....Range |
136a0 | 54 62 6c 45 6e 74 72 79 20 2a 72 74 65 20 3d 20 28 52 61 6e 67 65 54 62 6c 45 6e 74 72 79 20 2a | TblEntry.*rte.=.(RangeTblEntry.* |
136c0 | 29 20 6c 66 69 72 73 74 28 72 74 29 3b 00 09 7b 00 09 66 6f 72 65 61 63 68 28 72 74 2c 20 72 74 | ).lfirst(rt);..{..foreach(rt,.rt |
136e0 | 61 62 6c 65 29 00 00 09 4c 69 73 74 43 65 6c 6c 20 20 20 2a 72 74 3b 00 7b 00 09 09 09 09 20 20 | able)...ListCell...*rt;.{....... |
13700 | 20 69 6e 74 20 66 6c 61 67 73 29 00 09 09 09 09 20 20 20 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 | .int.flags)........void.*context |
13720 | 2c 00 09 09 09 09 20 20 20 62 6f 6f 6c 20 28 2a 77 61 6c 6b 65 72 29 20 28 29 2c 00 72 61 6e 67 | ,........bool.(*walker).(),.rang |
13740 | 65 5f 74 61 62 6c 65 5f 77 61 6c 6b 65 72 28 4c 69 73 74 20 2a 72 74 61 62 6c 65 2c 00 62 6f 6f | e_table_walker(List.*rtable,.boo |
13760 | 6c 00 20 2a 2f 00 20 2a 20 69 74 73 20 6f 77 6e 2e 00 20 2a 20 61 20 71 75 65 72 79 27 73 20 72 | l..*/..*.its.own...*.a.query's.r |
13780 | 61 6e 67 65 74 61 62 6c 65 2e 20 20 54 68 69 73 20 69 73 20 73 70 6c 69 74 20 6f 75 74 20 73 69 | angetable...This.is.split.out.si |
137a0 | 6e 63 65 20 69 74 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 6f 6e 00 20 2a 20 72 61 6e 67 65 | nce.it.can.be.useful.on..*.range |
137c0 | 5f 74 61 62 6c 65 5f 77 61 6c 6b 65 72 20 69 73 20 6a 75 73 74 20 74 68 65 20 70 61 72 74 20 6f | _table_walker.is.just.the.part.o |
137e0 | 66 20 71 75 65 72 79 5f 74 72 65 65 5f 77 61 6c 6b 65 72 20 74 68 61 74 20 73 63 61 6e 73 00 2f | f.query_tree_walker.that.scans./ |
13800 | 2a 00 00 7d 00 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 7d 00 09 09 09 72 65 74 75 72 6e | *..}..return.false;..}....return |
13820 | 20 74 72 75 65 3b 00 09 09 69 66 20 28 72 61 6e 67 65 5f 74 61 62 6c 65 5f 77 61 6c 6b 65 72 28 | .true;...if.(range_table_walker( |
13840 | 71 75 65 72 79 2d 3e 72 74 61 62 6c 65 2c 20 77 61 6c 6b 65 72 2c 20 63 6f 6e 74 65 78 74 2c 20 | query->rtable,.walker,.context,. |
13860 | 66 6c 61 67 73 29 29 00 09 7b 00 09 69 66 20 28 21 28 66 6c 61 67 73 20 26 20 51 54 57 5f 49 47 | flags))..{..if.(!(flags.&.QTW_IG |
13880 | 4e 4f 52 45 5f 52 41 4e 47 45 5f 54 41 42 4c 45 29 29 00 09 7d 00 09 09 09 72 65 74 75 72 6e 20 | NORE_RANGE_TABLE))..}....return. |
138a0 | 74 72 75 65 3b 00 09 09 69 66 20 28 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 71 75 65 72 | true;...if.(walker((Node.*).quer |
138c0 | 79 2d 3e 63 74 65 4c 69 73 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 7b 00 09 69 66 20 28 21 28 | y->cteList,.context))..{..if.(!( |
138e0 | 66 6c 61 67 73 20 26 20 51 54 57 5f 49 47 4e 4f 52 45 5f 43 54 45 5f 53 55 42 51 55 45 52 49 45 | flags.&.QTW_IGNORE_CTE_SUBQUERIE |
13900 | 53 29 29 00 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 69 66 20 28 77 61 6c 6b 65 72 28 71 | S))...return.true;..if.(walker(q |
13920 | 75 65 72 79 2d 3e 6c 69 6d 69 74 43 6f 75 6e 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 72 65 | uery->limitCount,.context))...re |
13940 | 74 75 72 6e 20 74 72 75 65 3b 00 09 69 66 20 28 77 61 6c 6b 65 72 28 71 75 65 72 79 2d 3e 6c 69 | turn.true;..if.(walker(query->li |
13960 | 6d 69 74 4f 66 66 73 65 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 72 65 74 75 72 6e 20 74 72 | mitOffset,.context))...return.tr |
13980 | 75 65 3b 00 09 69 66 20 28 77 61 6c 6b 65 72 28 71 75 65 72 79 2d 3e 68 61 76 69 6e 67 51 75 61 | ue;..if.(walker(query->havingQua |
139a0 | 6c 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 69 66 20 | l,.context))...return.true;..if. |
139c0 | 28 77 61 6c 6b 65 72 28 71 75 65 72 79 2d 3e 73 65 74 4f 70 65 72 61 74 69 6f 6e 73 2c 20 63 6f | (walker(query->setOperations,.co |
139e0 | 6e 74 65 78 74 29 29 00 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 69 66 20 28 77 61 6c 6b | ntext))...return.true;..if.(walk |
13a00 | 65 72 28 28 4e 6f 64 65 20 2a 29 20 71 75 65 72 79 2d 3e 6a 6f 69 6e 74 72 65 65 2c 20 63 6f 6e | er((Node.*).query->jointree,.con |
13a20 | 74 65 78 74 29 29 00 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 69 66 20 28 77 61 6c 6b 65 | text))...return.true;..if.(walke |
13a40 | 72 28 28 4e 6f 64 65 20 2a 29 20 71 75 65 72 79 2d 3e 72 65 74 75 72 6e 69 6e 67 4c 69 73 74 2c | r((Node.*).query->returningList, |
13a60 | 20 63 6f 6e 74 65 78 74 29 29 00 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 69 66 20 28 77 | .context))...return.true;..if.(w |
13a80 | 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 71 75 65 72 79 2d 3e 6f 6e 43 6f 6e 66 6c 69 63 74 | alker((Node.*).query->onConflict |
13aa0 | 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 69 66 20 28 | ,.context))...return.true;..if.( |
13ac0 | 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 71 75 65 72 79 2d 3e 77 69 74 68 43 68 65 63 6b | walker((Node.*).query->withCheck |
13ae0 | 4f 70 74 69 6f 6e 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 72 65 74 75 72 6e 20 74 72 75 65 | Options,.context))...return.true |
13b00 | 3b 00 09 69 66 20 28 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 71 75 65 72 79 2d 3e 74 61 | ;..if.(walker((Node.*).query->ta |
13b20 | 72 67 65 74 4c 69 73 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 41 73 73 65 72 74 28 71 75 65 | rgetList,.context))...Assert(que |
13b40 | 72 79 20 21 3d 20 4e 55 4c 4c 20 26 26 20 49 73 41 28 71 75 65 72 79 2c 20 51 75 65 72 79 29 29 | ry.!=.NULL.&&.IsA(query,.Query)) |
13b60 | 3b 00 7b 00 09 09 09 09 20 20 69 6e 74 20 66 6c 61 67 73 29 00 09 09 09 09 20 20 76 6f 69 64 20 | ;.{.......int.flags).......void. |
13b80 | 2a 63 6f 6e 74 65 78 74 2c 00 09 09 09 09 20 20 62 6f 6f 6c 20 28 2a 77 61 6c 6b 65 72 29 20 28 | *context,.......bool.(*walker).( |
13ba0 | 29 2c 00 71 75 65 72 79 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 51 75 65 72 79 20 2a 71 75 65 72 | ),.query_tree_walker(Query.*quer |
13bc0 | 79 2c 00 62 6f 6f 6c 00 20 2a 2f 00 20 2a 20 69 6e 64 69 63 61 74 65 64 20 69 74 65 6d 73 2e 20 | y,.bool..*/..*.indicated.items.. |
13be0 | 20 28 4d 6f 72 65 20 66 6c 61 67 20 62 69 74 73 20 6d 61 79 20 62 65 20 61 64 64 65 64 20 61 73 | .(More.flag.bits.may.be.added.as |
13c00 | 20 6e 65 65 64 65 64 2e 29 00 20 2a 20 77 68 69 63 68 20 69 73 20 74 68 65 20 62 69 74 77 69 73 | .needed.)..*.which.is.the.bitwis |
13c20 | 65 20 4f 52 20 6f 66 20 66 6c 61 67 20 76 61 6c 75 65 73 20 74 6f 20 73 75 70 70 72 65 73 73 20 | e.OR.of.flag.values.to.suppress. |
13c40 | 76 69 73 69 74 61 74 69 6f 6e 20 6f 66 00 20 2a 20 77 61 6e 74 20 74 6f 20 72 65 63 75 72 73 65 | visitation.of..*.want.to.recurse |
13c60 | 20 69 6e 74 6f 20 73 75 62 71 75 65 72 69 65 73 2e 20 20 54 68 69 73 20 69 73 20 73 75 70 70 6f | .into.subqueries...This.is.suppo |
13c80 | 72 74 65 64 20 62 79 20 74 68 65 20 66 6c 61 67 73 20 61 72 67 75 6d 65 6e 74 2c 00 20 2a 20 74 | rted.by.the.flags.argument,..*.t |
13ca0 | 79 70 69 63 61 6c 6c 79 20 62 65 63 61 75 73 65 20 74 68 65 79 20 6e 65 65 64 20 74 6f 20 70 72 | ypically.because.they.need.to.pr |
13cc0 | 6f 63 65 73 73 20 74 68 65 6d 20 73 70 65 63 69 61 6c 6c 79 2c 20 6f 72 20 64 6f 6e 27 74 20 61 | ocess.them.specially,.or.don't.a |
13ce0 | 63 74 75 61 6c 6c 79 00 20 2a 20 53 6f 6d 65 20 63 61 6c 6c 65 72 73 20 77 61 6e 74 20 74 6f 20 | ctually..*.Some.callers.want.to. |
13d00 | 73 75 70 70 72 65 73 73 20 76 69 73 69 74 61 74 69 6f 6e 20 6f 66 20 63 65 72 74 61 69 6e 20 69 | suppress.visitation.of.certain.i |
13d20 | 74 65 6d 73 20 69 6e 20 74 68 65 20 73 75 62 2d 51 75 65 72 79 2c 00 20 2a 00 20 2a 20 64 65 73 | tems.in.the.sub-Query,..*..*.des |
13d40 | 63 65 6e 64 69 6e 67 20 69 6e 74 6f 20 73 75 62 71 75 65 72 69 65 73 20 77 69 74 68 69 6e 20 61 | cending.into.subqueries.within.a |
13d60 | 20 77 61 6c 6b 65 72 2e 00 20 2a 20 77 61 6c 6b 65 72 20 69 6e 74 65 6e 64 73 20 74 6f 20 64 65 | .walker...*.walker.intends.to.de |
13d80 | 73 63 65 6e 64 20 69 6e 74 6f 20 73 75 62 71 75 65 72 69 65 73 2e 20 20 49 74 20 69 73 20 61 6c | scend.into.subqueries...It.is.al |
13da0 | 73 6f 20 75 73 65 66 75 6c 20 66 6f 72 00 20 2a 20 66 6f 72 20 73 74 61 72 74 69 6e 67 20 61 20 | so.useful.for..*.for.starting.a. |
13dc0 | 77 61 6c 6b 20 61 74 20 74 6f 70 20 6c 65 76 65 6c 20 6f 66 20 61 20 51 75 65 72 79 20 72 65 67 | walk.at.top.level.of.a.Query.reg |
13de0 | 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 74 68 65 00 20 2a 20 77 68 65 72 65 20 | ardless.of.whether.the..*.where. |
13e00 | 61 6c 6c 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 73 75 62 74 72 65 65 73 20 6f 66 20 61 | all.the.expression.subtrees.of.a |
13e20 | 20 51 75 65 72 79 20 61 72 65 2e 20 20 4e 6f 74 65 20 69 74 20 63 61 6e 20 62 65 20 75 73 65 64 | .Query.are...Note.it.can.be.used |
13e40 | 00 20 2a 20 54 68 69 73 20 72 6f 75 74 69 6e 65 20 65 78 69 73 74 73 20 6a 75 73 74 20 74 6f 20 | ..*.This.routine.exists.just.to. |
13e60 | 72 65 64 75 63 65 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 6c 61 63 65 73 20 74 68 61 74 | reduce.the.number.of.places.that |
13e80 | 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 00 20 2a 00 20 2a 20 71 75 65 72 79 5f 74 72 65 65 5f 77 | .need.to.know..*..*.query_tree_w |
13ea0 | 61 6c 6b 65 72 20 2d 2d 2d 20 69 6e 69 74 69 61 74 65 20 61 20 77 61 6c 6b 20 6f 66 20 61 20 51 | alker.---.initiate.a.walk.of.a.Q |
13ec0 | 75 65 72 79 27 73 20 65 78 70 72 65 73 73 69 6f 6e 73 00 2f 2a 00 00 7d 00 09 72 65 74 75 72 6e | uery's.expressions./*..}..return |
13ee0 | 20 66 61 6c 73 65 3b 00 09 7d 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 20 28 69 6e 74 29 20 | .false;..}....break;......(int). |
13f00 | 6e 6f 64 65 54 61 67 28 6e 6f 64 65 29 29 3b 00 09 09 09 65 6c 6f 67 28 45 52 52 4f 52 2c 20 22 | nodeTag(node));....elog(ERROR,." |
13f20 | 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6e 6f 64 65 20 74 79 70 65 3a 20 25 64 22 2c 00 09 09 64 | unrecognized.node.type:.%d",...d |
13f40 | 65 66 61 75 6c 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 | efault:....break;....}......retu |
13f60 | 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 | rn.true;.....if.(walker((Node.*) |
13f80 | 20 74 73 63 2d 3e 72 65 70 65 61 74 61 62 6c 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 | .tsc->repeatable,.context))..... |
13fa0 | 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 09 09 09 09 09 09 20 20 20 77 61 6c 6b 65 | .return.true;..............walke |
13fc0 | 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 69 66 20 28 65 78 70 72 65 73 73 69 6f 6e 5f | r,.context)).....if.(expression_ |
13fe0 | 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 74 73 63 2d 3e 61 72 67 73 2c 00 | tree_walker((Node.*).tsc->args,. |
14000 | 61 64 00 00 03 00 00 00 7b 01 00 00 00 10 00 00 57 00 00 00 00 00 00 00 b3 0f 00 00 6b 0f 00 00 | ad......{.......W...........k... |
14020 | 3f 0f 00 00 3c 0f 00 00 06 0f 00 00 01 0f 00 00 eb 0e 00 00 d9 0e 00 00 9b 0e 00 00 83 0e 00 00 | ?...<........................... |
14040 | 7d 0e 00 00 48 0e 00 00 42 0e 00 00 25 0e 00 00 1f 0e 00 00 e7 0d 00 00 e1 0d 00 00 ab 0d 00 00 | }...H...B...%................... |
14060 | 63 0d 00 00 5e 0d 00 00 5b 0d 00 00 12 0d 00 00 c6 0c 00 00 7f 0c 00 00 30 0c 00 00 ea 0b 00 00 | c...^...[...............0....... |
14080 | a4 0b 00 00 5e 0b 00 00 5b 0b 00 00 14 0b 00 00 ce 0a 00 00 88 0a 00 00 42 0a 00 00 fe 09 00 00 | ....^...[...............B....... |
140a0 | df 09 00 00 dc 09 00 00 9b 09 00 00 4f 09 00 00 1b 09 00 00 18 09 00 00 cd 08 00 00 7f 08 00 00 | ............O................... |
140c0 | 31 08 00 00 e4 07 00 00 97 07 00 00 4c 07 00 00 ff 06 00 00 b1 06 00 00 65 06 00 00 62 06 00 00 | 1...........L...........e...b... |
140e0 | 16 06 00 00 cb 05 00 00 7f 05 00 00 31 05 00 00 e7 04 00 00 c9 04 00 00 c5 04 00 00 c4 04 00 00 | ............1................... |
14100 | bd 04 00 00 99 04 00 00 7e 04 00 00 69 04 00 00 67 04 00 00 63 04 00 00 18 04 00 00 eb 03 00 00 | ........~...i...g...c........... |
14120 | e6 03 00 00 e5 03 00 00 b8 03 00 00 80 03 00 00 4f 03 00 00 4e 03 00 00 1d 03 00 00 f4 02 00 00 | ................O...N........... |
14140 | bc 02 00 00 8b 02 00 00 8a 02 00 00 59 02 00 00 14 02 00 00 13 02 00 00 00 02 00 00 f1 01 00 00 | ............Y................... |
14160 | f0 01 00 00 aa 01 00 00 94 01 00 00 93 01 00 00 7b 01 00 00 00 00 00 00 00 00 00 09 73 77 69 74 | ................{...........swit |
14180 | 63 68 20 28 6e 6f 64 65 54 61 67 28 6e 6f 64 65 29 29 00 00 09 63 68 65 63 6b 5f 73 74 61 63 6b | ch.(nodeTag(node))...check_stack |
141a0 | 5f 64 65 70 74 68 28 29 3b 00 09 2f 2a 20 47 75 61 72 64 20 61 67 61 69 6e 73 74 20 73 74 61 63 | _depth();../*.Guard.against.stac |
141c0 | 6b 20 6f 76 65 72 66 6c 6f 77 20 64 75 65 20 74 6f 20 6f 76 65 72 6c 79 20 63 6f 6d 70 6c 65 78 | k.overflow.due.to.overly.complex |
141e0 | 20 65 78 70 72 65 73 73 69 6f 6e 73 20 2a 2f 00 00 09 09 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 00 | .expressions.*/....return.NULL;. |
14200 | 09 69 66 20 28 6e 6f 64 65 20 3d 3d 20 4e 55 4c 4c 29 00 00 09 09 28 20 28 6e 65 77 66 69 65 6c | .if.(node.==.NULL)....(.(newfiel |
14220 | 64 29 20 3d 20 28 66 69 65 6c 64 74 79 70 65 29 20 6d 75 74 61 74 6f 72 28 28 4e 6f 64 65 20 2a | d).=.(fieldtype).mutator((Node.* |
14240 | 29 20 28 6f 6c 64 66 69 65 6c 64 29 2c 20 63 6f 6e 74 65 78 74 29 20 29 00 23 64 65 66 69 6e 65 | ).(oldfield),.context).).#define |
14260 | 20 4d 55 54 41 54 45 28 6e 65 77 66 69 65 6c 64 2c 20 6f 6c 64 66 69 65 6c 64 2c 20 66 69 65 6c | .MUTATE(newfield,.oldfield,.fiel |
14280 | 64 74 79 70 65 29 20 20 5c 00 00 09 20 20 6d 65 6d 63 70 79 28 28 6e 65 77 6e 6f 64 65 29 2c 20 | dtype)..\.....memcpy((newnode),. |
142a0 | 28 6e 6f 64 65 29 2c 20 73 69 7a 65 6f 66 28 6e 6f 64 65 74 79 70 65 29 29 20 29 00 09 20 20 28 | (node),.sizeof(nodetype)).)....( |
142c0 | 6e 65 77 6e 6f 64 65 29 20 3d 20 28 6e 6f 64 65 74 79 70 65 20 2a 29 20 70 61 6c 6c 6f 63 28 73 | newnode).=.(nodetype.*).palloc(s |
142e0 | 69 7a 65 6f 66 28 6e 6f 64 65 74 79 70 65 29 29 2c 20 5c 00 09 28 20 41 73 73 65 72 74 4d 61 63 | izeof(nodetype)),.\..(.AssertMac |
14300 | 72 6f 28 49 73 41 28 28 6e 6f 64 65 29 2c 20 6e 6f 64 65 74 79 70 65 29 29 2c 20 5c 00 23 64 65 | ro(IsA((node),.nodetype)),.\.#de |
14320 | 66 69 6e 65 20 43 48 45 43 4b 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 6e 6f 64 65 | fine.CHECKFLATCOPY(newnode,.node |
14340 | 2c 20 6e 6f 64 65 74 79 70 65 29 09 5c 00 00 09 20 20 6d 65 6d 63 70 79 28 28 6e 65 77 6e 6f 64 | ,.nodetype).\.....memcpy((newnod |
14360 | 65 29 2c 20 28 6e 6f 64 65 29 2c 20 73 69 7a 65 6f 66 28 6e 6f 64 65 74 79 70 65 29 29 20 29 00 | e),.(node),.sizeof(nodetype)).). |
14380 | 09 28 20 28 6e 65 77 6e 6f 64 65 29 20 3d 20 28 6e 6f 64 65 74 79 70 65 20 2a 29 20 70 61 6c 6c | .(.(newnode).=.(nodetype.*).pall |
143a0 | 6f 63 28 73 69 7a 65 6f 66 28 6e 6f 64 65 74 79 70 65 29 29 2c 20 5c 00 23 64 65 66 69 6e 65 20 | oc(sizeof(nodetype)),.\.#define. |
143c0 | 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 6e 6f 64 65 2c 20 6e 6f 64 65 74 79 70 65 | FLATCOPY(newnode,.node,.nodetype |
143e0 | 29 20 20 5c 00 00 09 20 2a 2f 00 09 20 2a 20 6d 75 73 74 20 63 61 6c 6c 20 74 68 65 20 6d 75 74 | )..\....*/...*.must.call.the.mut |
14400 | 61 74 6f 72 20 66 6f 72 20 61 6e 79 20 73 75 62 2d 6e 6f 64 65 73 2e 00 09 20 2a 20 54 68 65 20 | ator.for.any.sub-nodes....*.The. |
14420 | 6d 75 74 61 74 6f 72 20 68 61 73 20 61 6c 72 65 61 64 79 20 64 65 63 69 64 65 64 20 6e 6f 74 20 | mutator.has.already.decided.not. |
14440 | 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 63 75 72 72 65 6e 74 20 6e 6f 64 65 2c 20 62 75 74 20 | to.modify.the.current.node,.but. |
14460 | 77 65 00 09 2f 2a 00 7b 00 09 09 09 09 09 09 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 29 00 09 09 | we../*.{.......void.*context)... |
14480 | 09 09 09 09 4e 6f 64 65 20 2a 28 2a 6d 75 74 61 74 6f 72 29 20 28 29 2c 00 65 78 70 72 65 73 73 | ....Node.*(*mutator).(),.express |
144a0 | 69 6f 6e 5f 74 72 65 65 5f 6d 75 74 61 74 6f 72 28 4e 6f 64 65 20 2a 6e 6f 64 65 2c 00 4e 6f 64 | ion_tree_mutator(Node.*node,.Nod |
144c0 | 65 20 2a 00 00 20 2a 2f 00 20 2a 20 61 6e 64 20 64 6f 69 6e 67 20 74 68 65 20 72 69 67 68 74 20 | e.*...*/..*.and.doing.the.right. |
144e0 | 74 68 69 6e 67 2e 00 20 2a 20 63 61 6e 20 66 6f 72 63 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 | thing...*.can.force.appropriate. |
14500 | 62 65 68 61 76 69 6f 72 20 62 79 20 72 65 63 6f 67 6e 69 7a 69 6e 67 20 53 75 62 50 6c 61 6e 20 | behavior.by.recognizing.SubPlan. |
14520 | 65 78 70 72 65 73 73 69 6f 6e 20 6e 6f 64 65 73 00 20 2a 20 65 78 70 72 65 73 73 69 6f 6e 20 74 | expression.nodes..*.expression.t |
14540 | 72 65 65 20 6d 75 74 61 74 6f 72 73 20 77 61 6e 74 2e 20 20 41 20 6d 75 74 61 74 6f 72 20 74 68 | ree.mutators.want...A.mutator.th |
14560 | 61 74 20 77 61 6e 74 73 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 73 75 62 70 6c 61 6e 00 20 | at.wants.to.modify.the.subplan.. |
14580 | 2a 20 77 69 6c 6c 20 73 69 6d 70 6c 79 20 63 6f 70 79 20 74 68 65 20 6c 69 6e 6b 20 74 6f 20 74 | *.will.simply.copy.the.link.to.t |
145a0 | 68 65 20 69 6e 6e 65 72 20 70 6c 61 6e 2c 20 73 69 6e 63 65 20 74 68 61 74 27 73 20 74 79 70 69 | he.inner.plan,.since.that's.typi |
145c0 | 63 61 6c 6c 79 20 77 68 61 74 00 20 2a 20 22 74 65 73 74 65 78 70 72 22 20 61 6e 64 20 74 68 65 | cally.what..*."testexpr".and.the |
145e0 | 20 22 61 72 67 73 22 20 6c 69 73 74 20 28 77 68 69 63 68 20 62 65 6c 6f 6e 67 20 74 6f 20 74 68 | ."args".list.(which.belong.to.th |
14600 | 65 20 6f 75 74 65 72 20 70 6c 61 6e 29 2c 20 62 75 74 20 69 74 00 20 2a 20 65 78 70 72 65 73 73 | e.outer.plan),.but.it..*.express |
14620 | 69 6f 6e 5f 74 72 65 65 5f 6d 75 74 61 74 6f 72 20 77 69 6c 6c 20 68 61 6e 64 6c 65 20 61 20 53 | ion_tree_mutator.will.handle.a.S |
14640 | 75 62 50 6c 61 6e 20 6e 6f 64 65 20 62 79 20 72 65 63 75 72 73 69 6e 67 20 69 6e 74 6f 20 74 68 | ubPlan.node.by.recursing.into.th |
14660 | 65 00 20 2a 00 20 2a 20 64 6f 20 73 6f 20 62 79 20 72 65 63 6f 67 6e 69 7a 69 6e 67 20 51 75 65 | e..*..*.do.so.by.recognizing.Que |
14680 | 72 79 20 6e 6f 64 65 73 20 61 6e 64 20 63 61 6c 6c 69 6e 67 20 71 75 65 72 79 5f 74 72 65 65 5f | ry.nodes.and.calling.query_tree_ |
146a0 | 6d 75 74 61 74 6f 72 20 28 62 65 6c 6f 77 29 2e 00 20 2a 20 53 75 62 4c 69 6e 6b 20 6e 6f 64 65 | mutator.(below)...*.SubLink.node |
146c0 | 2e 20 20 4d 75 74 61 74 6f 72 73 20 74 68 61 74 20 77 61 6e 74 20 74 6f 20 64 65 73 63 65 6e 64 | ...Mutators.that.want.to.descend |
146e0 | 20 69 6e 74 6f 20 73 75 62 2d 73 65 6c 65 63 74 73 20 77 69 6c 6c 20 75 73 75 61 6c 6c 79 00 20 | .into.sub-selects.will.usually.. |
14700 | 2a 20 76 69 73 69 74 65 64 20 6f 72 20 6d 6f 64 69 66 69 65 64 3b 20 74 68 65 20 6f 72 69 67 69 | *.visited.or.modified;.the.origi |
14720 | 6e 61 6c 20 73 75 62 2d 73 65 6c 65 63 74 20 77 69 6c 6c 20 62 65 20 6c 69 6e 6b 65 64 20 74 6f | nal.sub-select.will.be.linked.to |
14740 | 20 62 79 20 74 68 65 20 6e 65 77 00 20 2a 20 6d 75 74 61 74 6f 72 20 64 6f 65 73 20 73 6f 6d 65 | .by.the.new..*.mutator.does.some |
14760 | 74 68 69 6e 67 20 73 70 65 63 69 61 6c 20 61 74 20 61 20 51 75 65 72 79 20 6e 6f 64 65 2c 20 73 | thing.special.at.a.Query.node,.s |
14780 | 75 62 2d 73 65 6c 65 63 74 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 00 20 2a 20 61 6e 64 20 72 65 | ub-selects.will.not.be..*.and.re |
147a0 | 74 75 72 6e 73 20 74 68 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 51 75 65 72 79 20 6e 6f 64 65 2e | turns.the.unmodified.Query.node. |
147c0 | 20 20 54 68 65 20 6e 65 74 20 65 66 66 65 63 74 20 69 73 20 74 68 61 74 20 75 6e 6c 65 73 73 20 | ..The.net.effect.is.that.unless. |
147e0 | 74 68 65 00 20 2a 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 6d 75 74 61 74 6f 72 20 69 | the..*.expression_tree_mutator.i |
14800 | 74 73 65 6c 66 20 69 73 20 63 61 6c 6c 65 64 20 6f 6e 20 61 20 51 75 65 72 79 20 6e 6f 64 65 2c | tself.is.called.on.a.Query.node, |
14820 | 20 69 74 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 00 20 2a 20 70 6c 61 6e 29 2e 20 20 49 74 20 77 | .it.does.nothing..*.plan)...It.w |
14840 | 69 6c 6c 20 61 6c 73 6f 20 63 61 6c 6c 20 74 68 65 20 6d 75 74 61 74 6f 72 20 6f 6e 20 74 68 65 | ill.also.call.the.mutator.on.the |
14860 | 20 73 75 62 2d 51 75 65 72 79 20 6e 6f 64 65 3b 20 68 6f 77 65 76 65 72 2c 20 77 68 65 6e 00 20 | .sub-Query.node;.however,.when.. |
14880 | 2a 20 69 6e 74 6f 20 74 68 65 20 22 74 65 73 74 65 78 70 72 22 20 73 75 62 74 72 65 65 20 28 77 | *.into.the."testexpr".subtree.(w |
148a0 | 68 69 63 68 20 69 73 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 62 65 6c 6f 6e 67 69 6e 67 20 | hich.is.an.expression.belonging. |
148c0 | 74 6f 20 74 68 65 20 6f 75 74 65 72 00 20 2a 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f | to.the.outer..*.expression_tree_ |
148e0 | 6d 75 74 61 74 6f 72 20 77 69 6c 6c 20 68 61 6e 64 6c 65 20 53 75 62 4c 69 6e 6b 20 6e 6f 64 65 | mutator.will.handle.SubLink.node |
14900 | 73 20 62 79 20 72 65 63 75 72 73 69 6e 67 20 6e 6f 72 6d 61 6c 6c 79 00 20 2a 00 20 2a 20 61 6e | s.by.recursing.normally..*..*.an |
14920 | 64 20 71 75 61 6c 69 66 69 65 72 20 63 6c 61 75 73 65 73 20 64 75 72 69 6e 67 20 74 68 65 20 70 | d.qualifier.clauses.during.the.p |
14940 | 6c 61 6e 6e 69 6e 67 20 73 74 61 67 65 2e 00 20 2a 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 | lanning.stage...*.expression_tre |
14960 | 65 5f 6d 75 74 61 74 6f 72 20 69 6e 63 6c 75 64 65 20 61 6c 6c 20 74 68 6f 73 65 20 6e 6f 72 6d | e_mutator.include.all.those.norm |
14980 | 61 6c 6c 79 20 66 6f 75 6e 64 20 69 6e 20 74 61 72 67 65 74 20 6c 69 73 74 73 00 20 2a 20 4a 75 | ally.found.in.target.lists..*.Ju |
149a0 | 73 74 20 61 73 20 66 6f 72 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 | st.as.for.expression_tree_walker |
149c0 | 2c 20 74 68 65 20 6e 6f 64 65 20 74 79 70 65 73 20 68 61 6e 64 6c 65 64 20 62 79 00 20 2a 00 20 | ,.the.node.types.handled.by..*.. |
149e0 | 2a 20 74 68 61 74 20 69 74 20 68 61 73 20 6e 6f 20 69 6e 74 65 72 65 73 74 20 69 6e 2e 00 20 2a | *.that.it.has.no.interest.in...* |
14a00 | 20 63 6f 70 79 69 6e 67 20 70 72 6f 63 65 73 73 20 62 75 74 20 6e 65 65 64 20 6e 6f 74 20 64 69 | .copying.process.but.need.not.di |
14a20 | 72 65 63 74 6c 79 20 64 65 61 6c 20 77 69 74 68 20 65 78 70 72 65 73 73 69 6f 6e 20 74 72 65 65 | rectly.deal.with.expression.tree |
14a40 | 73 00 20 2a 20 6f 66 20 74 68 61 74 20 4e 6f 64 65 2e 20 20 49 6e 20 74 68 69 73 20 77 61 79 2c | s..*.of.that.Node...In.this.way, |
14a60 | 20 6d 79 5f 6d 75 74 61 74 6f 72 28 29 20 68 61 73 20 66 75 6c 6c 20 63 6f 6e 74 72 6f 6c 20 6f | .my_mutator().has.full.control.o |
14a80 | 76 65 72 20 74 68 65 00 20 2a 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 4e 6f 64 65 2c 20 62 75 | ver.the..*.of.the.given.Node,.bu |
14aa0 | 74 20 69 6e 76 6f 6b 65 20 6d 79 5f 6d 75 74 61 74 6f 72 28 29 20 74 6f 20 63 6f 70 79 20 74 68 | t.invoke.my_mutator().to.copy.th |
14ac0 | 65 20 73 75 62 2d 6e 6f 64 65 28 73 29 00 20 2a 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 | e.sub-node(s)..*.If.expression_t |
14ae0 | 72 65 65 5f 6d 75 74 61 74 6f 72 28 29 20 69 73 20 63 61 6c 6c 65 64 2c 20 69 74 20 77 69 6c 6c | ree_mutator().is.called,.it.will |
14b00 | 20 6d 61 6b 65 20 61 6e 20 65 78 61 63 74 20 63 6f 70 79 00 20 2a 20 45 61 63 68 20 6c 65 76 65 | .make.an.exact.copy..*.Each.leve |
14b20 | 6c 20 6f 66 20 72 65 63 75 72 73 69 6f 6e 20 6d 75 73 74 20 72 65 74 75 72 6e 20 61 6e 20 61 70 | l.of.recursion.must.return.an.ap |
14b40 | 70 72 6f 70 72 69 61 74 65 6c 79 20 6d 6f 64 69 66 69 65 64 20 4e 6f 64 65 2e 00 20 2a 00 20 2a | propriately.modified.Node...*..* |
14b60 | 20 74 6f 70 2d 6c 65 76 65 6c 20 6e 6f 64 65 20 6f 66 20 74 68 65 20 74 72 65 65 2c 20 61 6e 64 | .top-level.node.of.the.tree,.and |
14b80 | 20 64 6f 65 73 20 61 6e 79 20 72 65 71 75 69 72 65 64 20 70 6f 73 74 2d 70 72 6f 63 65 73 73 69 | .does.any.required.post-processi |
14ba0 | 6e 67 2e 00 20 2a 20 66 69 6c 6c 73 20 69 6e 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 | ng...*.fills.in.the.appropriate. |
14bc0 | 63 6f 6e 74 65 78 74 20 73 74 72 75 63 74 2c 20 63 61 6c 6c 73 20 6d 79 5f 6d 75 74 61 74 6f 72 | context.struct,.calls.my_mutator |
14be0 | 20 77 69 74 68 20 74 68 65 00 20 2a 20 6f 66 20 6d 79 5f 6d 75 74 61 74 6f 72 2e 20 20 54 68 65 | .with.the..*.of.my_mutator...The |
14c00 | 20 74 72 65 65 20 77 61 6c 6b 20 69 73 20 73 74 61 72 74 65 64 20 66 72 6f 6d 20 61 20 73 65 74 | .tree.walk.is.started.from.a.set |
14c20 | 75 70 20 72 6f 75 74 69 6e 65 20 74 68 61 74 00 20 2a 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 | up.routine.that..*.expression_tr |
14c40 | 65 65 5f 6d 75 74 61 74 6f 72 2c 20 62 75 74 20 69 74 20 69 73 20 70 61 73 73 65 64 20 64 6f 77 | ee_mutator,.but.it.is.passed.dow |
14c60 | 6e 20 74 6f 20 72 65 63 75 72 73 69 76 65 20 73 75 62 2d 69 6e 76 6f 63 61 74 69 6f 6e 73 00 20 | n.to.recursive.sub-invocations.. |
14c80 | 2a 20 64 61 74 61 20 67 61 74 68 65 72 65 64 20 62 79 20 74 68 65 20 6d 75 74 61 74 6f 72 2c 20 | *.data.gathered.by.the.mutator,. |
14ca0 | 74 6f 6f 2e 20 20 54 68 69 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 74 6f 75 63 68 | too...This.argument.is.not.touch |
14cc0 | 65 64 20 62 79 00 20 2a 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 65 20 6d 75 74 61 74 6f 72 | ed.by..*.information.the.mutator |
14ce0 | 20 72 6f 75 74 69 6e 65 20 6e 65 65 64 73 20 2d 2d 2d 20 69 74 20 63 61 6e 20 62 65 20 75 73 65 | .routine.needs.---.it.can.be.use |
14d00 | 64 20 74 6f 20 72 65 74 75 72 6e 20 65 78 74 72 61 00 20 2a 20 54 68 65 20 22 63 6f 6e 74 65 78 | d.to.return.extra..*.The."contex |
14d20 | 74 22 20 61 72 67 75 6d 65 6e 74 20 70 6f 69 6e 74 73 20 74 6f 20 61 20 73 74 72 75 63 74 20 74 | t".argument.points.to.a.struct.t |
14d40 | 68 61 74 20 68 6f 6c 64 73 20 77 68 61 74 65 76 65 72 20 63 6f 6e 74 65 78 74 00 20 2a 00 20 2a | hat.holds.whatever.context..*..* |
14d60 | 20 7d 00 20 2a 09 09 72 65 74 75 72 6e 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 6d 75 | .}..*..return.expression_tree_mu |
14d80 | 74 61 74 6f 72 28 6e 6f 64 65 2c 20 6d 79 5f 6d 75 74 61 74 6f 72 2c 20 28 76 6f 69 64 20 2a 29 | tator(node,.my_mutator,.(void.*) |
14da0 | 20 63 6f 6e 74 65 78 74 29 3b 00 20 2a 09 09 2f 2f 20 66 6f 72 20 61 6e 79 20 6e 6f 64 65 20 74 | .context);..*..//.for.any.node.t |
14dc0 | 79 70 65 20 6e 6f 74 20 73 70 65 63 69 61 6c 6c 79 20 70 72 6f 63 65 73 73 65 64 2c 20 64 6f 3a | ype.not.specially.processed,.do: |
14de0 | 00 20 2a 09 09 7d 00 20 2a 09 09 09 2e 2e 2e 20 64 6f 20 73 70 65 63 69 61 6c 20 74 72 61 6e 73 | ..*..}..*.......do.special.trans |
14e00 | 66 6f 72 6d 61 74 69 6f 6e 73 20 6f 66 20 6f 74 68 65 72 20 6e 6f 64 65 20 74 79 70 65 73 00 20 | formations.of.other.node.types.. |
14e20 | 2a 09 09 7b 00 20 2a 09 09 65 6c 73 65 20 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 2e 2e 2e 29 | *..{..*..else.if.(IsA(node,....) |
14e40 | 29 00 20 2a 09 09 7d 00 20 2a 09 09 09 2e 2e 2e 20 63 72 65 61 74 65 20 61 6e 64 20 72 65 74 75 | )..*..}..*.......create.and.retu |
14e60 | 72 6e 20 6d 6f 64 69 66 69 65 64 20 63 6f 70 79 20 6f 66 20 56 61 72 20 6e 6f 64 65 00 20 2a 09 | rn.modified.copy.of.Var.node..*. |
14e80 | 09 7b 00 20 2a 09 09 69 66 20 28 49 73 41 28 6e 6f 64 65 2c 20 56 61 72 29 29 00 20 2a 09 09 2f | .{..*..if.(IsA(node,.Var))..*../ |
14ea0 | 2f 20 63 68 65 63 6b 20 66 6f 72 20 6e 6f 64 65 73 20 74 68 61 74 20 73 70 65 63 69 61 6c 20 77 | /.check.for.nodes.that.special.w |
14ec0 | 6f 72 6b 20 69 73 20 72 65 71 75 69 72 65 64 20 66 6f 72 2c 20 65 67 3a 00 20 2a 09 09 09 72 65 | ork.is.required.for,.eg:..*...re |
14ee0 | 74 75 72 6e 20 4e 55 4c 4c 3b 00 20 2a 09 09 69 66 20 28 6e 6f 64 65 20 3d 3d 20 4e 55 4c 4c 29 | turn.NULL;..*..if.(node.==.NULL) |
14f00 | 00 20 2a 20 7b 00 20 2a 20 4e 6f 64 65 20 2a 20 6d 79 5f 6d 75 74 61 74 6f 72 20 28 4e 6f 64 65 | ..*.{..*.Node.*.my_mutator.(Node |
14f20 | 20 2a 6e 6f 64 65 2c 20 6d 79 5f 73 74 72 75 63 74 20 2a 63 6f 6e 74 65 78 74 29 00 20 2a 00 20 | .*node,.my_struct.*context)..*.. |
14f40 | 2a 20 41 20 6d 75 74 61 74 6f 72 20 72 6f 75 74 69 6e 65 20 73 68 6f 75 6c 64 20 6c 6f 6f 6b 20 | *.A.mutator.routine.should.look. |
14f60 | 6c 69 6b 65 20 74 68 69 73 3a 00 20 2a 20 28 6f 72 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 20 | like.this:..*.(or.appropriately. |
14f80 | 6d 6f 64 69 66 69 65 64 20 73 75 62 73 74 69 74 75 74 65 20 66 6f 72 29 20 74 68 65 20 73 75 62 | modified.substitute.for).the.sub |
14fa0 | 74 72 65 65 20 69 74 20 69 73 20 68 61 6e 64 65 64 2e 00 20 2a 20 6e 6f 74 20 63 68 61 6e 67 65 | tree.it.is.handed...*.not.change |
14fc0 | 64 2e 20 20 45 61 63 68 20 72 65 63 75 72 73 69 6f 6e 20 6c 65 76 65 6c 20 69 73 20 72 65 73 70 | d...Each.recursion.level.is.resp |
14fe0 | 6f 6e 73 69 62 6c 65 20 66 6f 72 20 72 65 74 75 72 6e 69 6e 67 20 61 20 63 6f 70 79 20 6f 66 00 | onsible.for.returning.a.copy.of. |
15000 | 61 64 00 00 01 00 00 00 2d 02 00 00 00 10 00 00 84 00 00 00 00 00 00 00 fd 0f 00 00 f7 0f 00 00 | ad......-....................... |
15020 | b6 0f 00 00 71 0f 00 00 4f 0f 00 00 48 0f 00 00 3a 0f 00 00 35 0f 00 00 14 0f 00 00 fe 0e 00 00 | ....q...O...H...:...5........... |
15040 | fd 0e 00 00 dc 0e 00 00 bf 0e 00 00 ba 0e 00 00 b0 0e 00 00 a0 0e 00 00 9b 0e 00 00 73 0e 00 00 | ............................s... |
15060 | 5c 0e 00 00 5b 0e 00 00 34 0e 00 00 fb 0d 00 00 de 0d 00 00 d9 0d 00 00 cf 0d 00 00 bf 0d 00 00 | \...[...4....................... |
15080 | a1 0d 00 00 8a 0d 00 00 73 0d 00 00 5b 0d 00 00 45 0d 00 00 2b 0d 00 00 06 0d 00 00 ec 0c 00 00 | ........s...[...E...+........... |
150a0 | e7 0c 00 00 b2 0c 00 00 94 0c 00 00 93 0c 00 00 66 0c 00 00 38 0c 00 00 1b 0c 00 00 16 0c 00 00 | ................f...8........... |
150c0 | 05 0c 00 00 00 0c 00 00 d7 0b 00 00 bf 0b 00 00 be 0b 00 00 97 0b 00 00 54 0b 00 00 23 0b 00 00 | ........................T...#... |
150e0 | ea 0a 00 00 ab 0a 00 00 70 0a 00 00 53 0a 00 00 4e 0a 00 00 44 0a 00 00 2d 0a 00 00 28 0a 00 00 | ........p...S...N...D...-...(... |
15100 | f4 09 00 00 d9 09 00 00 d8 09 00 00 a9 09 00 00 76 09 00 00 75 09 00 00 6e 09 00 00 2c 09 00 00 | ................v...u...n...,... |
15120 | e9 08 00 00 ac 08 00 00 6d 08 00 00 66 08 00 00 26 08 00 00 e9 07 00 00 e1 07 00 00 b2 07 00 00 | ........m...f...&............... |
15140 | 83 07 00 00 82 07 00 00 65 07 00 00 60 07 00 00 56 07 00 00 41 07 00 00 3c 07 00 00 0f 07 00 00 | ........e...`...V...A...<....... |
15160 | f6 06 00 00 f5 06 00 00 cb 06 00 00 9b 06 00 00 61 06 00 00 44 06 00 00 3f 06 00 00 35 06 00 00 | ................a...D...?...5... |
15180 | 22 06 00 00 1d 06 00 00 ef 05 00 00 d6 05 00 00 d5 05 00 00 aa 05 00 00 6a 05 00 00 59 05 00 00 | ".......................j...Y... |
151a0 | 19 05 00 00 08 05 00 00 d8 04 00 00 c7 04 00 00 8d 04 00 00 7c 04 00 00 5f 04 00 00 5a 04 00 00 | ....................|..._...Z... |
151c0 | 50 04 00 00 3d 04 00 00 38 04 00 00 0e 04 00 00 f5 03 00 00 f4 03 00 00 cd 03 00 00 9e 03 00 00 | P...=...8....................... |
151e0 | 81 03 00 00 7c 03 00 00 72 03 00 00 5b 03 00 00 56 03 00 00 25 03 00 00 0a 03 00 00 09 03 00 00 | ....|...r...[...V...%........... |
15200 | dd 02 00 00 af 02 00 00 92 02 00 00 8d 02 00 00 83 02 00 00 72 02 00 00 6d 02 00 00 46 02 00 00 | ....................r...m...F... |
15220 | 2e 02 00 00 2d 02 00 00 00 00 00 00 00 00 09 09 09 09 4f 70 45 78 70 72 09 20 20 20 2a 6e 65 77 | ....-.............OpExpr....*new |
15240 | 6e 6f 64 65 3b 00 09 09 09 09 4f 70 45 78 70 72 09 20 20 20 2a 65 78 70 72 20 3d 20 28 4f 70 45 | node;.....OpExpr....*expr.=.(OpE |
15260 | 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 4f 70 45 78 70 | xpr.*).node;....{...case.T_OpExp |
15280 | 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f | r:....break;....}.....return.(No |
152a0 | 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 | de.*).newnode;.....MUTATE(newnod |
152c0 | 65 2d 3e 61 72 67 2c 20 6e 65 78 70 72 2d 3e 61 72 67 2c 20 45 78 70 72 20 2a 29 3b 00 09 09 09 | e->arg,.nexpr->arg,.Expr.*);.... |
152e0 | 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 6e 65 78 70 72 2c 20 4e 61 6d 65 64 41 | .FLATCOPY(newnode,.nexpr,.NamedA |
15300 | 72 67 45 78 70 72 29 3b 00 00 09 09 09 09 4e 61 6d 65 64 41 72 67 45 78 70 72 20 2a 6e 65 77 6e | rgExpr);......NamedArgExpr.*newn |
15320 | 6f 64 65 3b 00 09 09 09 09 4e 61 6d 65 64 41 72 67 45 78 70 72 20 2a 6e 65 78 70 72 20 3d 20 28 | ode;.....NamedArgExpr.*nexpr.=.( |
15340 | 4e 61 6d 65 64 41 72 67 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 | NamedArgExpr.*).node;....{...cas |
15360 | 65 20 54 5f 4e 61 6d 65 64 41 72 67 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d | e.T_NamedArgExpr:....break;....} |
15380 | 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 | .....return.(Node.*).newnode;... |
153a0 | 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 65 78 70 72 2d 3e 61 72 | ..MUTATE(newnode->args,.expr->ar |
153c0 | 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 | gs,.List.*);.....FLATCOPY(newnod |
153e0 | 65 2c 20 65 78 70 72 2c 20 46 75 6e 63 45 78 70 72 29 3b 00 00 09 09 09 09 46 75 6e 63 45 78 70 | e,.expr,.FuncExpr);......FuncExp |
15400 | 72 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 46 75 6e 63 45 78 70 72 20 20 20 2a 65 78 | r...*newnode;.....FuncExpr...*ex |
15420 | 70 72 20 3d 20 28 46 75 6e 63 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 | pr.=.(FuncExpr.*).node;....{...c |
15440 | 61 73 65 20 54 5f 46 75 6e 63 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 | ase.T_FuncExpr:....break;....}.. |
15460 | 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 | ...return.(Node.*).newnode;..... |
15480 | 09 20 20 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d | ....Expr.*);.....MUTATE(newnode- |
154a0 | 3e 72 65 66 61 73 73 67 6e 65 78 70 72 2c 20 61 72 72 61 79 72 65 66 2d 3e 72 65 66 61 73 73 67 | >refassgnexpr,.arrayref->refassg |
154c0 | 6e 65 78 70 72 2c 00 09 09 09 09 09 20 20 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 | nexpr,.........Expr.*);.....MUTA |
154e0 | 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 72 65 66 65 78 70 72 2c 20 61 72 72 61 79 72 65 66 2d 3e 72 | TE(newnode->refexpr,.arrayref->r |
15500 | 65 66 65 78 70 72 2c 00 09 09 09 09 09 20 20 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 4d 55 54 | efexpr,.........List.*);.....MUT |
15520 | 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 72 65 66 6c 6f 77 65 72 69 6e 64 65 78 70 72 2c 20 61 72 | ATE(newnode->reflowerindexpr,.ar |
15540 | 72 61 79 72 65 66 2d 3e 72 65 66 6c 6f 77 65 72 69 6e 64 65 78 70 72 2c 00 09 09 09 09 09 20 20 | rayref->reflowerindexpr,........ |
15560 | 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 72 65 | .List.*);.....MUTATE(newnode->re |
15580 | 66 75 70 70 65 72 69 6e 64 65 78 70 72 2c 20 61 72 72 61 79 72 65 66 2d 3e 72 65 66 75 70 70 65 | fupperindexpr,.arrayref->refuppe |
155a0 | 72 69 6e 64 65 78 70 72 2c 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 | rindexpr,.....FLATCOPY(newnode,. |
155c0 | 61 72 72 61 79 72 65 66 2c 20 41 72 72 61 79 52 65 66 29 3b 00 00 09 09 09 09 41 72 72 61 79 52 | arrayref,.ArrayRef);......ArrayR |
155e0 | 65 66 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 41 72 72 61 79 52 65 66 20 20 20 2a 61 | ef...*newnode;.....ArrayRef...*a |
15600 | 72 72 61 79 72 65 66 20 3d 20 28 41 72 72 61 79 52 65 66 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 | rrayref.=.(ArrayRef.*).node;.... |
15620 | 7b 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 52 65 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | {...case.T_ArrayRef:....break;.. |
15640 | 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b | ..}.....return.(Node.*).newnode; |
15660 | 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 67 67 66 69 6c 74 65 72 2c 20 | .....MUTATE(newnode->aggfilter,. |
15680 | 77 66 75 6e 63 2d 3e 61 67 67 66 69 6c 74 65 72 2c 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 4d | wfunc->aggfilter,.Expr.*);.....M |
156a0 | 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 77 66 75 6e 63 2d 3e 61 72 67 73 | UTATE(newnode->args,.wfunc->args |
156c0 | 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c | ,.List.*);.....FLATCOPY(newnode, |
156e0 | 20 77 66 75 6e 63 2c 20 57 69 6e 64 6f 77 46 75 6e 63 29 3b 00 00 09 09 09 09 57 69 6e 64 6f 77 | .wfunc,.WindowFunc);......Window |
15700 | 46 75 6e 63 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 57 69 6e 64 6f 77 46 75 6e 63 20 2a 77 | Func.*newnode;.....WindowFunc.*w |
15720 | 66 75 6e 63 20 3d 20 28 57 69 6e 64 6f 77 46 75 6e 63 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b | func.=.(WindowFunc.*).node;....{ |
15740 | 00 09 09 63 61 73 65 20 54 5f 57 69 6e 64 6f 77 46 75 6e 63 3a 00 09 09 09 62 72 65 61 6b 3b 00 | ...case.T_WindowFunc:....break;. |
15760 | 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 | ...}.....return.(Node.*).newnode |
15780 | 3b 00 00 09 09 09 09 6e 65 77 6e 6f 64 65 2d 3e 63 6f 6c 73 20 3d 20 6c 69 73 74 5f 63 6f 70 79 | ;......newnode->cols.=.list_copy |
157a0 | 28 67 72 6f 75 70 69 6e 67 2d 3e 63 6f 6c 73 29 3b 00 09 09 09 09 6e 65 77 6e 6f 64 65 2d 3e 72 | (grouping->cols);.....newnode->r |
157c0 | 65 66 73 20 3d 20 6c 69 73 74 5f 63 6f 70 79 28 67 72 6f 75 70 69 6e 67 2d 3e 72 65 66 73 29 3b | efs.=.list_copy(grouping->refs); |
157e0 | 00 09 09 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 68 61 6e 64 6c 65 20 74 68 65 20 72 65 66 73 20 | ......*/......*.handle.the.refs. |
15800 | 61 6e 64 20 63 6f 6c 73 20 6c 69 73 74 73 20 69 74 73 65 6c 66 20 61 73 20 61 70 70 72 6f 70 72 | and.cols.lists.itself.as.appropr |
15820 | 69 61 74 65 2e 00 09 09 09 09 20 2a 20 49 66 20 61 20 6d 75 74 61 74 6f 72 20 73 6f 6d 65 68 6f | iate.......*.If.a.mutator.someho |
15840 | 77 20 77 61 6e 74 65 64 20 74 6f 20 64 6f 20 74 68 69 73 2c 20 69 74 20 77 6f 75 6c 64 20 68 61 | w.wanted.to.do.this,.it.would.ha |
15860 | 76 65 20 74 6f 00 09 09 09 09 20 2a 00 09 09 09 09 20 2a 20 70 72 65 76 69 6f 75 73 6c 79 20 6d | ve.to......*......*.previously.m |
15880 | 61 74 63 68 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 74 68 65 20 47 52 4f 55 50 | atching.expressions.in.the.GROUP |
158a0 | 20 42 59 20 63 6c 61 75 73 65 2e 00 09 09 09 09 20 2a 20 77 61 79 20 74 68 61 74 20 6d 61 6b 65 | .BY.clause.......*.way.that.make |
158c0 | 73 20 74 68 65 6d 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 64 69 66 66 65 72 65 6e 74 20 66 72 | s.them.semantically.different.fr |
158e0 | 6f 6d 20 74 68 65 69 72 00 09 09 09 09 20 2a 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2c 20 69 | om.their......*.the.semantics,.i |
15900 | 2e 65 2e 20 74 68 61 74 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6e 6f 74 20 6d | .e..that.the.arguments.are.not.m |
15920 | 75 74 61 74 65 64 20 69 6e 20 61 00 09 09 09 09 20 2a 20 57 65 20 61 73 73 75 6d 65 20 68 65 72 | utated.in.a......*.We.assume.her |
15940 | 65 20 74 68 61 74 20 6d 75 74 61 74 69 6e 67 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 64 6f | e.that.mutating.the.arguments.do |
15960 | 65 73 20 6e 6f 74 20 63 68 61 6e 67 65 00 09 09 09 09 2f 2a 00 00 09 09 09 09 4d 55 54 41 54 45 | es.not.change...../*......MUTATE |
15980 | 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 67 72 6f 75 70 69 6e 67 2d 3e 61 72 67 73 2c 20 | (newnode->args,.grouping->args,. |
159a0 | 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 67 | List.*);.....FLATCOPY(newnode,.g |
159c0 | 72 6f 75 70 69 6e 67 2c 20 47 72 6f 75 70 69 6e 67 46 75 6e 63 29 3b 00 00 09 09 09 09 47 72 6f | rouping,.GroupingFunc);......Gro |
159e0 | 75 70 69 6e 67 46 75 6e 63 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 47 72 6f 75 70 69 6e 67 | upingFunc.*newnode;.....Grouping |
15a00 | 46 75 6e 63 20 2a 67 72 6f 75 70 69 6e 67 20 3d 20 28 47 72 6f 75 70 69 6e 67 46 75 6e 63 20 2a | Func.*grouping.=.(GroupingFunc.* |
15a20 | 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 47 72 6f 75 70 69 6e 67 46 75 | ).node;....{...case.T_GroupingFu |
15a40 | 6e 63 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e | nc:....break;....}.....return.(N |
15a60 | 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f | ode.*).newnode;.....MUTATE(newno |
15a80 | 64 65 2d 3e 61 67 67 66 69 6c 74 65 72 2c 20 61 67 67 72 65 66 2d 3e 61 67 67 66 69 6c 74 65 72 | de->aggfilter,.aggref->aggfilter |
15aa0 | 2c 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 | ,.Expr.*);.....MUTATE(newnode->a |
15ac0 | 67 67 64 69 73 74 69 6e 63 74 2c 20 61 67 67 72 65 66 2d 3e 61 67 67 64 69 73 74 69 6e 63 74 2c | ggdistinct,.aggref->aggdistinct, |
15ae0 | 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 67 | .List.*);.....MUTATE(newnode->ag |
15b00 | 67 6f 72 64 65 72 2c 20 61 67 67 72 65 66 2d 3e 61 67 67 6f 72 64 65 72 2c 20 4c 69 73 74 20 2a | gorder,.aggref->aggorder,.List.* |
15b20 | 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 61 67 67 | );.....MUTATE(newnode->args,.agg |
15b40 | 72 65 66 2d 3e 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e | ref->args,.List.*);.....MUTATE(n |
15b60 | 65 77 6e 6f 64 65 2d 3e 61 67 67 64 69 72 65 63 74 61 72 67 73 2c 20 61 67 67 72 65 66 2d 3e 61 | ewnode->aggdirectargs,.aggref->a |
15b80 | 67 67 64 69 72 65 63 74 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 | ggdirectargs,.List.*);.....FLATC |
15ba0 | 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 61 67 67 72 65 66 2c 20 41 67 67 72 65 66 29 3b 00 00 09 | OPY(newnode,.aggref,.Aggref);... |
15bc0 | 09 09 09 41 67 67 72 65 66 09 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 41 67 67 72 65 | ...Aggref....*newnode;.....Aggre |
15be0 | 66 09 20 20 20 2a 61 67 67 72 65 66 20 3d 20 28 41 67 67 72 65 66 20 2a 29 20 6e 6f 64 65 3b 00 | f....*aggref.=.(Aggref.*).node;. |
15c00 | 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 67 67 72 65 66 3a 00 09 09 09 7d 00 09 09 09 09 72 | ...{...case.T_Aggref:....}.....r |
15c20 | 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 | eturn.(Node.*).newnode;.....MUTA |
15c40 | 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 71 75 61 6c 2c 20 77 63 6f 2d 3e 71 75 61 6c 2c 20 4e 6f 64 | TE(newnode->qual,.wco->qual,.Nod |
15c60 | 65 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 77 63 6f 2c | e.*);.....FLATCOPY(newnode,.wco, |
15c80 | 20 57 69 74 68 43 68 65 63 6b 4f 70 74 69 6f 6e 29 3b 00 00 09 09 09 09 57 69 74 68 43 68 65 63 | .WithCheckOption);......WithChec |
15ca0 | 6b 4f 70 74 69 6f 6e 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 57 69 74 68 43 68 65 63 6b 4f | kOption.*newnode;.....WithCheckO |
15cc0 | 70 74 69 6f 6e 20 2a 77 63 6f 20 3d 20 28 57 69 74 68 43 68 65 63 6b 4f 70 74 69 6f 6e 20 2a 29 | ption.*wco.=.(WithCheckOption.*) |
15ce0 | 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 57 69 74 68 43 68 65 63 6b 4f 70 | .node;....{...case.T_WithCheckOp |
15d00 | 74 69 6f 6e 3a 00 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 63 6f 70 79 4f 62 6a | tion:....return.(Node.*).copyObj |
15d20 | 65 63 74 28 6e 6f 64 65 29 3b 00 09 09 63 61 73 65 20 54 5f 53 6f 72 74 47 72 6f 75 70 43 6c 61 | ect(node);...case.T_SortGroupCla |
15d40 | 75 73 65 3a 00 09 09 63 61 73 65 20 54 5f 52 61 6e 67 65 54 62 6c 52 65 66 3a 00 09 09 63 61 73 | use:...case.T_RangeTblRef:...cas |
15d60 | 65 20 54 5f 43 75 72 72 65 6e 74 4f 66 45 78 70 72 3a 00 09 09 63 61 73 65 20 54 5f 53 65 74 54 | e.T_CurrentOfExpr:...case.T_SetT |
15d80 | 6f 44 65 66 61 75 6c 74 3a 00 09 09 63 61 73 65 20 54 5f 43 61 73 65 54 65 73 74 45 78 70 72 3a | oDefault:...case.T_CaseTestExpr: |
15da0 | 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 56 61 6c 75 65 3a 00 09 | ...case.T_CoerceToDomainValue:.. |
15dc0 | 09 63 61 73 65 20 54 5f 50 61 72 61 6d 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 | .case.T_Param:....break;....}... |
15de0 | 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 2f | ..return.(Node.*).newnode;...../ |
15e00 | 2a 20 58 58 58 20 77 65 20 64 6f 6e 27 74 20 62 6f 74 68 65 72 20 77 69 74 68 20 64 61 74 75 6d | *.XXX.we.don't.bother.with.datum |
15e20 | 43 6f 70 79 3b 20 73 68 6f 75 6c 64 20 77 65 3f 20 2a 2f 00 09 09 09 09 46 4c 41 54 43 4f 50 59 | Copy;.should.we?.*/.....FLATCOPY |
15e40 | 28 6e 65 77 6e 6f 64 65 2c 20 6f 6c 64 6e 6f 64 65 2c 20 43 6f 6e 73 74 29 3b 00 00 09 09 09 09 | (newnode,.oldnode,.Const);...... |
15e60 | 43 6f 6e 73 74 09 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 43 6f 6e 73 74 09 20 20 20 | Const....*newnode;.....Const.... |
15e80 | 2a 6f 6c 64 6e 6f 64 65 20 3d 20 28 43 6f 6e 73 74 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 | *oldnode.=.(Const.*).node;....{. |
15ea0 | 09 09 63 61 73 65 20 54 5f 43 6f 6e 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 | ..case.T_Const:....break;....}.. |
15ec0 | 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 | ...return.(Node.*).newnode;..... |
15ee0 | 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 76 61 72 2c 20 56 61 72 29 3b 00 00 09 09 | FLATCOPY(newnode,.var,.Var);.... |
15f00 | 09 09 56 61 72 09 09 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 56 61 72 09 09 20 20 20 | ..Var.....*newnode;.....Var..... |
15f20 | 2a 76 61 72 20 3d 20 28 56 61 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 | *var.=.(Var.*).node;....{...case |
15f40 | 20 54 5f 56 61 72 3a 00 09 09 09 20 2a 2f 00 09 09 09 20 2a 20 77 65 20 6a 75 73 74 20 75 73 65 | .T_Var:.....*/.....*.we.just.use |
15f60 | 20 63 6f 70 79 4f 62 6a 65 63 74 20 66 6f 72 2e 00 09 09 09 20 2a 20 43 6f 6e 73 74 20 61 72 65 | .copyObject.for......*.Const.are |
15f80 | 20 66 72 65 71 75 65 6e 74 20 65 6e 6f 75 67 68 20 74 6f 20 64 65 73 65 72 76 65 20 73 70 65 63 | .frequent.enough.to.deserve.spec |
15fa0 | 69 61 6c 20 63 61 73 65 73 2c 20 74 68 65 20 6f 74 68 65 72 73 00 09 09 09 20 2a 20 50 72 69 6d | ial.cases,.the.others.....*.Prim |
15fc0 | 69 74 69 76 65 20 6e 6f 64 65 20 74 79 70 65 73 20 77 69 74 68 20 6e 6f 20 65 78 70 72 65 73 73 | itive.node.types.with.no.express |
15fe0 | 69 6f 6e 20 73 75 62 6e 6f 64 65 73 2e 20 20 56 61 72 20 61 6e 64 00 09 09 09 2f 2a 00 09 7b 00 | ion.subnodes...Var.and..../*..{. |
16000 | 61 64 00 00 0f 00 00 00 43 02 00 00 00 10 00 00 86 00 00 00 00 00 00 00 db 0f 00 00 ac 0f 00 00 | ad......C....................... |
16020 | 8f 0f 00 00 8a 0f 00 00 80 0f 00 00 69 0f 00 00 64 0f 00 00 34 0f 00 00 19 0f 00 00 18 0f 00 00 | ............i...d...4........... |
16040 | ed 0e 00 00 be 0e 00 00 a1 0e 00 00 9c 0e 00 00 92 0e 00 00 7d 0e 00 00 78 0e 00 00 4c 0e 00 00 | ....................}...x...L... |
16060 | 33 0e 00 00 32 0e 00 00 09 0e 00 00 da 0d 00 00 bd 0d 00 00 b8 0d 00 00 ae 0d 00 00 92 0d 00 00 | 3...2........................... |
16080 | 8d 0d 00 00 53 0d 00 00 33 0d 00 00 32 0d 00 00 02 0d 00 00 d3 0c 00 00 b6 0c 00 00 b1 0c 00 00 | ....S...3...2................... |
160a0 | a7 0c 00 00 94 0c 00 00 8f 0c 00 00 65 0c 00 00 4c 0c 00 00 4b 0c 00 00 24 0c 00 00 f5 0b 00 00 | ............e...L...K...$....... |
160c0 | d8 0b 00 00 d3 0b 00 00 c9 0b 00 00 b7 0b 00 00 b2 0b 00 00 86 0b 00 00 6d 0b 00 00 6c 0b 00 00 | ........................m...l... |
160e0 | 43 0b 00 00 09 0b 00 00 08 0b 00 00 01 0b 00 00 bf 0a 00 00 89 0a 00 00 81 0a 00 00 45 0a 00 00 | C...........................E... |
16100 | 28 0a 00 00 23 0a 00 00 19 0a 00 00 07 0a 00 00 02 0a 00 00 d6 09 00 00 bd 09 00 00 bc 09 00 00 | (...#........................... |
16120 | 93 09 00 00 76 09 00 00 3c 09 00 00 fd 08 00 00 cb 08 00 00 8a 08 00 00 6d 08 00 00 68 08 00 00 | ....v...<...............m...h... |
16140 | 5e 08 00 00 41 08 00 00 3c 08 00 00 fe 07 00 00 dd 07 00 00 dc 07 00 00 a9 07 00 00 70 07 00 00 | ^...A...<...................p... |
16160 | 53 07 00 00 4e 07 00 00 44 07 00 00 2e 07 00 00 29 07 00 00 f8 06 00 00 de 06 00 00 dd 06 00 00 | S...N...D.......)............... |
16180 | b0 06 00 00 80 06 00 00 63 06 00 00 5e 06 00 00 54 06 00 00 3f 06 00 00 3a 06 00 00 0c 06 00 00 | ........c...^...T...?...:....... |
161a0 | f3 05 00 00 f2 05 00 00 c7 05 00 00 98 05 00 00 61 05 00 00 2a 05 00 00 0d 05 00 00 08 05 00 00 | ................a...*........... |
161c0 | fe 04 00 00 e8 04 00 00 e3 04 00 00 b2 04 00 00 98 04 00 00 97 04 00 00 6a 04 00 00 3a 04 00 00 | ........................j...:... |
161e0 | 1d 04 00 00 18 04 00 00 0e 04 00 00 f8 03 00 00 f3 03 00 00 c1 03 00 00 a7 03 00 00 a6 03 00 00 | ................................ |
16200 | 78 03 00 00 47 03 00 00 2a 03 00 00 25 03 00 00 1b 03 00 00 01 03 00 00 fc 02 00 00 c3 02 00 00 | x...G...*...%................... |
16220 | a5 02 00 00 a4 02 00 00 73 02 00 00 43 02 00 00 42 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ........s...C...B............... |
16240 | 00 00 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 2c 20 61 63 6f 65 | .......MUTATE(newnode->arg,.acoe |
16260 | 72 63 65 2d 3e 61 72 67 2c 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 | rce->arg,.Expr.*);.....FLATCOPY( |
16280 | 6e 65 77 6e 6f 64 65 2c 20 61 63 6f 65 72 63 65 2c 20 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 | newnode,.acoerce,.ArrayCoerceExp |
162a0 | 72 29 3b 00 00 09 09 09 09 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 20 2a 6e 65 77 6e 6f 64 | r);......ArrayCoerceExpr.*newnod |
162c0 | 65 3b 00 09 09 09 09 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 20 2a 61 63 6f 65 72 63 65 20 | e;.....ArrayCoerceExpr.*acoerce. |
162e0 | 3d 20 28 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b | =.(ArrayCoerceExpr.*).node;....{ |
16300 | 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 43 6f 65 72 63 65 45 78 70 72 3a 00 09 09 09 62 72 | ...case.T_ArrayCoerceExpr:....br |
16320 | 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 | eak;....}.....return.(Node.*).ne |
16340 | 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 2c 20 | wnode;.....MUTATE(newnode->arg,. |
16360 | 69 6f 63 6f 65 72 63 65 2d 3e 61 72 67 2c 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 | iocoerce->arg,.Expr.*);.....FLAT |
16380 | 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 69 6f 63 6f 65 72 63 65 2c 20 43 6f 65 72 63 65 56 69 | COPY(newnode,.iocoerce,.CoerceVi |
163a0 | 61 49 4f 29 3b 00 00 09 09 09 09 43 6f 65 72 63 65 56 69 61 49 4f 20 2a 6e 65 77 6e 6f 64 65 3b | aIO);......CoerceViaIO.*newnode; |
163c0 | 00 09 09 09 09 43 6f 65 72 63 65 56 69 61 49 4f 20 2a 69 6f 63 6f 65 72 63 65 20 3d 20 28 43 6f | .....CoerceViaIO.*iocoerce.=.(Co |
163e0 | 65 72 63 65 56 69 61 49 4f 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 | erceViaIO.*).node;....{...case.T |
16400 | 5f 43 6f 65 72 63 65 56 69 61 49 4f 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 | _CoerceViaIO:....break;....}.... |
16420 | 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 | .return.(Node.*).newnode;.....MU |
16440 | 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 2c 20 72 65 6c 61 62 65 6c 2d 3e 61 72 67 2c | TATE(newnode->arg,.relabel->arg, |
16460 | 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 | .Expr.*);.....FLATCOPY(newnode,. |
16480 | 72 65 6c 61 62 65 6c 2c 20 52 65 6c 61 62 65 6c 54 79 70 65 29 3b 00 00 09 09 09 09 52 65 6c 61 | relabel,.RelabelType);......Rela |
164a0 | 62 65 6c 54 79 70 65 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 52 65 6c 61 62 65 6c 54 79 70 | belType.*newnode;.....RelabelTyp |
164c0 | 65 20 2a 72 65 6c 61 62 65 6c 20 3d 20 28 52 65 6c 61 62 65 6c 54 79 70 65 20 2a 29 20 6e 6f 64 | e.*relabel.=.(RelabelType.*).nod |
164e0 | 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 52 65 6c 61 62 65 6c 54 79 70 65 3a 00 09 09 | e;....{...case.T_RelabelType:... |
16500 | 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 | .break;....}.....return.(Node.*) |
16520 | 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 6e 65 77 6e 6f 64 65 2d 3e 66 69 65 6c 64 6e 75 6d 73 | .newnode;.....newnode->fieldnums |
16540 | 20 3d 20 6c 69 73 74 5f 63 6f 70 79 28 66 73 74 6f 72 65 2d 3e 66 69 65 6c 64 6e 75 6d 73 29 3b | .=.list_copy(fstore->fieldnums); |
16560 | 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 6e 65 77 76 61 6c 73 2c 20 66 73 | .....MUTATE(newnode->newvals,.fs |
16580 | 74 6f 72 65 2d 3e 6e 65 77 76 61 6c 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 | tore->newvals,.List.*);.....MUTA |
165a0 | 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 2c 20 66 73 74 6f 72 65 2d 3e 61 72 67 2c 20 45 78 | TE(newnode->arg,.fstore->arg,.Ex |
165c0 | 70 72 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 66 73 74 | pr.*);.....FLATCOPY(newnode,.fst |
165e0 | 6f 72 65 2c 20 46 69 65 6c 64 53 74 6f 72 65 29 3b 00 00 09 09 09 09 46 69 65 6c 64 53 74 6f 72 | ore,.FieldStore);......FieldStor |
16600 | 65 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 46 69 65 6c 64 53 74 6f 72 65 20 2a 66 73 74 6f | e.*newnode;.....FieldStore.*fsto |
16620 | 72 65 20 3d 20 28 46 69 65 6c 64 53 74 6f 72 65 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 | re.=.(FieldStore.*).node;....{.. |
16640 | 09 63 61 73 65 20 54 5f 46 69 65 6c 64 53 74 6f 72 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 | .case.T_FieldStore:....break;... |
16660 | 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 | .}.....return.(Node.*).newnode;. |
16680 | 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 2c 20 66 73 65 6c 65 63 74 | ....MUTATE(newnode->arg,.fselect |
166a0 | 2d 3e 61 72 67 2c 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 | ->arg,.Expr.*);.....FLATCOPY(new |
166c0 | 6e 6f 64 65 2c 20 66 73 65 6c 65 63 74 2c 20 46 69 65 6c 64 53 65 6c 65 63 74 29 3b 00 00 09 09 | node,.fselect,.FieldSelect);.... |
166e0 | 09 09 46 69 65 6c 64 53 65 6c 65 63 74 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 46 69 65 6c | ..FieldSelect.*newnode;.....Fiel |
16700 | 64 53 65 6c 65 63 74 20 2a 66 73 65 6c 65 63 74 20 3d 20 28 46 69 65 6c 64 53 65 6c 65 63 74 20 | dSelect.*fselect.=.(FieldSelect. |
16720 | 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 46 69 65 6c 64 53 65 6c 65 | *).node;....{...case.T_FieldSele |
16740 | 63 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e | ct:....break;....}.....return.(N |
16760 | 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f | ode.*).newnode;.....MUTATE(newno |
16780 | 64 65 2d 3e 73 75 62 70 6c 61 6e 73 2c 20 61 73 70 6c 61 6e 2d 3e 73 75 62 70 6c 61 6e 73 2c 20 | de->subplans,.asplan->subplans,. |
167a0 | 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 61 | List.*);.....FLATCOPY(newnode,.a |
167c0 | 73 70 6c 61 6e 2c 20 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 29 3b 00 00 09 09 09 | splan,.AlternativeSubPlan);..... |
167e0 | 09 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 | .AlternativeSubPlan.*newnode;... |
16800 | 09 09 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 20 2a 61 73 70 6c 61 6e 20 3d 20 28 | ..AlternativeSubPlan.*asplan.=.( |
16820 | 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b | AlternativeSubPlan.*).node;....{ |
16840 | 00 09 09 63 61 73 65 20 54 5f 41 6c 74 65 72 6e 61 74 69 76 65 53 75 62 50 6c 61 6e 3a 00 09 09 | ...case.T_AlternativeSubPlan:... |
16860 | 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 | .break;....}.....return.(Node.*) |
16880 | 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 2f 2a 20 62 75 74 20 6e 6f 74 20 74 68 65 20 73 75 62 | .newnode;...../*.but.not.the.sub |
168a0 | 2d 50 6c 61 6e 20 69 74 73 65 6c 66 2c 20 77 68 69 63 68 20 69 73 20 72 65 66 65 72 65 6e 63 65 | -Plan.itself,.which.is.reference |
168c0 | 64 20 61 73 2d 69 73 20 2a 2f 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 | d.as-is.*/.....MUTATE(newnode->a |
168e0 | 72 67 73 2c 20 73 75 62 70 6c 61 6e 2d 3e 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 | rgs,.subplan->args,.List.*);.... |
16900 | 09 2f 2a 20 74 72 61 6e 73 66 6f 72 6d 20 61 72 67 73 20 6c 69 73 74 20 28 70 61 72 61 6d 73 20 | ./*.transform.args.list.(params. |
16920 | 74 6f 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 73 75 62 70 6c 61 6e 29 20 2a 2f 00 09 09 09 09 | to.be.passed.to.subplan).*/..... |
16940 | 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 74 65 73 74 65 78 70 72 2c 20 73 75 62 70 6c 61 | MUTATE(newnode->testexpr,.subpla |
16960 | 6e 2d 3e 74 65 73 74 65 78 70 72 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 09 09 09 2f 2a 20 74 72 61 | n->testexpr,.Node.*);...../*.tra |
16980 | 6e 73 66 6f 72 6d 20 74 65 73 74 65 78 70 72 20 2a 2f 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 | nsform.testexpr.*/.....FLATCOPY( |
169a0 | 6e 65 77 6e 6f 64 65 2c 20 73 75 62 70 6c 61 6e 2c 20 53 75 62 50 6c 61 6e 29 3b 00 00 09 09 09 | newnode,.subplan,.SubPlan);..... |
169c0 | 09 53 75 62 50 6c 61 6e 20 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 53 75 62 50 6c 61 | .SubPlan....*newnode;.....SubPla |
169e0 | 6e 20 20 20 20 2a 73 75 62 70 6c 61 6e 20 3d 20 28 53 75 62 50 6c 61 6e 20 2a 29 20 6e 6f 64 65 | n....*subplan.=.(SubPlan.*).node |
16a00 | 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 53 75 62 50 6c 61 6e 3a 00 09 09 09 62 72 65 61 | ;....{...case.T_SubPlan:....brea |
16a20 | 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e | k;....}.....return.(Node.*).newn |
16a40 | 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 73 75 62 73 65 6c 65 | ode;.....MUTATE(newnode->subsele |
16a60 | 63 74 2c 20 73 75 62 6c 69 6e 6b 2d 3e 73 75 62 73 65 6c 65 63 74 2c 20 4e 6f 64 65 20 2a 29 3b | ct,.sublink->subselect,.Node.*); |
16a80 | 00 09 09 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 63 61 6e 20 72 65 63 75 72 73 65 20 69 6e 74 6f | ......*/......*.can.recurse.into |
16aa0 | 20 74 68 65 20 73 75 62 2d 71 75 65 72 79 20 69 66 20 69 74 20 77 61 6e 74 73 20 74 6f 2e 00 09 | .the.sub-query.if.it.wants.to... |
16ac0 | 09 09 09 20 2a 20 41 6c 73 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 6d 75 74 61 74 6f 72 20 6f 6e | ....*.Also.invoke.the.mutator.on |
16ae0 | 20 74 68 65 20 73 75 62 6c 69 6e 6b 27 73 20 51 75 65 72 79 20 6e 6f 64 65 2c 20 73 6f 20 69 74 | .the.sublink's.Query.node,.so.it |
16b00 | 00 09 09 09 09 2f 2a 00 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 74 65 73 | ...../*......MUTATE(newnode->tes |
16b20 | 74 65 78 70 72 2c 20 73 75 62 6c 69 6e 6b 2d 3e 74 65 73 74 65 78 70 72 2c 20 4e 6f 64 65 20 2a | texpr,.sublink->testexpr,.Node.* |
16b40 | 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 73 75 62 6c 69 6e 6b | );.....FLATCOPY(newnode,.sublink |
16b60 | 2c 20 53 75 62 4c 69 6e 6b 29 3b 00 00 09 09 09 09 53 75 62 4c 69 6e 6b 20 20 20 20 2a 6e 65 77 | ,.SubLink);......SubLink....*new |
16b80 | 6e 6f 64 65 3b 00 09 09 09 09 53 75 62 4c 69 6e 6b 20 20 20 20 2a 73 75 62 6c 69 6e 6b 20 3d 20 | node;.....SubLink....*sublink.=. |
16ba0 | 28 53 75 62 4c 69 6e 6b 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f | (SubLink.*).node;....{...case.T_ |
16bc0 | 53 75 62 4c 69 6e 6b 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 | SubLink:....break;....}.....retu |
16be0 | 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 | rn.(Node.*).newnode;.....MUTATE( |
16c00 | 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 65 78 70 72 2d 3e 61 72 67 73 2c 20 4c 69 73 74 20 | newnode->args,.expr->args,.List. |
16c20 | 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 65 78 70 72 2c 20 | *);.....FLATCOPY(newnode,.expr,. |
16c40 | 42 6f 6f 6c 45 78 70 72 29 3b 00 00 09 09 09 09 42 6f 6f 6c 45 78 70 72 20 20 20 2a 6e 65 77 6e | BoolExpr);......BoolExpr...*newn |
16c60 | 6f 64 65 3b 00 09 09 09 09 42 6f 6f 6c 45 78 70 72 20 20 20 2a 65 78 70 72 20 3d 20 28 42 6f 6f | ode;.....BoolExpr...*expr.=.(Boo |
16c80 | 6c 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 42 6f 6f | lExpr.*).node;....{...case.T_Boo |
16ca0 | 6c 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e | lExpr:....break;....}.....return |
16cc0 | 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 | .(Node.*).newnode;.....MUTATE(ne |
16ce0 | 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 65 78 70 72 2d 3e 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 | wnode->args,.expr->args,.List.*) |
16d00 | 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 65 78 70 72 2c 20 53 63 | ;.....FLATCOPY(newnode,.expr,.Sc |
16d20 | 61 6c 61 72 41 72 72 61 79 4f 70 45 78 70 72 29 3b 00 00 09 09 09 09 53 63 61 6c 61 72 41 72 72 | alarArrayOpExpr);......ScalarArr |
16d40 | 61 79 4f 70 45 78 70 72 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 53 63 61 6c 61 72 41 72 72 | ayOpExpr.*newnode;.....ScalarArr |
16d60 | 61 79 4f 70 45 78 70 72 20 2a 65 78 70 72 20 3d 20 28 53 63 61 6c 61 72 41 72 72 61 79 4f 70 45 | ayOpExpr.*expr.=.(ScalarArrayOpE |
16d80 | 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 53 63 61 6c 61 | xpr.*).node;....{...case.T_Scala |
16da0 | 72 41 72 72 61 79 4f 70 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 | rArrayOpExpr:....break;....}.... |
16dc0 | 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 | .return.(Node.*).newnode;.....MU |
16de0 | 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 65 78 70 72 2d 3e 61 72 67 73 2c 20 | TATE(newnode->args,.expr->args,. |
16e00 | 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 65 | List.*);.....FLATCOPY(newnode,.e |
16e20 | 78 70 72 2c 20 4e 75 6c 6c 49 66 45 78 70 72 29 3b 00 00 09 09 09 09 4e 75 6c 6c 49 66 45 78 70 | xpr,.NullIfExpr);......NullIfExp |
16e40 | 72 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4e 75 6c 6c 49 66 45 78 70 72 20 2a 65 78 70 72 | r.*newnode;.....NullIfExpr.*expr |
16e60 | 20 3d 20 28 4e 75 6c 6c 49 66 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 | .=.(NullIfExpr.*).node;....{...c |
16e80 | 61 73 65 20 54 5f 4e 75 6c 6c 49 66 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d | ase.T_NullIfExpr:....break;....} |
16ea0 | 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 | .....return.(Node.*).newnode;... |
16ec0 | 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 65 78 70 72 2d 3e 61 72 | ..MUTATE(newnode->args,.expr->ar |
16ee0 | 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 | gs,.List.*);.....FLATCOPY(newnod |
16f00 | 65 2c 20 65 78 70 72 2c 20 44 69 73 74 69 6e 63 74 45 78 70 72 29 3b 00 00 09 09 09 09 44 69 73 | e,.expr,.DistinctExpr);......Dis |
16f20 | 74 69 6e 63 74 45 78 70 72 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 44 69 73 74 69 6e 63 74 | tinctExpr.*newnode;.....Distinct |
16f40 | 45 78 70 72 20 2a 65 78 70 72 20 3d 20 28 44 69 73 74 69 6e 63 74 45 78 70 72 20 2a 29 20 6e 6f | Expr.*expr.=.(DistinctExpr.*).no |
16f60 | 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 44 69 73 74 69 6e 63 74 45 78 70 72 3a 00 | de;....{...case.T_DistinctExpr:. |
16f80 | 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 | ...break;....}.....return.(Node. |
16fa0 | 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e | *).newnode;.....MUTATE(newnode-> |
16fc0 | 61 72 67 73 2c 20 65 78 70 72 2d 3e 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 | args,.expr->args,.List.*);.....F |
16fe0 | 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 65 78 70 72 2c 20 4f 70 45 78 70 72 29 3b 00 | LATCOPY(newnode,.expr,.OpExpr);. |
17000 | 61 64 00 00 25 00 00 00 61 02 00 00 00 10 00 00 88 00 00 00 00 00 00 00 e3 0f 00 00 de 0f 00 00 | ad..%...a....................... |
17020 | d4 0f 00 00 b7 0f 00 00 b2 0f 00 00 72 0f 00 00 51 0f 00 00 50 0f 00 00 1b 0f 00 00 ea 0e 00 00 | ............r...Q...P........... |
17040 | cd 0e 00 00 c8 0e 00 00 be 0e 00 00 a8 0e 00 00 a3 0e 00 00 72 0e 00 00 58 0e 00 00 57 0e 00 00 | ....................r...X...W... |
17060 | 2a 0e 00 00 fa 0d 00 00 dd 0d 00 00 d8 0d 00 00 ce 0d 00 00 bb 0d 00 00 b6 0d 00 00 88 0d 00 00 | *............................... |
17080 | 6f 0d 00 00 6e 0d 00 00 43 0d 00 00 12 0d 00 00 df 0c 00 00 a2 0c 00 00 85 0c 00 00 80 0c 00 00 | o...n...C....................... |
170a0 | 76 0c 00 00 63 0c 00 00 5e 0c 00 00 30 0c 00 00 17 0c 00 00 16 0c 00 00 eb 0b 00 00 b8 0b 00 00 | v...c...^...0................... |
170c0 | 81 0b 00 00 64 0b 00 00 5f 0b 00 00 55 0b 00 00 41 0b 00 00 3c 0b 00 00 0c 0b 00 00 f3 0a 00 00 | ....d..._...U...A...<........... |
170e0 | f2 0a 00 00 c5 0a 00 00 89 0a 00 00 6c 0a 00 00 67 0a 00 00 5d 0a 00 00 4b 0a 00 00 46 0a 00 00 | ............l...g...]...K...F... |
17100 | 1a 0a 00 00 01 0a 00 00 00 0a 00 00 d7 09 00 00 a5 09 00 00 75 09 00 00 58 09 00 00 53 09 00 00 | ....................u...X...S... |
17120 | 49 09 00 00 30 09 00 00 2b 09 00 00 f5 08 00 00 d8 08 00 00 d7 08 00 00 a8 08 00 00 75 08 00 00 | I...0...+...................u... |
17140 | 42 08 00 00 25 08 00 00 20 08 00 00 16 08 00 00 ff 07 00 00 fa 07 00 00 c2 07 00 00 a7 07 00 00 | B...%........................... |
17160 | a6 07 00 00 73 07 00 00 3c 07 00 00 1f 07 00 00 1a 07 00 00 10 07 00 00 fb 06 00 00 f6 06 00 00 | ....s...<....................... |
17180 | c4 06 00 00 ab 06 00 00 aa 06 00 00 7b 06 00 00 46 06 00 00 29 06 00 00 24 06 00 00 1a 06 00 00 | ............{...F...)...$....... |
171a0 | 08 06 00 00 03 06 00 00 d9 05 00 00 c0 05 00 00 bf 05 00 00 98 05 00 00 5c 05 00 00 25 05 00 00 | ........................\...%... |
171c0 | f5 04 00 00 d8 04 00 00 d3 04 00 00 c9 04 00 00 b6 04 00 00 b1 04 00 00 86 04 00 00 6d 04 00 00 | ............................m... |
171e0 | 6c 04 00 00 44 04 00 00 16 04 00 00 f9 03 00 00 f4 03 00 00 ea 03 00 00 d4 03 00 00 cf 03 00 00 | l...D........................... |
17200 | a0 03 00 00 86 03 00 00 85 03 00 00 5a 03 00 00 2c 03 00 00 0f 03 00 00 0a 03 00 00 00 03 00 00 | ............Z...,............... |
17220 | e7 02 00 00 e2 02 00 00 ad 02 00 00 90 02 00 00 8f 02 00 00 61 02 00 00 60 02 00 00 00 00 00 00 | ....................a...`....... |
17240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
17260 | 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 63 74 65 73 74 2c 20 43 6f | .....FLATCOPY(newnode,.ctest,.Co |
17280 | 65 72 63 65 54 6f 44 6f 6d 61 69 6e 29 3b 00 00 09 09 09 09 43 6f 65 72 63 65 54 6f 44 6f 6d 61 | erceToDomain);......CoerceToDoma |
172a0 | 69 6e 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 20 | in.*newnode;.....CoerceToDomain. |
172c0 | 2a 63 74 65 73 74 20 3d 20 28 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 20 2a 29 20 6e 6f 64 65 | *ctest.=.(CoerceToDomain.*).node |
172e0 | 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 43 6f 65 72 63 65 54 6f 44 6f 6d 61 69 6e 3a 00 | ;....{...case.T_CoerceToDomain:. |
17300 | 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 | ...break;....}.....return.(Node. |
17320 | 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e | *).newnode;.....MUTATE(newnode-> |
17340 | 61 72 67 2c 20 62 74 65 73 74 2d 3e 61 72 67 2c 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 46 4c | arg,.btest->arg,.Expr.*);.....FL |
17360 | 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 62 74 65 73 74 2c 20 42 6f 6f 6c 65 61 6e 54 65 | ATCOPY(newnode,.btest,.BooleanTe |
17380 | 73 74 29 3b 00 00 09 09 09 09 42 6f 6f 6c 65 61 6e 54 65 73 74 20 2a 6e 65 77 6e 6f 64 65 3b 00 | st);......BooleanTest.*newnode;. |
173a0 | 09 09 09 09 42 6f 6f 6c 65 61 6e 54 65 73 74 20 2a 62 74 65 73 74 20 3d 20 28 42 6f 6f 6c 65 61 | ....BooleanTest.*btest.=.(Boolea |
173c0 | 6e 54 65 73 74 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 42 6f 6f | nTest.*).node;....{...case.T_Boo |
173e0 | 6c 65 61 6e 54 65 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 | leanTest:....break;....}.....ret |
17400 | 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 | urn.(Node.*).newnode;.....MUTATE |
17420 | 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 2c 20 6e 74 65 73 74 2d 3e 61 72 67 2c 20 45 78 70 72 20 | (newnode->arg,.ntest->arg,.Expr. |
17440 | 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 6e 74 65 73 74 2c | *);.....FLATCOPY(newnode,.ntest, |
17460 | 20 4e 75 6c 6c 54 65 73 74 29 3b 00 00 09 09 09 09 4e 75 6c 6c 54 65 73 74 20 20 20 2a 6e 65 77 | .NullTest);......NullTest...*new |
17480 | 6e 6f 64 65 3b 00 09 09 09 09 4e 75 6c 6c 54 65 73 74 20 20 20 2a 6e 74 65 73 74 20 3d 20 28 4e | node;.....NullTest...*ntest.=.(N |
174a0 | 75 6c 6c 54 65 73 74 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 4e | ullTest.*).node;....{...case.T_N |
174c0 | 75 6c 6c 54 65 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 | ullTest:....break;....}.....retu |
174e0 | 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 | rn.(Node.*).newnode;.....MUTATE( |
17500 | 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 78 65 78 70 72 2d 3e 61 72 67 73 2c 20 4c 69 73 74 | newnode->args,.xexpr->args,.List |
17520 | 20 2a 29 3b 00 09 09 09 09 2f 2a 20 61 73 73 75 6d 65 20 6d 75 74 61 74 6f 72 20 64 6f 65 73 20 | .*);...../*.assume.mutator.does. |
17540 | 6e 6f 74 20 63 61 72 65 20 61 62 6f 75 74 20 61 72 67 5f 6e 61 6d 65 73 20 2a 2f 00 09 09 09 09 | not.care.about.arg_names.*/..... |
17560 | 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 6e 61 6d 65 64 5f 61 72 67 73 2c 20 78 65 78 70 | MUTATE(newnode->named_args,.xexp |
17580 | 72 2d 3e 6e 61 6d 65 64 5f 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 | r->named_args,.List.*);.....FLAT |
175a0 | 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 78 65 78 70 72 2c 20 58 6d 6c 45 78 70 72 29 3b 00 00 | COPY(newnode,.xexpr,.XmlExpr);.. |
175c0 | 09 09 09 09 58 6d 6c 45 78 70 72 20 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 58 6d 6c | ....XmlExpr....*newnode;.....Xml |
175e0 | 45 78 70 72 20 20 20 20 2a 78 65 78 70 72 20 3d 20 28 58 6d 6c 45 78 70 72 20 2a 29 20 6e 6f 64 | Expr....*xexpr.=.(XmlExpr.*).nod |
17600 | 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 58 6d 6c 45 78 70 72 3a 00 09 09 09 62 72 65 | e;....{...case.T_XmlExpr:....bre |
17620 | 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 | ak;....}.....return.(Node.*).new |
17640 | 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 | node;.....MUTATE(newnode->args,. |
17660 | 6d 69 6e 6d 61 78 65 78 70 72 2d 3e 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 | minmaxexpr->args,.List.*);.....F |
17680 | 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 6d 69 6e 6d 61 78 65 78 70 72 2c 20 4d 69 6e | LATCOPY(newnode,.minmaxexpr,.Min |
176a0 | 4d 61 78 45 78 70 72 29 3b 00 00 09 09 09 09 4d 69 6e 4d 61 78 45 78 70 72 20 2a 6e 65 77 6e 6f | MaxExpr);......MinMaxExpr.*newno |
176c0 | 64 65 3b 00 09 09 09 09 4d 69 6e 4d 61 78 45 78 70 72 20 2a 6d 69 6e 6d 61 78 65 78 70 72 20 3d | de;.....MinMaxExpr.*minmaxexpr.= |
176e0 | 20 28 4d 69 6e 4d 61 78 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 | .(MinMaxExpr.*).node;....{...cas |
17700 | 65 20 54 5f 4d 69 6e 4d 61 78 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 | e.T_MinMaxExpr:....break;....}.. |
17720 | 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 | ...return.(Node.*).newnode;..... |
17740 | 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 63 6f 61 6c 65 73 63 65 65 78 | MUTATE(newnode->args,.coalesceex |
17760 | 70 72 2d 3e 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 | pr->args,.List.*);.....FLATCOPY( |
17780 | 6e 65 77 6e 6f 64 65 2c 20 63 6f 61 6c 65 73 63 65 65 78 70 72 2c 20 43 6f 61 6c 65 73 63 65 45 | newnode,.coalesceexpr,.CoalesceE |
177a0 | 78 70 72 29 3b 00 00 09 09 09 09 43 6f 61 6c 65 73 63 65 45 78 70 72 20 2a 6e 65 77 6e 6f 64 65 | xpr);......CoalesceExpr.*newnode |
177c0 | 3b 00 09 09 09 09 43 6f 61 6c 65 73 63 65 45 78 70 72 20 2a 63 6f 61 6c 65 73 63 65 65 78 70 72 | ;.....CoalesceExpr.*coalesceexpr |
177e0 | 20 3d 20 28 43 6f 61 6c 65 73 63 65 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 | .=.(CoalesceExpr.*).node;....{.. |
17800 | 09 63 61 73 65 20 54 5f 43 6f 61 6c 65 73 63 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 | .case.T_CoalesceExpr:....break;. |
17820 | 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 | ...}.....return.(Node.*).newnode |
17840 | 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 72 61 72 67 73 2c 20 72 63 65 | ;.....MUTATE(newnode->rargs,.rce |
17860 | 78 70 72 2d 3e 72 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 | xpr->rargs,.List.*);.....MUTATE( |
17880 | 6e 65 77 6e 6f 64 65 2d 3e 6c 61 72 67 73 2c 20 72 63 65 78 70 72 2d 3e 6c 61 72 67 73 2c 20 4c | newnode->largs,.rcexpr->largs,.L |
178a0 | 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 72 63 | ist.*);.....FLATCOPY(newnode,.rc |
178c0 | 65 78 70 72 2c 20 52 6f 77 43 6f 6d 70 61 72 65 45 78 70 72 29 3b 00 00 09 09 09 09 52 6f 77 43 | expr,.RowCompareExpr);......RowC |
178e0 | 6f 6d 70 61 72 65 45 78 70 72 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 52 6f 77 43 6f 6d 70 | ompareExpr.*newnode;.....RowComp |
17900 | 61 72 65 45 78 70 72 20 2a 72 63 65 78 70 72 20 3d 20 28 52 6f 77 43 6f 6d 70 61 72 65 45 78 70 | areExpr.*rcexpr.=.(RowCompareExp |
17920 | 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 52 6f 77 43 6f 6d 70 | r.*).node;....{...case.T_RowComp |
17940 | 61 72 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 | areExpr:....break;....}.....retu |
17960 | 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 2f 2a 20 41 73 73 75 | rn.(Node.*).newnode;...../*.Assu |
17980 | 6d 65 20 63 6f 6c 6e 61 6d 65 73 20 6e 65 65 64 6e 27 74 20 62 65 20 64 75 70 6c 69 63 61 74 65 | me.colnames.needn't.be.duplicate |
179a0 | 64 20 2a 2f 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 72 | d.*/.....MUTATE(newnode->args,.r |
179c0 | 6f 77 65 78 70 72 2d 3e 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 | owexpr->args,.List.*);.....FLATC |
179e0 | 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 72 6f 77 65 78 70 72 2c 20 52 6f 77 45 78 70 72 29 3b 00 | OPY(newnode,.rowexpr,.RowExpr);. |
17a00 | 00 09 09 09 09 52 6f 77 45 78 70 72 20 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 52 6f | .....RowExpr....*newnode;.....Ro |
17a20 | 77 45 78 70 72 20 20 20 20 2a 72 6f 77 65 78 70 72 20 3d 20 28 52 6f 77 45 78 70 72 20 2a 29 20 | wExpr....*rowexpr.=.(RowExpr.*). |
17a40 | 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 52 6f 77 45 78 70 72 3a 00 09 09 09 | node;....{...case.T_RowExpr:.... |
17a60 | 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 | break;....}.....return.(Node.*). |
17a80 | 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 65 6c 65 | newnode;.....MUTATE(newnode->ele |
17aa0 | 6d 65 6e 74 73 2c 20 61 72 72 61 79 65 78 70 72 2d 3e 65 6c 65 6d 65 6e 74 73 2c 20 4c 69 73 74 | ments,.arrayexpr->elements,.List |
17ac0 | 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 61 72 72 61 79 | .*);.....FLATCOPY(newnode,.array |
17ae0 | 65 78 70 72 2c 20 41 72 72 61 79 45 78 70 72 29 3b 00 00 09 09 09 09 41 72 72 61 79 45 78 70 72 | expr,.ArrayExpr);......ArrayExpr |
17b00 | 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 41 72 72 61 79 45 78 70 72 20 20 2a 61 72 72 61 | ..*newnode;.....ArrayExpr..*arra |
17b20 | 79 65 78 70 72 20 3d 20 28 41 72 72 61 79 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b | yexpr.=.(ArrayExpr.*).node;....{ |
17b40 | 00 09 09 63 61 73 65 20 54 5f 41 72 72 61 79 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | ...case.T_ArrayExpr:....break;.. |
17b60 | 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b | ..}.....return.(Node.*).newnode; |
17b80 | 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 72 65 73 75 6c 74 2c 20 63 61 73 | .....MUTATE(newnode->result,.cas |
17ba0 | 65 77 68 65 6e 2d 3e 72 65 73 75 6c 74 2c 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 | ewhen->result,.Expr.*);.....MUTA |
17bc0 | 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 65 78 70 72 2c 20 63 61 73 65 77 68 65 6e 2d 3e 65 78 70 72 | TE(newnode->expr,.casewhen->expr |
17be0 | 2c 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c | ,.Expr.*);.....FLATCOPY(newnode, |
17c00 | 20 63 61 73 65 77 68 65 6e 2c 20 43 61 73 65 57 68 65 6e 29 3b 00 00 09 09 09 09 43 61 73 65 57 | .casewhen,.CaseWhen);......CaseW |
17c20 | 68 65 6e 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 43 61 73 65 57 68 65 6e 20 20 20 2a | hen...*newnode;.....CaseWhen...* |
17c40 | 63 61 73 65 77 68 65 6e 20 3d 20 28 43 61 73 65 57 68 65 6e 20 2a 29 20 6e 6f 64 65 3b 00 09 09 | casewhen.=.(CaseWhen.*).node;... |
17c60 | 09 7b 00 09 09 63 61 73 65 20 54 5f 43 61 73 65 57 68 65 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 | .{...case.T_CaseWhen:....break;. |
17c80 | 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 | ...}.....return.(Node.*).newnode |
17ca0 | 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 64 65 66 72 65 73 75 6c 74 2c | ;.....MUTATE(newnode->defresult, |
17cc0 | 20 63 61 73 65 65 78 70 72 2d 3e 64 65 66 72 65 73 75 6c 74 2c 20 45 78 70 72 20 2a 29 3b 00 09 | .caseexpr->defresult,.Expr.*);.. |
17ce0 | 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 73 2c 20 63 61 73 65 65 78 70 | ...MUTATE(newnode->args,.caseexp |
17d00 | 72 2d 3e 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 | r->args,.List.*);.....MUTATE(new |
17d20 | 6e 6f 64 65 2d 3e 61 72 67 2c 20 63 61 73 65 65 78 70 72 2d 3e 61 72 67 2c 20 45 78 70 72 20 2a | node->arg,.caseexpr->arg,.Expr.* |
17d40 | 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 63 61 73 65 65 78 70 | );.....FLATCOPY(newnode,.caseexp |
17d60 | 72 2c 20 43 61 73 65 45 78 70 72 29 3b 00 00 09 09 09 09 43 61 73 65 45 78 70 72 20 20 20 2a 6e | r,.CaseExpr);......CaseExpr...*n |
17d80 | 65 77 6e 6f 64 65 3b 00 09 09 09 09 43 61 73 65 45 78 70 72 20 20 20 2a 63 61 73 65 65 78 70 72 | ewnode;.....CaseExpr...*caseexpr |
17da0 | 20 3d 20 28 43 61 73 65 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 | .=.(CaseExpr.*).node;....{...cas |
17dc0 | 65 20 54 5f 43 61 73 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 | e.T_CaseExpr:....break;....}.... |
17de0 | 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 | .return.(Node.*).newnode;.....MU |
17e00 | 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 2c 20 63 6f 6c 6c 61 74 65 2d 3e 61 72 67 2c | TATE(newnode->arg,.collate->arg, |
17e20 | 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 | .Expr.*);.....FLATCOPY(newnode,. |
17e40 | 63 6f 6c 6c 61 74 65 2c 20 43 6f 6c 6c 61 74 65 45 78 70 72 29 3b 00 00 09 09 09 09 43 6f 6c 6c | collate,.CollateExpr);......Coll |
17e60 | 61 74 65 45 78 70 72 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 43 6f 6c 6c 61 74 65 45 78 70 | ateExpr.*newnode;.....CollateExp |
17e80 | 72 20 2a 63 6f 6c 6c 61 74 65 20 3d 20 28 43 6f 6c 6c 61 74 65 45 78 70 72 20 2a 29 20 6e 6f 64 | r.*collate.=.(CollateExpr.*).nod |
17ea0 | 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 43 6f 6c 6c 61 74 65 45 78 70 72 3a 00 09 09 | e;....{...case.T_CollateExpr:... |
17ec0 | 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 | .break;....}.....return.(Node.*) |
17ee0 | 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 | .newnode;.....MUTATE(newnode->ar |
17f00 | 67 2c 20 63 6f 6e 76 65 78 70 72 2d 3e 61 72 67 2c 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 46 | g,.convexpr->arg,.Expr.*);.....F |
17f20 | 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 63 6f 6e 76 65 78 70 72 2c 20 43 6f 6e 76 65 | LATCOPY(newnode,.convexpr,.Conve |
17f40 | 72 74 52 6f 77 74 79 70 65 45 78 70 72 29 3b 00 00 09 09 09 09 43 6f 6e 76 65 72 74 52 6f 77 74 | rtRowtypeExpr);......ConvertRowt |
17f60 | 79 70 65 45 78 70 72 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 43 6f 6e 76 65 72 74 52 6f 77 | ypeExpr.*newnode;.....ConvertRow |
17f80 | 74 79 70 65 45 78 70 72 20 2a 63 6f 6e 76 65 78 70 72 20 3d 20 28 43 6f 6e 76 65 72 74 52 6f 77 | typeExpr.*convexpr.=.(ConvertRow |
17fa0 | 74 79 70 65 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f | typeExpr.*).node;....{...case.T_ |
17fc0 | 43 6f 6e 76 65 72 74 52 6f 77 74 79 70 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 | ConvertRowtypeExpr:....break;... |
17fe0 | 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 | .}.....return.(Node.*).newnode;. |
18000 | 61 64 00 00 09 00 00 00 1d 02 00 00 00 10 00 00 7e 00 00 00 00 00 00 00 d2 0f 00 00 b5 0f 00 00 | ad..............~............... |
18020 | b0 0f 00 00 a6 0f 00 00 90 0f 00 00 8b 0f 00 00 56 0f 00 00 3c 0f 00 00 3b 0f 00 00 0a 0f 00 00 | ................V...<...;....... |
18040 | d4 0e 00 00 b7 0e 00 00 b2 0e 00 00 a8 0e 00 00 98 0e 00 00 5d 0e 00 00 4d 0e 00 00 36 0e 00 00 | ....................]...M...6... |
18060 | 31 0e 00 00 03 0e 00 00 e8 0d 00 00 e7 0d 00 00 be 0d 00 00 7b 0d 00 00 40 0d 00 00 05 0d 00 00 | 1...................{...@....... |
18080 | ce 0c 00 00 b1 0c 00 00 ac 0c 00 00 a2 0c 00 00 88 0c 00 00 83 0c 00 00 4e 0c 00 00 30 0c 00 00 | ........................N...0... |
180a0 | 2f 0c 00 00 02 0c 00 00 01 0c 00 00 fa 0b 00 00 b8 0b 00 00 86 0b 00 00 7e 0b 00 00 48 0b 00 00 | /.......................~...H... |
180c0 | 2b 0b 00 00 26 0b 00 00 1c 0b 00 00 0d 0b 00 00 08 0b 00 00 01 0b 00 00 c1 0a 00 00 7f 0a 00 00 | +...&........................... |
180e0 | 46 0a 00 00 3e 0a 00 00 25 0a 00 00 0f 0a 00 00 0e 0a 00 00 f8 09 00 00 d7 09 00 00 d1 09 00 00 | F...>...%....................... |
18100 | ab 09 00 00 81 09 00 00 69 09 00 00 63 09 00 00 43 09 00 00 3e 09 00 00 34 09 00 00 21 09 00 00 | ........i...c...C...>...4...!... |
18120 | 1c 09 00 00 f2 08 00 00 d9 08 00 00 d8 08 00 00 b1 08 00 00 7a 08 00 00 49 08 00 00 2c 08 00 00 | ....................z...I...,... |
18140 | 27 08 00 00 1d 08 00 00 04 08 00 00 ff 07 00 00 cd 07 00 00 b0 07 00 00 af 07 00 00 84 07 00 00 | '............................... |
18160 | 47 07 00 00 0a 07 00 00 cb 06 00 00 88 06 00 00 4b 06 00 00 4a 06 00 00 2d 06 00 00 28 06 00 00 | G...............K...J...-...(... |
18180 | 1e 06 00 00 0b 06 00 00 06 06 00 00 dc 05 00 00 c3 05 00 00 c2 05 00 00 9b 05 00 00 6c 05 00 00 | ............................l... |
181a0 | 3d 05 00 00 0c 05 00 00 d7 04 00 00 ba 04 00 00 b5 04 00 00 ab 04 00 00 90 04 00 00 8b 04 00 00 | =............................... |
181c0 | 52 04 00 00 33 04 00 00 32 04 00 00 02 04 00 00 d2 03 00 00 a2 03 00 00 6f 03 00 00 52 03 00 00 | R...3...2...............o...R... |
181e0 | 4d 03 00 00 43 03 00 00 2a 03 00 00 25 03 00 00 f2 02 00 00 d5 02 00 00 d4 02 00 00 a8 02 00 00 | M...C...*...%................... |
18200 | 76 02 00 00 3f 02 00 00 22 02 00 00 1d 02 00 00 1c 02 00 00 00 00 00 00 00 00 00 00 00 09 09 09 | v...?..."....................... |
18220 | 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 | }.....return.(Node.*).newnode;.. |
18240 | 09 09 09 2f 2a 20 41 73 73 75 6d 65 20 77 65 20 6e 65 65 64 20 6e 6f 74 20 63 6f 70 79 20 74 68 | .../*.Assume.we.need.not.copy.th |
18260 | 65 20 72 65 6c 69 64 73 20 62 69 74 6d 61 70 73 65 74 20 2a 2f 00 09 09 09 09 4d 55 54 41 54 45 | e.relids.bitmapset.*/.....MUTATE |
18280 | 28 6e 65 77 6e 6f 64 65 2d 3e 70 68 65 78 70 72 2c 20 70 68 76 2d 3e 70 68 65 78 70 72 2c 20 45 | (newnode->phexpr,.phv->phexpr,.E |
182a0 | 78 70 72 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 70 68 | xpr.*);.....FLATCOPY(newnode,.ph |
182c0 | 76 2c 20 50 6c 61 63 65 48 6f 6c 64 65 72 56 61 72 29 3b 00 00 09 09 09 09 50 6c 61 63 65 48 6f | v,.PlaceHolderVar);......PlaceHo |
182e0 | 6c 64 65 72 56 61 72 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 50 6c 61 63 65 48 6f 6c 64 65 | lderVar.*newnode;.....PlaceHolde |
18300 | 72 56 61 72 20 2a 70 68 76 20 3d 20 28 50 6c 61 63 65 48 6f 6c 64 65 72 56 61 72 20 2a 29 20 6e | rVar.*phv.=.(PlaceHolderVar.*).n |
18320 | 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 50 6c 61 63 65 48 6f 6c 64 65 72 56 61 | ode;....{...case.T_PlaceHolderVa |
18340 | 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f | r:....break;....}.....return.(No |
18360 | 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 2f 2a 20 57 65 20 64 6f 20 6e 6f 74 20 | de.*).newnode;...../*.We.do.not. |
18380 | 6d 75 74 61 74 65 20 67 72 6f 75 70 43 6c 61 75 73 65 73 20 62 79 20 64 65 66 61 75 6c 74 20 2a | mutate.groupClauses.by.default.* |
183a0 | 2f 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 72 61 72 67 2c 20 73 65 74 6f | /.....MUTATE(newnode->rarg,.seto |
183c0 | 70 2d 3e 72 61 72 67 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 | p->rarg,.Node.*);.....MUTATE(new |
183e0 | 6e 6f 64 65 2d 3e 6c 61 72 67 2c 20 73 65 74 6f 70 2d 3e 6c 61 72 67 2c 20 4e 6f 64 65 20 2a 29 | node->larg,.setop->larg,.Node.*) |
18400 | 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 73 65 74 6f 70 2c 20 53 | ;.....FLATCOPY(newnode,.setop,.S |
18420 | 65 74 4f 70 65 72 61 74 69 6f 6e 53 74 6d 74 29 3b 00 00 09 09 09 09 53 65 74 4f 70 65 72 61 74 | etOperationStmt);......SetOperat |
18440 | 69 6f 6e 53 74 6d 74 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 53 65 74 4f 70 65 72 61 74 69 | ionStmt.*newnode;.....SetOperati |
18460 | 6f 6e 53 74 6d 74 20 2a 73 65 74 6f 70 20 3d 20 28 53 65 74 4f 70 65 72 61 74 69 6f 6e 53 74 6d | onStmt.*setop.=.(SetOperationStm |
18480 | 74 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 53 65 74 4f 70 65 72 | t.*).node;....{...case.T_SetOper |
184a0 | 61 74 69 6f 6e 53 74 6d 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 | ationStmt:....break;....}.....re |
184c0 | 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 2f 2a 20 57 65 | turn.(Node.*).newnode;...../*.We |
184e0 | 20 64 6f 20 6e 6f 74 20 6d 75 74 61 74 65 20 61 6c 69 61 73 20 6f 72 20 75 73 69 6e 67 20 62 79 | .do.not.mutate.alias.or.using.by |
18500 | 20 64 65 66 61 75 6c 74 20 2a 2f 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e | .default.*/.....MUTATE(newnode-> |
18520 | 71 75 61 6c 73 2c 20 6a 6f 69 6e 2d 3e 71 75 61 6c 73 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 09 09 | quals,.join->quals,.Node.*);.... |
18540 | 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 72 61 72 67 2c 20 6a 6f 69 6e 2d 3e 72 61 72 | .MUTATE(newnode->rarg,.join->rar |
18560 | 67 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e | g,.Node.*);.....MUTATE(newnode-> |
18580 | 6c 61 72 67 2c 20 6a 6f 69 6e 2d 3e 6c 61 72 67 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 09 09 09 46 | larg,.join->larg,.Node.*);.....F |
185a0 | 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 6a 6f 69 6e 2c 20 4a 6f 69 6e 45 78 70 72 29 | LATCOPY(newnode,.join,.JoinExpr) |
185c0 | 3b 00 00 09 09 09 09 4a 6f 69 6e 45 78 70 72 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 | ;......JoinExpr...*newnode;..... |
185e0 | 4a 6f 69 6e 45 78 70 72 20 20 20 2a 6a 6f 69 6e 20 3d 20 28 4a 6f 69 6e 45 78 70 72 20 2a 29 20 | JoinExpr...*join.=.(JoinExpr.*). |
18600 | 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 4a 6f 69 6e 45 78 70 72 3a 00 09 09 | node;....{...case.T_JoinExpr:... |
18620 | 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 | .break;....}.....return.(Node.*) |
18640 | 20 6e 65 77 6e 6f 64 65 3b 00 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 65 | .newnode;......MUTATE(newnode->e |
18660 | 78 63 6c 52 65 6c 54 6c 69 73 74 2c 20 6f 63 2d 3e 65 78 63 6c 52 65 6c 54 6c 69 73 74 2c 20 4c | xclRelTlist,.oc->exclRelTlist,.L |
18680 | 69 73 74 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 6f 6e 43 6f | ist.*);.....MUTATE(newnode->onCo |
186a0 | 6e 66 6c 69 63 74 57 68 65 72 65 2c 20 6f 63 2d 3e 6f 6e 43 6f 6e 66 6c 69 63 74 57 68 65 72 65 | nflictWhere,.oc->onConflictWhere |
186c0 | 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 6f | ,.Node.*);.....MUTATE(newnode->o |
186e0 | 6e 43 6f 6e 66 6c 69 63 74 53 65 74 2c 20 6f 63 2d 3e 6f 6e 43 6f 6e 66 6c 69 63 74 53 65 74 2c | nConflictSet,.oc->onConflictSet, |
18700 | 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 | .List.*);.....MUTATE(newnode->ar |
18720 | 62 69 74 65 72 57 68 65 72 65 2c 20 6f 63 2d 3e 61 72 62 69 74 65 72 57 68 65 72 65 2c 20 4e 6f | biterWhere,.oc->arbiterWhere,.No |
18740 | 64 65 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 62 69 74 | de.*);.....MUTATE(newnode->arbit |
18760 | 65 72 45 6c 65 6d 73 2c 20 6f 63 2d 3e 61 72 62 69 74 65 72 45 6c 65 6d 73 2c 20 4c 69 73 74 20 | erElems,.oc->arbiterElems,.List. |
18780 | 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 6f 63 2c 20 4f 6e | *);.....FLATCOPY(newnode,.oc,.On |
187a0 | 43 6f 6e 66 6c 69 63 74 45 78 70 72 29 3b 00 00 09 09 09 09 4f 6e 43 6f 6e 66 6c 69 63 74 45 78 | ConflictExpr);......OnConflictEx |
187c0 | 70 72 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4f 6e 43 6f 6e 66 6c 69 63 74 45 78 70 72 20 | pr.*newnode;.....OnConflictExpr. |
187e0 | 2a 6f 63 20 3d 20 28 4f 6e 43 6f 6e 66 6c 69 63 74 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 | *oc.=.(OnConflictExpr.*).node;.. |
18800 | 09 09 7b 00 09 09 63 61 73 65 20 54 5f 4f 6e 43 6f 6e 66 6c 69 63 74 45 78 70 72 3a 00 09 09 09 | ..{...case.T_OnConflictExpr:.... |
18820 | 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 | break;....}.....return.(Node.*). |
18840 | 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 71 75 61 | newnode;.....MUTATE(newnode->qua |
18860 | 6c 73 2c 20 66 72 6f 6d 2d 3e 71 75 61 6c 73 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 09 09 09 4d 55 | ls,.from->quals,.Node.*);.....MU |
18880 | 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 66 72 6f 6d 6c 69 73 74 2c 20 66 72 6f 6d 2d 3e 66 72 | TATE(newnode->fromlist,.from->fr |
188a0 | 6f 6d 6c 69 73 74 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 | omlist,.List.*);.....FLATCOPY(ne |
188c0 | 77 6e 6f 64 65 2c 20 66 72 6f 6d 2c 20 46 72 6f 6d 45 78 70 72 29 3b 00 00 09 09 09 09 46 72 6f | wnode,.from,.FromExpr);......Fro |
188e0 | 6d 45 78 70 72 20 20 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 46 72 6f 6d 45 78 70 72 20 20 | mExpr...*newnode;.....FromExpr.. |
18900 | 20 2a 66 72 6f 6d 20 3d 20 28 46 72 6f 6d 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b | .*from.=.(FromExpr.*).node;....{ |
18920 | 00 09 09 63 61 73 65 20 54 5f 46 72 6f 6d 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 | ...case.T_FromExpr:....break;... |
18940 | 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 72 65 73 75 6c 74 6c 69 73 | .}.....return.(Node.*).resultlis |
18960 | 74 3b 00 09 09 09 09 7d 00 09 09 09 09 09 09 09 09 09 09 09 09 20 63 6f 6e 74 65 78 74 29 29 3b | t;.....}..............context)); |
18980 | 00 09 09 09 09 09 09 09 09 09 09 20 6d 75 74 61 74 6f 72 28 28 4e 6f 64 65 20 2a 29 20 6c 66 69 | ............mutator((Node.*).lfi |
189a0 | 72 73 74 28 74 65 6d 70 29 2c 00 09 09 09 09 09 72 65 73 75 6c 74 6c 69 73 74 20 3d 20 6c 61 70 | rst(temp),......resultlist.=.lap |
189c0 | 70 65 6e 64 28 72 65 73 75 6c 74 6c 69 73 74 2c 00 09 09 09 09 7b 00 09 09 09 09 66 6f 72 65 61 | pend(resultlist,.....{.....forea |
189e0 | 63 68 28 74 65 6d 70 2c 20 28 4c 69 73 74 20 2a 29 20 6e 6f 64 65 29 00 09 09 09 09 72 65 73 75 | ch(temp,.(List.*).node).....resu |
18a00 | 6c 74 6c 69 73 74 20 3d 20 4e 49 4c 3b 00 00 09 09 09 09 4c 69 73 74 43 65 6c 6c 20 20 20 2a 74 | ltlist.=.NIL;......ListCell...*t |
18a20 | 65 6d 70 3b 00 09 09 09 09 4c 69 73 74 09 20 20 20 2a 72 65 73 75 6c 74 6c 69 73 74 3b 00 09 09 | emp;.....List....*resultlist;... |
18a40 | 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 77 6f 75 6c 64 20 66 61 69 6c 20 62 61 64 6c 79 20 6f 6e | ...*/......*.would.fail.badly.on |
18a60 | 20 61 20 6c 69 73 74 20 77 69 74 68 20 69 6e 74 65 67 65 72 20 65 6c 65 6d 65 6e 74 73 21 00 09 | .a.list.with.integer.elements!.. |
18a80 | 09 09 09 20 2a 20 70 65 72 20 73 65 2c 20 73 6f 20 6a 75 73 74 20 69 6e 76 6f 6b 65 20 69 74 20 | ....*.per.se,.so.just.invoke.it. |
18aa0 | 6f 6e 20 65 61 63 68 20 6c 69 73 74 20 65 6c 65 6d 65 6e 74 2e 20 4e 4f 54 45 3a 20 74 68 69 73 | on.each.list.element..NOTE:.this |
18ac0 | 00 09 09 09 09 20 2a 20 57 65 20 61 73 73 75 6d 65 20 74 68 65 20 6d 75 74 61 74 6f 72 20 69 73 | ......*.We.assume.the.mutator.is |
18ae0 | 6e 27 74 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 74 68 65 20 6c 69 73 74 20 6e 6f 64 65 73 | n't.interested.in.the.list.nodes |
18b00 | 00 09 09 09 09 2f 2a 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 4c 69 73 74 3a 00 09 09 09 62 | ...../*....{...case.T_List:....b |
18b20 | 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e | reak;....}.....return.(Node.*).n |
18b40 | 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 63 74 65 71 | ewnode;.....MUTATE(newnode->cteq |
18b60 | 75 65 72 79 2c 20 63 74 65 2d 3e 63 74 65 71 75 65 72 79 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 09 | uery,.cte->ctequery,.Node.*);... |
18b80 | 09 09 20 2a 2f 00 09 09 09 09 20 2a 20 72 65 63 75 72 73 65 20 69 6e 74 6f 20 74 68 65 20 73 75 | ...*/......*.recurse.into.the.su |
18ba0 | 62 2d 71 75 65 72 79 20 69 66 20 69 74 20 77 61 6e 74 73 20 74 6f 2e 00 09 09 09 09 20 2a 20 41 | b-query.if.it.wants.to.......*.A |
18bc0 | 6c 73 6f 20 69 6e 76 6f 6b 65 20 74 68 65 20 6d 75 74 61 74 6f 72 20 6f 6e 20 74 68 65 20 43 54 | lso.invoke.the.mutator.on.the.CT |
18be0 | 45 27 73 20 51 75 65 72 79 20 6e 6f 64 65 2c 20 73 6f 20 69 74 20 63 61 6e 00 09 09 09 09 2f 2a | E's.Query.node,.so.it.can...../* |
18c00 | 00 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 63 74 65 2c 20 43 6f 6d | ......FLATCOPY(newnode,.cte,.Com |
18c20 | 6d 6f 6e 54 61 62 6c 65 45 78 70 72 29 3b 00 00 09 09 09 09 43 6f 6d 6d 6f 6e 54 61 62 6c 65 45 | monTableExpr);......CommonTableE |
18c40 | 78 70 72 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 43 6f 6d 6d 6f 6e 54 61 62 6c 65 45 78 70 | xpr.*newnode;.....CommonTableExp |
18c60 | 72 20 2a 63 74 65 20 3d 20 28 43 6f 6d 6d 6f 6e 54 61 62 6c 65 45 78 70 72 20 2a 29 20 6e 6f 64 | r.*cte.=.(CommonTableExpr.*).nod |
18c80 | 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 43 6f 6d 6d 6f 6e 54 61 62 6c 65 45 78 70 72 | e;....{...case.T_CommonTableExpr |
18ca0 | 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 | :....break;....}.....return.(Nod |
18cc0 | 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 | e.*).newnode;.....MUTATE(newnode |
18ce0 | 2d 3e 65 6e 64 4f 66 66 73 65 74 2c 20 77 63 2d 3e 65 6e 64 4f 66 66 73 65 74 2c 20 4e 6f 64 65 | ->endOffset,.wc->endOffset,.Node |
18d00 | 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 73 74 61 72 74 4f 66 | .*);.....MUTATE(newnode->startOf |
18d20 | 66 73 65 74 2c 20 77 63 2d 3e 73 74 61 72 74 4f 66 66 73 65 74 2c 20 4e 6f 64 65 20 2a 29 3b 00 | fset,.wc->startOffset,.Node.*);. |
18d40 | 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 6f 72 64 65 72 43 6c 61 75 73 65 2c | ....MUTATE(newnode->orderClause, |
18d60 | 20 77 63 2d 3e 6f 72 64 65 72 43 6c 61 75 73 65 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 4d | .wc->orderClause,.List.*);.....M |
18d80 | 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 70 61 72 74 69 74 69 6f 6e 43 6c 61 75 73 65 2c 20 | UTATE(newnode->partitionClause,. |
18da0 | 77 63 2d 3e 70 61 72 74 69 74 69 6f 6e 43 6c 61 75 73 65 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 | wc->partitionClause,.List.*);... |
18dc0 | 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 77 63 2c 20 57 69 6e 64 6f 77 43 6c | ..FLATCOPY(newnode,.wc,.WindowCl |
18de0 | 61 75 73 65 29 3b 00 00 09 09 09 09 57 69 6e 64 6f 77 43 6c 61 75 73 65 20 2a 6e 65 77 6e 6f 64 | ause);......WindowClause.*newnod |
18e00 | 65 3b 00 09 09 09 09 57 69 6e 64 6f 77 43 6c 61 75 73 65 20 2a 77 63 20 3d 20 28 57 69 6e 64 6f | e;.....WindowClause.*wc.=.(Windo |
18e20 | 77 43 6c 61 75 73 65 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 57 | wClause.*).node;....{...case.T_W |
18e40 | 69 6e 64 6f 77 43 6c 61 75 73 65 3a 00 09 09 09 72 65 74 75 72 6e 20 6e 6f 64 65 3b 00 09 09 09 | indowClause:....return.node;.... |
18e60 | 2f 2a 20 44 6f 20 6e 6f 74 68 69 6e 67 20 77 69 74 68 20 61 20 73 75 62 2d 51 75 65 72 79 2c 20 | /*.Do.nothing.with.a.sub-Query,. |
18e80 | 70 65 72 20 64 69 73 63 75 73 73 69 6f 6e 20 61 62 6f 76 65 20 2a 2f 00 09 09 63 61 73 65 20 54 | per.discussion.above.*/...case.T |
18ea0 | 5f 51 75 65 72 79 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 | _Query:....break;....}.....retur |
18ec0 | 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e | n.(Node.*).newnode;.....MUTATE(n |
18ee0 | 65 77 6e 6f 64 65 2d 3e 65 78 70 72 2c 20 74 61 72 67 65 74 65 6e 74 72 79 2d 3e 65 78 70 72 2c | ewnode->expr,.targetentry->expr, |
18f00 | 20 45 78 70 72 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 | .Expr.*);.....FLATCOPY(newnode,. |
18f20 | 74 61 72 67 65 74 65 6e 74 72 79 2c 20 54 61 72 67 65 74 45 6e 74 72 79 29 3b 00 00 09 09 09 09 | targetentry,.TargetEntry);...... |
18f40 | 54 61 72 67 65 74 45 6e 74 72 79 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 54 61 72 67 65 74 | TargetEntry.*newnode;.....Target |
18f60 | 45 6e 74 72 79 20 2a 74 61 72 67 65 74 65 6e 74 72 79 20 3d 20 28 54 61 72 67 65 74 45 6e 74 72 | Entry.*targetentry.=.(TargetEntr |
18f80 | 79 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 54 61 72 67 65 74 45 | y.*).node;....{...case.T_TargetE |
18fa0 | 6e 74 72 79 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 | ntry:....break;....}.....return. |
18fc0 | 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 | (Node.*).newnode;.....MUTATE(new |
18fe0 | 6e 6f 64 65 2d 3e 61 72 67 2c 20 63 74 65 73 74 2d 3e 61 72 67 2c 20 45 78 70 72 20 2a 29 3b 00 | node->arg,.ctest->arg,.Expr.*);. |
19000 | 61 64 00 00 00 00 00 00 d8 01 00 00 00 10 00 00 6f 00 00 00 00 00 00 00 f6 0f 00 00 de 0f 00 00 | ad..............o............... |
19020 | d9 0f 00 00 99 0f 00 00 7d 0f 00 00 7c 0f 00 00 42 0f 00 00 10 0f 00 00 f3 0e 00 00 ee 0e 00 00 | ........}...|...B............... |
19040 | e4 0e 00 00 cc 0e 00 00 c7 0e 00 00 92 0e 00 00 76 0e 00 00 75 0e 00 00 46 0e 00 00 fe 0d 00 00 | ................v...u...F....... |
19060 | e1 0d 00 00 dc 0d 00 00 d2 0d 00 00 b8 0d 00 00 b3 0d 00 00 7b 0d 00 00 5d 0d 00 00 5c 0d 00 00 | ....................{...]...\... |
19080 | 2c 0d 00 00 ed 0c 00 00 b5 0c 00 00 98 0c 00 00 93 0c 00 00 89 0c 00 00 6e 0c 00 00 69 0c 00 00 | ,.......................n...i... |
190a0 | 2f 0c 00 00 10 0c 00 00 0f 0c 00 00 de 0b 00 00 a5 0b 00 00 6d 0b 00 00 50 0b 00 00 4b 0b 00 00 | /...................m...P...K... |
190c0 | 41 0b 00 00 25 0b 00 00 20 0b 00 00 e7 0a 00 00 c7 0a 00 00 c6 0a 00 00 97 0a 00 00 69 0a 00 00 | A...%.......................i... |
190e0 | 2f 0a 00 00 12 0a 00 00 0d 0a 00 00 03 0a 00 00 f8 09 00 00 cb 09 00 00 b0 09 00 00 a6 09 00 00 | /............................... |
19100 | a3 09 00 00 74 09 00 00 66 09 00 00 64 09 00 00 63 09 00 00 62 09 00 00 5f 09 00 00 16 09 00 00 | ....t...f...d...c...b..._....... |
19120 | 13 09 00 00 c6 08 00 00 7c 08 00 00 33 08 00 00 ed 07 00 00 bd 07 00 00 ba 07 00 00 71 07 00 00 | ........|...3...............q... |
19140 | 25 07 00 00 d7 06 00 00 95 06 00 00 57 06 00 00 54 06 00 00 08 06 00 00 c0 05 00 00 89 05 00 00 | %...........W...T............... |
19160 | 85 05 00 00 7d 05 00 00 5c 05 00 00 40 05 00 00 2a 05 00 00 18 05 00 00 16 05 00 00 e9 04 00 00 | ....}...\...@...*............... |
19180 | e8 04 00 00 c3 04 00 00 c0 04 00 00 aa 04 00 00 a9 04 00 00 85 04 00 00 71 04 00 00 6e 04 00 00 | ........................q...n... |
191a0 | 6d 04 00 00 36 04 00 00 f3 03 00 00 b2 03 00 00 75 03 00 00 3e 03 00 00 01 03 00 00 ca 02 00 00 | m...6...........u...>........... |
191c0 | 91 02 00 00 5a 02 00 00 2f 02 00 00 fd 01 00 00 d8 01 00 00 00 00 00 00 09 65 6c 73 65 09 2f 2a | ....Z.../................else./* |
191e0 | 20 65 6c 73 65 20 63 6f 70 79 20 43 54 45 20 6c 69 73 74 20 61 73 2d 69 73 20 2a 2f 00 09 09 4d | .else.copy.CTE.list.as-is.*/...M |
19200 | 55 54 41 54 45 28 71 75 65 72 79 2d 3e 63 74 65 4c 69 73 74 2c 20 71 75 65 72 79 2d 3e 63 74 65 | UTATE(query->cteList,.query->cte |
19220 | 4c 69 73 74 2c 20 4c 69 73 74 20 2a 29 3b 00 09 69 66 20 28 21 28 66 6c 61 67 73 20 26 20 51 54 | List,.List.*);..if.(!(flags.&.QT |
19240 | 57 5f 49 47 4e 4f 52 45 5f 43 54 45 5f 53 55 42 51 55 45 52 49 45 53 29 29 00 09 4d 55 54 41 54 | W_IGNORE_CTE_SUBQUERIES))..MUTAT |
19260 | 45 28 71 75 65 72 79 2d 3e 6c 69 6d 69 74 43 6f 75 6e 74 2c 20 71 75 65 72 79 2d 3e 6c 69 6d 69 | E(query->limitCount,.query->limi |
19280 | 74 43 6f 75 6e 74 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 4d 55 54 41 54 45 28 71 75 65 72 79 2d 3e | tCount,.Node.*);..MUTATE(query-> |
192a0 | 6c 69 6d 69 74 4f 66 66 73 65 74 2c 20 71 75 65 72 79 2d 3e 6c 69 6d 69 74 4f 66 66 73 65 74 2c | limitOffset,.query->limitOffset, |
192c0 | 20 4e 6f 64 65 20 2a 29 3b 00 09 4d 55 54 41 54 45 28 71 75 65 72 79 2d 3e 68 61 76 69 6e 67 51 | .Node.*);..MUTATE(query->havingQ |
192e0 | 75 61 6c 2c 20 71 75 65 72 79 2d 3e 68 61 76 69 6e 67 51 75 61 6c 2c 20 4e 6f 64 65 20 2a 29 3b | ual,.query->havingQual,.Node.*); |
19300 | 00 09 4d 55 54 41 54 45 28 71 75 65 72 79 2d 3e 73 65 74 4f 70 65 72 61 74 69 6f 6e 73 2c 20 71 | ..MUTATE(query->setOperations,.q |
19320 | 75 65 72 79 2d 3e 73 65 74 4f 70 65 72 61 74 69 6f 6e 73 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 4d | uery->setOperations,.Node.*);..M |
19340 | 55 54 41 54 45 28 71 75 65 72 79 2d 3e 6a 6f 69 6e 74 72 65 65 2c 20 71 75 65 72 79 2d 3e 6a 6f | UTATE(query->jointree,.query->jo |
19360 | 69 6e 74 72 65 65 2c 20 46 72 6f 6d 45 78 70 72 20 2a 29 3b 00 09 4d 55 54 41 54 45 28 71 75 65 | intree,.FromExpr.*);..MUTATE(que |
19380 | 72 79 2d 3e 72 65 74 75 72 6e 69 6e 67 4c 69 73 74 2c 20 71 75 65 72 79 2d 3e 72 65 74 75 72 6e | ry->returningList,.query->return |
193a0 | 69 6e 67 4c 69 73 74 2c 20 4c 69 73 74 20 2a 29 3b 00 09 4d 55 54 41 54 45 28 71 75 65 72 79 2d | ingList,.List.*);..MUTATE(query- |
193c0 | 3e 6f 6e 43 6f 6e 66 6c 69 63 74 2c 20 71 75 65 72 79 2d 3e 6f 6e 43 6f 6e 66 6c 69 63 74 2c 20 | >onConflict,.query->onConflict,. |
193e0 | 4f 6e 43 6f 6e 66 6c 69 63 74 45 78 70 72 20 2a 29 3b 00 09 4d 55 54 41 54 45 28 71 75 65 72 79 | OnConflictExpr.*);..MUTATE(query |
19400 | 2d 3e 77 69 74 68 43 68 65 63 6b 4f 70 74 69 6f 6e 73 2c 20 71 75 65 72 79 2d 3e 77 69 74 68 43 | ->withCheckOptions,.query->withC |
19420 | 68 65 63 6b 4f 70 74 69 6f 6e 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 4d 55 54 41 54 45 28 71 75 | heckOptions,.List.*);..MUTATE(qu |
19440 | 65 72 79 2d 3e 74 61 72 67 65 74 4c 69 73 74 2c 20 71 75 65 72 79 2d 3e 74 61 72 67 65 74 4c 69 | ery->targetList,.query->targetLi |
19460 | 73 74 2c 20 4c 69 73 74 20 2a 29 3b 00 00 09 7d 00 09 09 71 75 65 72 79 20 3d 20 6e 65 77 71 75 | st,.List.*);...}...query.=.newqu |
19480 | 65 72 79 3b 00 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 71 75 65 72 79 2c 20 71 75 65 72 79 2c | ery;...FLATCOPY(newquery,.query, |
194a0 | 20 51 75 65 72 79 29 3b 00 00 09 09 51 75 65 72 79 09 20 20 20 2a 6e 65 77 71 75 65 72 79 3b 00 | .Query);....Query....*newquery;. |
194c0 | 09 7b 00 09 69 66 20 28 21 28 66 6c 61 67 73 20 26 20 51 54 57 5f 44 4f 4e 54 5f 43 4f 50 59 5f | .{..if.(!(flags.&.QTW_DONT_COPY_ |
194e0 | 51 55 45 52 59 29 29 00 00 09 41 73 73 65 72 74 28 71 75 65 72 79 20 21 3d 20 4e 55 4c 4c 20 26 | QUERY))...Assert(query.!=.NULL.& |
19500 | 26 20 49 73 41 28 71 75 65 72 79 2c 20 51 75 65 72 79 29 29 3b 00 7b 00 09 09 09 09 20 20 20 69 | &.IsA(query,.Query));.{........i |
19520 | 6e 74 20 66 6c 61 67 73 29 00 09 09 09 09 20 20 20 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 2c 00 | nt.flags)........void.*context,. |
19540 | 09 09 09 09 20 20 20 4e 6f 64 65 20 2a 28 2a 6d 75 74 61 74 6f 72 29 20 28 29 2c 00 71 75 65 72 | .......Node.*(*mutator).(),.quer |
19560 | 79 5f 74 72 65 65 5f 6d 75 74 61 74 6f 72 28 51 75 65 72 79 20 2a 71 75 65 72 79 2c 00 51 75 65 | y_tree_mutator(Query.*query,.Que |
19580 | 72 79 20 2a 00 20 2a 2f 00 20 2a 20 6d 6f 64 69 66 69 65 64 20 73 75 62 73 74 72 75 63 74 75 72 | ry.*..*/..*.modified.substructur |
195a0 | 65 20 69 73 20 73 61 66 65 6c 79 20 63 6f 70 69 65 64 20 69 6e 20 61 6e 79 20 63 61 73 65 2e 00 | e.is.safely.copied.in.any.case.. |
195c0 | 20 2a 20 6d 6f 64 69 66 69 65 64 20 69 6e 2d 70 6c 61 63 65 3b 20 74 68 65 79 20 6d 75 73 74 20 | .*.modified.in-place;.they.must. |
195e0 | 70 61 73 73 20 51 54 57 5f 44 4f 4e 54 5f 43 4f 50 59 5f 51 55 45 52 59 20 69 6e 20 66 6c 61 67 | pass.QTW_DONT_COPY_QUERY.in.flag |
19600 | 73 2e 20 20 41 6c 6c 00 20 2a 20 4e 6f 72 6d 61 6c 6c 79 20 74 68 65 20 51 75 65 72 79 20 6e 6f | s...All..*.Normally.the.Query.no |
19620 | 64 65 20 69 74 73 65 6c 66 20 69 73 20 63 6f 70 69 65 64 2c 20 62 75 74 20 73 6f 6d 65 20 63 61 | de.itself.is.copied,.but.some.ca |
19640 | 6c 6c 65 72 73 20 77 61 6e 74 20 69 74 20 74 6f 20 62 65 00 20 2a 00 20 2a 20 69 6e 64 69 63 61 | llers.want.it.to.be..*..*.indica |
19660 | 74 65 64 20 69 74 65 6d 73 2e 20 20 28 4d 6f 72 65 20 66 6c 61 67 20 62 69 74 73 20 6d 61 79 20 | ted.items...(More.flag.bits.may. |
19680 | 62 65 20 61 64 64 65 64 20 61 73 20 6e 65 65 64 65 64 2e 29 00 20 2a 20 77 68 69 63 68 20 69 73 | be.added.as.needed.)..*.which.is |
196a0 | 20 74 68 65 20 62 69 74 77 69 73 65 20 4f 52 20 6f 66 20 66 6c 61 67 20 76 61 6c 75 65 73 20 74 | .the.bitwise.OR.of.flag.values.t |
196c0 | 6f 20 73 75 70 70 72 65 73 73 20 6d 75 74 61 74 69 6e 67 20 6f 66 00 20 2a 20 77 61 6e 74 20 74 | o.suppress.mutating.of..*.want.t |
196e0 | 6f 20 72 65 63 75 72 73 65 20 69 6e 74 6f 20 73 75 62 71 75 65 72 69 65 73 2e 20 20 54 68 69 73 | o.recurse.into.subqueries...This |
19700 | 20 69 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 66 6c 61 67 73 20 61 72 67 75 6d | .is.supported.by.the.flags.argum |
19720 | 65 6e 74 2c 00 20 2a 20 74 79 70 69 63 61 6c 6c 79 20 62 65 63 61 75 73 65 20 74 68 65 79 20 6e | ent,..*.typically.because.they.n |
19740 | 65 65 64 20 74 6f 20 70 72 6f 63 65 73 73 20 74 68 65 6d 20 73 70 65 63 69 61 6c 6c 79 2c 20 6f | eed.to.process.them.specially,.o |
19760 | 72 20 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 00 20 2a 20 53 6f 6d 65 20 63 61 6c 6c 65 72 73 | r.don't.actually..*.Some.callers |
19780 | 20 77 61 6e 74 20 74 6f 20 73 75 70 70 72 65 73 73 20 6d 75 74 61 74 69 6e 67 20 6f 66 20 63 65 | .want.to.suppress.mutating.of.ce |
197a0 | 72 74 61 69 6e 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 51 75 65 72 79 2c 00 20 2a 00 20 2a 20 | rtain.items.in.the.Query,..*..*. |
197c0 | 64 65 73 63 65 6e 64 69 6e 67 20 69 6e 74 6f 20 73 75 62 71 75 65 72 69 65 73 20 77 69 74 68 69 | descending.into.subqueries.withi |
197e0 | 6e 20 61 20 6d 75 74 61 74 6f 72 2e 00 20 2a 20 6d 75 74 61 74 6f 72 20 69 6e 74 65 6e 64 73 20 | n.a.mutator...*.mutator.intends. |
19800 | 74 6f 20 64 65 73 63 65 6e 64 20 69 6e 74 6f 20 73 75 62 71 75 65 72 69 65 73 2e 20 20 49 74 20 | to.descend.into.subqueries...It. |
19820 | 69 73 20 61 6c 73 6f 20 75 73 65 66 75 6c 20 66 6f 72 00 20 2a 20 66 6f 72 20 73 74 61 72 74 69 | is.also.useful.for..*.for.starti |
19840 | 6e 67 20 61 20 77 61 6c 6b 20 61 74 20 74 6f 70 20 6c 65 76 65 6c 20 6f 66 20 61 20 51 75 65 72 | ng.a.walk.at.top.level.of.a.Quer |
19860 | 79 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 74 68 65 00 20 2a 20 77 | y.regardless.of.whether.the..*.w |
19880 | 68 65 72 65 20 61 6c 6c 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 73 75 62 74 72 65 65 73 | here.all.the.expression.subtrees |
198a0 | 20 6f 66 20 61 20 51 75 65 72 79 20 61 72 65 2e 20 20 4e 6f 74 65 20 69 74 20 63 61 6e 20 62 65 | .of.a.Query.are...Note.it.can.be |
198c0 | 20 75 73 65 64 00 20 2a 20 54 68 69 73 20 72 6f 75 74 69 6e 65 20 65 78 69 73 74 73 20 6a 75 73 | .used..*.This.routine.exists.jus |
198e0 | 74 20 74 6f 20 72 65 64 75 63 65 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 6c 61 63 65 73 | t.to.reduce.the.number.of.places |
19900 | 20 74 68 61 74 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 00 20 2a 00 20 2a 20 71 75 65 72 79 5f 74 | .that.need.to.know..*..*.query_t |
19920 | 72 65 65 5f 6d 75 74 61 74 6f 72 20 2d 2d 2d 20 69 6e 69 74 69 61 74 65 20 6d 6f 64 69 66 69 63 | ree_mutator.---.initiate.modific |
19940 | 61 74 69 6f 6e 20 6f 66 20 61 20 51 75 65 72 79 27 73 20 65 78 70 72 65 73 73 69 6f 6e 73 00 2f | ation.of.a.Query's.expressions./ |
19960 | 2a 00 00 00 7d 00 09 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 00 09 2f 2a 20 63 61 6e 27 74 20 67 65 | *...}..return.NULL;../*.can't.ge |
19980 | 74 20 68 65 72 65 2c 20 62 75 74 20 6b 65 65 70 20 63 6f 6d 70 69 6c 65 72 20 68 61 70 70 79 20 | t.here,.but.keep.compiler.happy. |
199a0 | 2a 2f 00 09 7d 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 20 28 69 6e 74 29 20 6e 6f 64 65 54 | */..}....break;......(int).nodeT |
199c0 | 61 67 28 6e 6f 64 65 29 29 3b 00 09 09 09 65 6c 6f 67 28 45 52 52 4f 52 2c 20 22 75 6e 72 65 63 | ag(node));....elog(ERROR,."unrec |
199e0 | 6f 67 6e 69 7a 65 64 20 6e 6f 64 65 20 74 79 70 65 3a 20 25 64 22 2c 00 09 09 64 65 66 61 75 6c | ognized.node.type:.%d",...defaul |
19a00 | 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f | t:....break;....}.....return.(No |
19a20 | 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 | de.*).newnode;.....MUTATE(newnod |
19a40 | 65 2d 3e 72 65 70 65 61 74 61 62 6c 65 2c 20 74 73 63 2d 3e 72 65 70 65 61 74 61 62 6c 65 2c 20 | e->repeatable,.tsc->repeatable,. |
19a60 | 45 78 70 72 20 2a 29 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 61 72 67 | Expr.*);.....MUTATE(newnode->arg |
19a80 | 73 2c 20 74 73 63 2d 3e 61 72 67 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 | s,.tsc->args,.List.*);.....FLATC |
19aa0 | 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 74 73 63 2c 20 54 61 62 6c 65 53 61 6d 70 6c 65 43 6c 61 | OPY(newnode,.tsc,.TableSampleCla |
19ac0 | 75 73 65 29 3b 00 00 09 09 09 09 54 61 62 6c 65 53 61 6d 70 6c 65 43 6c 61 75 73 65 20 2a 6e 65 | use);......TableSampleClause.*ne |
19ae0 | 77 6e 6f 64 65 3b 00 09 09 09 09 54 61 62 6c 65 53 61 6d 70 6c 65 43 6c 61 75 73 65 20 2a 74 73 | wnode;.....TableSampleClause.*ts |
19b00 | 63 20 3d 20 28 54 61 62 6c 65 53 61 6d 70 6c 65 43 6c 61 75 73 65 20 2a 29 20 6e 6f 64 65 3b 00 | c.=.(TableSampleClause.*).node;. |
19b20 | 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 54 61 62 6c 65 53 61 6d 70 6c 65 43 6c 61 75 73 65 3a | ...{...case.T_TableSampleClause: |
19b40 | 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 | ....break;....}.....return.(Node |
19b60 | 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 2f 2a 20 41 73 73 75 6d 65 20 77 65 20 6e 65 | .*).newnode;...../*.Assume.we.ne |
19b80 | 65 64 20 6e 6f 74 20 63 6f 70 79 20 74 68 65 20 63 6f 6c 64 65 66 20 69 6e 66 6f 20 6c 69 73 74 | ed.not.copy.the.coldef.info.list |
19ba0 | 73 20 2a 2f 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 66 75 6e 63 65 78 70 | s.*/.....MUTATE(newnode->funcexp |
19bc0 | 72 2c 20 72 74 66 75 6e 63 2d 3e 66 75 6e 63 65 78 70 72 2c 20 4e 6f 64 65 20 2a 29 3b 00 09 09 | r,.rtfunc->funcexpr,.Node.*);... |
19be0 | 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 72 74 66 75 6e 63 2c 20 52 61 6e 67 | ..FLATCOPY(newnode,.rtfunc,.Rang |
19c00 | 65 54 62 6c 46 75 6e 63 74 69 6f 6e 29 3b 00 00 09 09 09 09 52 61 6e 67 65 54 62 6c 46 75 6e 63 | eTblFunction);......RangeTblFunc |
19c20 | 74 69 6f 6e 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 52 61 6e 67 65 54 62 6c 46 75 6e 63 74 | tion.*newnode;.....RangeTblFunct |
19c40 | 69 6f 6e 20 2a 72 74 66 75 6e 63 20 3d 20 28 52 61 6e 67 65 54 62 6c 46 75 6e 63 74 69 6f 6e 20 | ion.*rtfunc.=.(RangeTblFunction. |
19c60 | 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 52 61 6e 67 65 54 62 6c 46 | *).node;....{...case.T_RangeTblF |
19c80 | 75 6e 63 74 69 6f 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 | unction:....break;....}.....retu |
19ca0 | 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 2f 2a 20 41 73 73 75 | rn.(Node.*).newnode;...../*.Assu |
19cc0 | 6d 65 20 77 65 20 6e 65 65 64 20 6e 6f 74 20 63 6f 70 79 20 74 68 65 20 72 65 6c 69 64 73 20 62 | me.we.need.not.copy.the.relids.b |
19ce0 | 69 74 6d 61 70 73 65 74 73 20 2a 2f 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d | itmapsets.*/.....MUTATE(newnode- |
19d00 | 3e 70 68 5f 76 61 72 2c 20 70 68 69 6e 66 6f 2d 3e 70 68 5f 76 61 72 2c 20 50 6c 61 63 65 48 6f | >ph_var,.phinfo->ph_var,.PlaceHo |
19d20 | 6c 64 65 72 56 61 72 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 | lderVar.*);.....FLATCOPY(newnode |
19d40 | 2c 20 70 68 69 6e 66 6f 2c 20 50 6c 61 63 65 48 6f 6c 64 65 72 49 6e 66 6f 29 3b 00 00 09 09 09 | ,.phinfo,.PlaceHolderInfo);..... |
19d60 | 09 50 6c 61 63 65 48 6f 6c 64 65 72 49 6e 66 6f 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 50 | .PlaceHolderInfo.*newnode;.....P |
19d80 | 6c 61 63 65 48 6f 6c 64 65 72 49 6e 66 6f 20 2a 70 68 69 6e 66 6f 20 3d 20 28 50 6c 61 63 65 48 | laceHolderInfo.*phinfo.=.(PlaceH |
19da0 | 6f 6c 64 65 72 49 6e 66 6f 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 | olderInfo.*).node;....{...case.T |
19dc0 | 5f 50 6c 61 63 65 48 6f 6c 64 65 72 49 6e 66 6f 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d | _PlaceHolderInfo:....break;....} |
19de0 | 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 | .....return.(Node.*).newnode;... |
19e00 | 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f 64 65 2d 3e 74 72 61 6e 73 6c 61 74 65 64 5f 76 61 72 | ..MUTATE(newnode->translated_var |
19e20 | 73 2c 20 61 70 70 69 6e 66 6f 2d 3e 74 72 61 6e 73 6c 61 74 65 64 5f 76 61 72 73 2c 20 4c 69 73 | s,.appinfo->translated_vars,.Lis |
19e40 | 74 20 2a 29 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 61 70 70 69 | t.*);.....FLATCOPY(newnode,.appi |
19e60 | 6e 66 6f 2c 20 41 70 70 65 6e 64 52 65 6c 49 6e 66 6f 29 3b 00 00 09 09 09 09 41 70 70 65 6e 64 | nfo,.AppendRelInfo);......Append |
19e80 | 52 65 6c 49 6e 66 6f 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 41 70 70 65 6e 64 52 65 6c 49 | RelInfo.*newnode;.....AppendRelI |
19ea0 | 6e 66 6f 20 2a 61 70 70 69 6e 66 6f 20 3d 20 28 41 70 70 65 6e 64 52 65 6c 49 6e 66 6f 20 2a 29 | nfo.*appinfo.=.(AppendRelInfo.*) |
19ec0 | 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 70 70 65 6e 64 52 65 6c 49 6e | .node;....{...case.T_AppendRelIn |
19ee0 | 66 6f 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 72 65 74 75 72 6e 20 28 4e | fo:....break;....}.....return.(N |
19f00 | 6f 64 65 20 2a 29 20 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 6e 6f | ode.*).newnode;.....MUTATE(newno |
19f20 | 64 65 2d 3e 65 78 70 72 2c 20 6e 65 77 6e 6f 64 65 2d 3e 65 78 70 72 2c 20 4e 6f 64 65 20 2a 29 | de->expr,.newnode->expr,.Node.*) |
19f40 | 3b 00 09 09 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 6e 6f 64 65 2c 20 69 6e 66 65 72 65 6e 63 | ;.....FLATCOPY(newnode,.inferenc |
19f60 | 65 65 6c 65 6d 64 65 78 70 72 2c 20 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 29 3b 00 00 09 09 09 | eelemdexpr,.InferenceElem);..... |
19f80 | 09 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 20 2a 6e 65 77 6e 6f 64 65 3b 00 09 09 09 09 49 6e 66 | .InferenceElem.*newnode;.....Inf |
19fa0 | 65 72 65 6e 63 65 45 6c 65 6d 20 2a 69 6e 66 65 72 65 6e 63 65 65 6c 65 6d 64 65 78 70 72 20 3d | erenceElem.*inferenceelemdexpr.= |
19fc0 | 20 28 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 | .(InferenceElem.*).node;....{... |
19fe0 | 63 61 73 65 20 54 5f 49 6e 66 65 72 65 6e 63 65 45 6c 65 6d 3a 00 09 09 09 62 72 65 61 6b 3b 00 | case.T_InferenceElem:....break;. |
1a000 | 61 64 00 00 49 00 00 00 61 02 00 00 00 10 00 00 7f 00 00 00 00 00 00 00 d1 0f 00 00 9d 0f 00 00 | ad..I...a....................... |
1a020 | 79 0f 00 00 6a 0f 00 00 68 0f 00 00 67 0f 00 00 64 0f 00 00 17 0f 00 00 d1 0e 00 00 c5 0e 00 00 | y...j...h...g...d............... |
1a040 | c1 0e 00 00 ba 0e 00 00 98 0e 00 00 7e 0e 00 00 6a 0e 00 00 5a 0e 00 00 58 0e 00 00 41 0e 00 00 | ............~...j...Z...X...A... |
1a060 | 30 0e 00 00 2f 0e 00 00 1a 0e 00 00 17 0e 00 00 e2 0d 00 00 c9 0d 00 00 c8 0d 00 00 a0 0d 00 00 | 0.../........................... |
1a080 | 88 0d 00 00 84 0d 00 00 6e 0d 00 00 3c 0d 00 00 1e 0d 00 00 e4 0c 00 00 d9 0c 00 00 c8 0c 00 00 | ........n...<................... |
1a0a0 | b0 0c 00 00 a5 0c 00 00 8f 0c 00 00 62 0c 00 00 5c 0c 00 00 20 0c 00 00 e6 0b 00 00 e0 0b 00 00 | ............b...\............... |
1a0c0 | d7 0b 00 00 d1 0b 00 00 a7 0b 00 00 74 0b 00 00 6e 0b 00 00 63 0b 00 00 51 0b 00 00 26 0b 00 00 | ............t...n...c...Q...&... |
1a0e0 | e6 0a 00 00 dd 0a 00 00 d7 0a 00 00 ae 0a 00 00 71 0a 00 00 6b 0a 00 00 60 0a 00 00 4a 0a 00 00 | ................q...k...`...J... |
1a100 | 13 0a 00 00 08 0a 00 00 f4 09 00 00 b7 09 00 00 ac 09 00 00 a8 09 00 00 6b 09 00 00 49 09 00 00 | ........................k...I... |
1a120 | 46 09 00 00 37 09 00 00 35 09 00 00 34 09 00 00 31 09 00 00 fe 08 00 00 fb 08 00 00 b2 08 00 00 | F...7...5...4...1............... |
1a140 | 67 08 00 00 1a 08 00 00 f9 07 00 00 f5 07 00 00 f0 07 00 00 c4 07 00 00 a9 07 00 00 92 07 00 00 | g............................... |
1a160 | 7f 07 00 00 7d 07 00 00 5e 07 00 00 33 07 00 00 22 07 00 00 10 07 00 00 ff 06 00 00 f9 06 00 00 | ....}...^...3..."............... |
1a180 | d9 06 00 00 d7 06 00 00 d6 06 00 00 d3 06 00 00 9f 06 00 00 9c 06 00 00 52 06 00 00 06 06 00 00 | ........................R....... |
1a1a0 | b8 05 00 00 97 05 00 00 93 05 00 00 8c 05 00 00 5f 05 00 00 41 05 00 00 29 05 00 00 15 05 00 00 | ................_...A...)....... |
1a1c0 | 13 05 00 00 f4 04 00 00 bf 04 00 00 a9 04 00 00 93 04 00 00 7e 04 00 00 78 04 00 00 57 04 00 00 | ....................~...x...W... |
1a1e0 | 55 04 00 00 54 04 00 00 53 04 00 00 50 04 00 00 19 04 00 00 16 04 00 00 cb 03 00 00 81 03 00 00 | U...T...S...P................... |
1a200 | 39 03 00 00 f0 02 00 00 a9 02 00 00 64 02 00 00 61 02 00 00 60 02 00 00 00 00 00 00 00 00 00 00 | 9...........d...a...`........... |
1a220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
1a260 | 00 20 2a 00 20 2a 20 62 6f 75 6e 64 61 72 69 65 73 3a 20 77 65 20 64 65 73 63 65 6e 64 20 74 6f | ..*..*.boundaries:.we.descend.to |
1a280 | 20 65 76 65 72 79 74 68 69 6e 67 20 74 68 61 74 27 73 20 70 6f 73 73 69 62 6c 79 20 69 6e 74 65 | .everything.that's.possibly.inte |
1a2a0 | 72 65 73 74 69 6e 67 2e 00 20 2a 20 55 6e 6c 69 6b 65 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 | resting...*.Unlike.expression_tr |
1a2c0 | 65 65 5f 77 61 6c 6b 65 72 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 70 65 63 69 61 6c 20 72 | ee_walker,.there.is.no.special.r |
1a2e0 | 75 6c 65 20 61 62 6f 75 74 20 71 75 65 72 79 00 20 2a 20 63 6f 6d 62 69 6e 65 64 20 77 61 6c 6b | ule.about.query..*.combined.walk |
1a300 | 65 72 2c 20 73 6f 20 77 65 20 6b 65 65 70 20 74 68 65 6d 20 73 65 70 61 72 61 74 65 20 69 6e 20 | er,.so.we.keep.them.separate.in. |
1a320 | 74 68 65 20 6e 61 6d 65 20 6f 66 20 65 66 66 69 63 69 65 6e 63 79 2e 29 00 20 2a 20 66 6f 75 6e | the.name.of.efficiency.)..*.foun |
1a340 | 64 20 69 6e 20 72 61 77 20 67 72 61 6d 6d 61 72 20 6f 75 74 70 75 74 2e 20 20 28 54 68 65 72 65 | d.in.raw.grammar.output...(There |
1a360 | 20 69 73 20 6e 6f 74 20 63 75 72 72 65 6e 74 6c 79 20 61 6e 79 20 6e 65 65 64 20 66 6f 72 20 61 | .is.not.currently.any.need.for.a |
1a380 | 00 20 2a 20 77 61 6c 6b 69 6e 67 20 70 6f 73 74 2d 61 6e 61 6c 79 73 69 73 20 70 61 72 73 65 20 | ..*.walking.post-analysis.parse. |
1a3a0 | 74 72 65 65 73 2c 20 69 74 20 6b 6e 6f 77 73 20 68 6f 77 20 74 6f 20 77 61 6c 6b 20 74 68 65 20 | trees,.it.knows.how.to.walk.the. |
1a3c0 | 6e 6f 64 65 20 74 79 70 65 73 00 20 2a 20 54 68 69 73 20 68 61 73 20 65 78 61 63 74 6c 79 20 74 | node.types..*.This.has.exactly.t |
1a3e0 | 68 65 20 73 61 6d 65 20 41 50 49 20 61 73 20 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 | he.same.API.as.expression_tree_w |
1a400 | 61 6c 6b 65 72 2c 20 62 75 74 20 69 6e 73 74 65 61 64 20 6f 66 00 20 2a 00 20 2a 20 72 61 77 5f | alker,.but.instead.of..*..*.raw_ |
1a420 | 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 20 2d 2d 2d 20 77 61 6c 6b 20 | expression_tree_walker.---.walk. |
1a440 | 72 61 77 20 70 61 72 73 65 20 74 72 65 65 73 00 2f 2a 00 00 00 7d 00 09 09 72 65 74 75 72 6e 20 | raw.parse.trees./*...}...return. |
1a460 | 6d 75 74 61 74 6f 72 28 6e 6f 64 65 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 65 6c 73 65 00 09 09 | mutator(node,.context);..else... |
1a480 | 09 09 09 09 09 09 09 09 20 20 20 66 6c 61 67 73 29 3b 00 09 09 09 09 09 09 09 09 09 09 20 20 20 | ...........flags);.............. |
1a4a0 | 63 6f 6e 74 65 78 74 2c 00 09 09 09 09 09 09 09 09 09 09 20 20 20 6d 75 74 61 74 6f 72 2c 00 09 | context,..............mutator,.. |
1a4c0 | 09 72 65 74 75 72 6e 20 28 4e 6f 64 65 20 2a 29 20 71 75 65 72 79 5f 74 72 65 65 5f 6d 75 74 61 | .return.(Node.*).query_tree_muta |
1a4e0 | 74 6f 72 28 28 51 75 65 72 79 20 2a 29 20 6e 6f 64 65 2c 00 09 69 66 20 28 6e 6f 64 65 20 26 26 | tor((Query.*).node,..if.(node.&& |
1a500 | 20 49 73 41 28 6e 6f 64 65 2c 20 51 75 65 72 79 29 29 00 7b 00 09 09 09 09 09 09 09 09 20 69 6e | .IsA(node,.Query)).{..........in |
1a520 | 74 20 66 6c 61 67 73 29 00 09 09 09 09 09 09 09 09 20 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 2c | t.flags)..........void.*context, |
1a540 | 00 09 09 09 09 09 09 09 09 20 4e 6f 64 65 20 2a 28 2a 6d 75 74 61 74 6f 72 29 20 28 29 2c 00 71 | ..........Node.*(*mutator).(),.q |
1a560 | 75 65 72 79 5f 6f 72 5f 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 6d 75 74 61 74 6f 72 28 | uery_or_expression_tree_mutator( |
1a580 | 4e 6f 64 65 20 2a 6e 6f 64 65 2c 00 4e 6f 64 65 20 2a 00 20 2a 2f 00 20 2a 20 66 6f 72 20 74 68 | Node.*node,.Node.*..*/..*.for.th |
1a5a0 | 65 20 6f 75 74 65 72 6d 6f 73 74 20 51 75 65 72 79 20 6e 6f 64 65 2e 00 20 2a 20 74 68 65 20 72 | e.outermost.Query.node...*.the.r |
1a5c0 | 65 63 75 72 73 69 6f 6e 20 77 68 65 6e 20 74 68 65 20 6d 75 74 61 74 6f 72 27 73 20 6e 6f 72 6d | ecursion.when.the.mutator's.norm |
1a5e0 | 61 6c 20 63 68 61 6e 67 65 20 6f 66 20 73 74 61 74 65 20 69 73 20 6e 6f 74 20 61 70 70 72 6f 70 | al.change.of.state.is.not.approp |
1a600 | 72 69 61 74 65 00 20 2a 20 65 6c 73 65 20 77 69 6c 6c 20 69 6e 76 6f 6b 65 20 74 68 65 20 6d 75 | riate..*.else.will.invoke.the.mu |
1a620 | 74 61 74 6f 72 20 64 69 72 65 63 74 6c 79 2e 20 20 54 68 69 73 20 69 73 20 61 20 75 73 65 66 75 | tator.directly...This.is.a.usefu |
1a640 | 6c 20 77 61 79 20 6f 66 20 73 74 61 72 74 69 6e 67 00 20 2a 20 54 68 69 73 20 72 6f 75 74 69 6e | l.way.of.starting..*.This.routin |
1a660 | 65 20 77 69 6c 6c 20 69 6e 76 6f 6b 65 20 71 75 65 72 79 5f 74 72 65 65 5f 6d 75 74 61 74 6f 72 | e.will.invoke.query_tree_mutator |
1a680 | 20 69 66 20 63 61 6c 6c 65 64 20 6f 6e 20 61 20 51 75 65 72 79 20 6e 6f 64 65 2c 00 20 2a 00 20 | .if.called.on.a.Query.node,..*.. |
1a6a0 | 2a 20 71 75 65 72 79 5f 6f 72 5f 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 6d 75 74 61 74 | *.query_or_expression_tree_mutat |
1a6c0 | 6f 72 20 2d 2d 2d 20 68 79 62 72 69 64 20 66 6f 72 6d 00 2f 2a 00 00 7d 00 09 09 72 65 74 75 72 | or.---.hybrid.form./*..}...retur |
1a6e0 | 6e 20 77 61 6c 6b 65 72 28 6e 6f 64 65 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 65 6c 73 65 00 09 | n.walker(node,.context);..else.. |
1a700 | 09 09 09 09 09 09 09 20 66 6c 61 67 73 29 3b 00 09 09 09 09 09 09 09 09 20 63 6f 6e 74 65 78 74 | ........flags);..........context |
1a720 | 2c 00 09 09 09 09 09 09 09 09 20 77 61 6c 6b 65 72 2c 00 09 09 72 65 74 75 72 6e 20 71 75 65 72 | ,..........walker,...return.quer |
1a740 | 79 5f 74 72 65 65 5f 77 61 6c 6b 65 72 28 28 51 75 65 72 79 20 2a 29 20 6e 6f 64 65 2c 00 09 69 | y_tree_walker((Query.*).node,..i |
1a760 | 66 20 28 6e 6f 64 65 20 26 26 20 49 73 41 28 6e 6f 64 65 2c 20 51 75 65 72 79 29 29 00 7b 00 09 | f.(node.&&.IsA(node,.Query)).{.. |
1a780 | 09 09 09 09 09 09 09 69 6e 74 20 66 6c 61 67 73 29 00 09 09 09 09 09 09 09 09 76 6f 69 64 20 2a | .......int.flags).........void.* |
1a7a0 | 63 6f 6e 74 65 78 74 2c 00 09 09 09 09 09 09 09 09 62 6f 6f 6c 20 28 2a 77 61 6c 6b 65 72 29 20 | context,.........bool.(*walker). |
1a7c0 | 28 29 2c 00 71 75 65 72 79 5f 6f 72 5f 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c | (),.query_or_expression_tree_wal |
1a7e0 | 6b 65 72 28 4e 6f 64 65 20 2a 6e 6f 64 65 2c 00 62 6f 6f 6c 00 20 2a 2f 00 20 2a 20 66 6f 72 20 | ker(Node.*node,.bool..*/..*.for. |
1a800 | 74 68 65 20 6f 75 74 65 72 6d 6f 73 74 20 51 75 65 72 79 20 6e 6f 64 65 2e 00 20 2a 20 74 68 65 | the.outermost.Query.node...*.the |
1a820 | 20 72 65 63 75 72 73 69 6f 6e 20 77 68 65 6e 20 74 68 65 20 77 61 6c 6b 65 72 27 73 20 6e 6f 72 | .recursion.when.the.walker's.nor |
1a840 | 6d 61 6c 20 63 68 61 6e 67 65 20 6f 66 20 73 74 61 74 65 20 69 73 20 6e 6f 74 20 61 70 70 72 6f | mal.change.of.state.is.not.appro |
1a860 | 70 72 69 61 74 65 00 20 2a 20 65 6c 73 65 20 77 69 6c 6c 20 69 6e 76 6f 6b 65 20 74 68 65 20 77 | priate..*.else.will.invoke.the.w |
1a880 | 61 6c 6b 65 72 20 64 69 72 65 63 74 6c 79 2e 20 20 54 68 69 73 20 69 73 20 61 20 75 73 65 66 75 | alker.directly...This.is.a.usefu |
1a8a0 | 6c 20 77 61 79 20 6f 66 20 73 74 61 72 74 69 6e 67 00 20 2a 20 54 68 69 73 20 72 6f 75 74 69 6e | l.way.of.starting..*.This.routin |
1a8c0 | 65 20 77 69 6c 6c 20 69 6e 76 6f 6b 65 20 71 75 65 72 79 5f 74 72 65 65 5f 77 61 6c 6b 65 72 20 | e.will.invoke.query_tree_walker. |
1a8e0 | 69 66 20 63 61 6c 6c 65 64 20 6f 6e 20 61 20 51 75 65 72 79 20 6e 6f 64 65 2c 00 20 2a 00 20 2a | if.called.on.a.Query.node,..*..* |
1a900 | 20 71 75 65 72 79 5f 6f 72 5f 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b 65 72 | .query_or_expression_tree_walker |
1a920 | 20 2d 2d 2d 20 68 79 62 72 69 64 20 66 6f 72 6d 00 2f 2a 00 00 7d 00 09 72 65 74 75 72 6e 20 6e | .---.hybrid.form./*..}..return.n |
1a940 | 65 77 72 74 3b 00 09 7d 00 09 09 6e 65 77 72 74 20 3d 20 6c 61 70 70 65 6e 64 28 6e 65 77 72 74 | ewrt;..}...newrt.=.lappend(newrt |
1a960 | 2c 20 6e 65 77 72 74 65 29 3b 00 09 09 4d 55 54 41 54 45 28 6e 65 77 72 74 65 2d 3e 73 65 63 75 | ,.newrte);...MUTATE(newrte->secu |
1a980 | 72 69 74 79 51 75 61 6c 73 2c 20 72 74 65 2d 3e 73 65 63 75 72 69 74 79 51 75 61 6c 73 2c 20 4c | rityQuals,.rte->securityQuals,.L |
1a9a0 | 69 73 74 20 2a 29 3b 00 09 09 7d 00 09 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 4d 55 54 41 54 | ist.*);...}.....break;.....MUTAT |
1a9c0 | 45 28 6e 65 77 72 74 65 2d 3e 76 61 6c 75 65 73 5f 6c 69 73 74 73 2c 20 72 74 65 2d 3e 76 61 6c | E(newrte->values_lists,.rte->val |
1a9e0 | 75 65 73 5f 6c 69 73 74 73 2c 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 63 61 73 65 20 52 54 45 5f | ues_lists,.List.*);....case.RTE_ |
1aa00 | 56 41 4c 55 45 53 3a 00 09 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 4d 55 54 41 54 45 28 6e 65 | VALUES:.....break;.....MUTATE(ne |
1aa20 | 77 72 74 65 2d 3e 66 75 6e 63 74 69 6f 6e 73 2c 20 72 74 65 2d 3e 66 75 6e 63 74 69 6f 6e 73 2c | wrte->functions,.rte->functions, |
1aa40 | 20 4c 69 73 74 20 2a 29 3b 00 09 09 09 63 61 73 65 20 52 54 45 5f 46 55 4e 43 54 49 4f 4e 3a 00 | .List.*);....case.RTE_FUNCTION:. |
1aa60 | 09 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 7d 00 09 09 09 09 09 6e 65 77 72 74 65 2d 3e 6a 6f | ....break;.....}......newrte->jo |
1aa80 | 69 6e 61 6c 69 61 73 76 61 72 73 20 3d 20 63 6f 70 79 4f 62 6a 65 63 74 28 72 74 65 2d 3e 6a 6f | inaliasvars.=.copyObject(rte->jo |
1aaa0 | 69 6e 61 6c 69 61 73 76 61 72 73 29 3b 00 09 09 09 09 09 2f 2a 20 65 6c 73 65 2c 20 63 6f 70 79 | inaliasvars);....../*.else,.copy |
1aac0 | 20 6a 6f 69 6e 20 61 6c 69 61 73 65 73 20 61 73 2d 69 73 20 2a 2f 00 09 09 09 09 7b 00 09 09 09 | .join.aliases.as-is.*/.....{.... |
1aae0 | 09 65 6c 73 65 00 09 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 72 74 65 2d 3e 6a 6f 69 6e 61 6c | .else......MUTATE(newrte->joinal |
1ab00 | 69 61 73 76 61 72 73 2c 20 72 74 65 2d 3e 6a 6f 69 6e 61 6c 69 61 73 76 61 72 73 2c 20 4c 69 73 | iasvars,.rte->joinaliasvars,.Lis |
1ab20 | 74 20 2a 29 3b 00 09 09 09 09 69 66 20 28 21 28 66 6c 61 67 73 20 26 20 51 54 57 5f 49 47 4e 4f | t.*);.....if.(!(flags.&.QTW_IGNO |
1ab40 | 52 45 5f 4a 4f 49 4e 41 4c 49 41 53 45 53 29 29 00 09 09 09 63 61 73 65 20 52 54 45 5f 4a 4f 49 | RE_JOINALIASES))....case.RTE_JOI |
1ab60 | 4e 3a 00 09 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 7d 00 09 09 09 09 09 6e 65 77 72 74 65 2d | N:.....break;.....}......newrte- |
1ab80 | 3e 73 75 62 71 75 65 72 79 20 3d 20 63 6f 70 79 4f 62 6a 65 63 74 28 72 74 65 2d 3e 73 75 62 71 | >subquery.=.copyObject(rte->subq |
1aba0 | 75 65 72 79 29 3b 00 09 09 09 09 09 2f 2a 20 65 6c 73 65 2c 20 63 6f 70 79 20 52 54 20 73 75 62 | uery);....../*.else,.copy.RT.sub |
1abc0 | 71 75 65 72 69 65 73 20 61 73 2d 69 73 20 2a 2f 00 09 09 09 09 7b 00 09 09 09 09 65 6c 73 65 00 | queries.as-is.*/.....{.....else. |
1abe0 | 09 09 09 09 7d 00 09 09 09 09 09 4d 55 54 41 54 45 28 6e 65 77 72 74 65 2d 3e 73 75 62 71 75 65 | ....}......MUTATE(newrte->subque |
1ac00 | 72 79 2c 20 6e 65 77 72 74 65 2d 3e 73 75 62 71 75 65 72 79 2c 20 51 75 65 72 79 20 2a 29 3b 00 | ry,.newrte->subquery,.Query.*);. |
1ac20 | 09 09 09 09 09 43 48 45 43 4b 46 4c 41 54 43 4f 50 59 28 6e 65 77 72 74 65 2d 3e 73 75 62 71 75 | .....CHECKFLATCOPY(newrte->subqu |
1ac40 | 65 72 79 2c 20 72 74 65 2d 3e 73 75 62 71 75 65 72 79 2c 20 51 75 65 72 79 29 3b 00 09 09 09 09 | ery,.rte->subquery,.Query);..... |
1ac60 | 7b 00 09 09 09 09 69 66 20 28 21 28 66 6c 61 67 73 20 26 20 51 54 57 5f 49 47 4e 4f 52 45 5f 52 | {.....if.(!(flags.&.QTW_IGNORE_R |
1ac80 | 54 5f 53 55 42 51 55 45 52 49 45 53 29 29 00 09 09 09 63 61 73 65 20 52 54 45 5f 53 55 42 51 55 | T_SUBQUERIES))....case.RTE_SUBQU |
1aca0 | 45 52 59 3a 00 09 09 09 09 62 72 65 61 6b 3b 00 09 09 09 09 2f 2a 20 6e 6f 74 68 69 6e 67 20 74 | ERY:.....break;...../*.nothing.t |
1acc0 | 6f 20 64 6f 20 2a 2f 00 09 09 09 63 61 73 65 20 52 54 45 5f 43 54 45 3a 00 09 09 09 09 62 72 65 | o.do.*/....case.RTE_CTE:.....bre |
1ace0 | 61 6b 3b 00 09 09 09 09 2f 2a 20 77 65 20 64 6f 6e 27 74 20 62 6f 74 68 65 72 20 74 6f 20 63 6f | ak;...../*.we.don't.bother.to.co |
1ad00 | 70 79 20 65 72 65 66 2c 20 61 6c 69 61 73 65 73 2c 20 65 74 63 3b 20 4f 4b 3f 20 2a 2f 00 09 09 | py.eref,.aliases,.etc;.OK?.*/... |
1ad20 | 09 09 09 20 20 20 54 61 62 6c 65 53 61 6d 70 6c 65 43 6c 61 75 73 65 20 2a 29 3b 00 09 09 09 09 | ......TableSampleClause.*);..... |
1ad40 | 4d 55 54 41 54 45 28 6e 65 77 72 74 65 2d 3e 74 61 62 6c 65 73 61 6d 70 6c 65 2c 20 72 74 65 2d | MUTATE(newrte->tablesample,.rte- |
1ad60 | 3e 74 61 62 6c 65 73 61 6d 70 6c 65 2c 00 09 09 09 63 61 73 65 20 52 54 45 5f 52 45 4c 41 54 49 | >tablesample,....case.RTE_RELATI |
1ad80 | 4f 4e 3a 00 09 09 7b 00 09 09 73 77 69 74 63 68 20 28 72 74 65 2d 3e 72 74 65 6b 69 6e 64 29 00 | ON:...{...switch.(rte->rtekind). |
1ada0 | 09 09 46 4c 41 54 43 4f 50 59 28 6e 65 77 72 74 65 2c 20 72 74 65 2c 20 52 61 6e 67 65 54 62 6c | ..FLATCOPY(newrte,.rte,.RangeTbl |
1adc0 | 45 6e 74 72 79 29 3b 00 00 09 09 52 61 6e 67 65 54 62 6c 45 6e 74 72 79 20 2a 6e 65 77 72 74 65 | Entry);....RangeTblEntry.*newrte |
1ade0 | 3b 00 09 09 52 61 6e 67 65 54 62 6c 45 6e 74 72 79 20 2a 72 74 65 20 3d 20 28 52 61 6e 67 65 54 | ;...RangeTblEntry.*rte.=.(RangeT |
1ae00 | 62 6c 45 6e 74 72 79 20 2a 29 20 6c 66 69 72 73 74 28 72 74 29 3b 00 09 7b 00 09 66 6f 72 65 61 | blEntry.*).lfirst(rt);..{..forea |
1ae20 | 63 68 28 72 74 2c 20 72 74 61 62 6c 65 29 00 00 09 4c 69 73 74 43 65 6c 6c 20 20 20 2a 72 74 3b | ch(rt,.rtable)...ListCell...*rt; |
1ae40 | 00 09 4c 69 73 74 09 20 20 20 2a 6e 65 77 72 74 20 3d 20 4e 49 4c 3b 00 7b 00 09 09 09 09 09 69 | ..List....*newrt.=.NIL;.{......i |
1ae60 | 6e 74 20 66 6c 61 67 73 29 00 09 09 09 09 09 76 6f 69 64 20 2a 63 6f 6e 74 65 78 74 2c 00 09 09 | nt.flags)......void.*context,... |
1ae80 | 09 09 09 4e 6f 64 65 20 2a 28 2a 6d 75 74 61 74 6f 72 29 20 28 29 2c 00 72 61 6e 67 65 5f 74 61 | ...Node.*(*mutator).(),.range_ta |
1aea0 | 62 6c 65 5f 6d 75 74 61 74 6f 72 28 4c 69 73 74 20 2a 72 74 61 62 6c 65 2c 00 4c 69 73 74 20 2a | ble_mutator(List.*rtable,.List.* |
1aec0 | 00 20 2a 2f 00 20 2a 20 69 74 73 20 6f 77 6e 2e 00 20 2a 20 61 20 71 75 65 72 79 27 73 20 72 61 | ..*/..*.its.own...*.a.query's.ra |
1aee0 | 6e 67 65 74 61 62 6c 65 2e 20 20 54 68 69 73 20 69 73 20 73 70 6c 69 74 20 6f 75 74 20 73 69 6e | ngetable...This.is.split.out.sin |
1af00 | 63 65 20 69 74 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 6f 6e 00 20 2a 20 72 61 6e 67 65 5f | ce.it.can.be.useful.on..*.range_ |
1af20 | 74 61 62 6c 65 5f 6d 75 74 61 74 6f 72 20 69 73 20 6a 75 73 74 20 74 68 65 20 70 61 72 74 20 6f | table_mutator.is.just.the.part.o |
1af40 | 66 20 71 75 65 72 79 5f 74 72 65 65 5f 6d 75 74 61 74 6f 72 20 74 68 61 74 20 70 72 6f 63 65 73 | f.query_tree_mutator.that.proces |
1af60 | 73 65 73 00 2f 2a 00 00 7d 00 09 72 65 74 75 72 6e 20 71 75 65 72 79 3b 00 09 09 09 09 09 09 09 | ses./*..}..return.query;........ |
1af80 | 09 09 09 6d 75 74 61 74 6f 72 2c 20 63 6f 6e 74 65 78 74 2c 20 66 6c 61 67 73 29 3b 00 09 71 75 | ...mutator,.context,.flags);..qu |
1afa0 | 65 72 79 2d 3e 72 74 61 62 6c 65 20 3d 20 72 61 6e 67 65 5f 74 61 62 6c 65 5f 6d 75 74 61 74 6f | ery->rtable.=.range_table_mutato |
1afc0 | 72 28 71 75 65 72 79 2d 3e 72 74 61 62 6c 65 2c 00 09 09 71 75 65 72 79 2d 3e 63 74 65 4c 69 73 | r(query->rtable,...query->cteLis |
1afe0 | 74 20 3d 20 63 6f 70 79 4f 62 6a 65 63 74 28 71 75 65 72 79 2d 3e 63 74 65 4c 69 73 74 29 3b 00 | t.=.copyObject(query->cteList);. |
1b000 | 61 64 00 00 0f 00 00 00 53 02 00 00 00 10 00 00 8a 00 00 00 00 00 00 00 b6 0f 00 00 78 0f 00 00 | ad......S...................x... |
1b020 | 74 0f 00 00 6f 0f 00 00 48 0f 00 00 2c 0f 00 00 14 0f 00 00 12 0f 00 00 ff 0e 00 00 fe 0e 00 00 | t...o...H...,................... |
1b040 | fa 0e 00 00 b1 0e 00 00 8a 0e 00 00 85 0e 00 00 72 0e 00 00 62 0e 00 00 61 0e 00 00 1b 0e 00 00 | ................r...b...a....... |
1b060 | 05 0e 00 00 04 0e 00 00 ec 0d 00 00 e9 0d 00 00 d2 0d 00 00 ba 0d 00 00 a8 0d 00 00 98 0d 00 00 | ................................ |
1b080 | 87 0d 00 00 73 0d 00 00 64 0d 00 00 51 0d 00 00 3f 0d 00 00 2e 0d 00 00 ff 0c 00 00 f5 0c 00 00 | ....s...d...Q...?............... |
1b0a0 | e5 0c 00 00 ae 0c 00 00 a4 0c 00 00 91 0c 00 00 5a 0c 00 00 43 0c 00 00 09 0c 00 00 f7 0b 00 00 | ................Z...C........... |
1b0c0 | f2 0b 00 00 c6 0b 00 00 c5 0b 00 00 99 0b 00 00 87 0b 00 00 53 0b 00 00 26 0b 00 00 14 0b 00 00 | ....................S...&....... |
1b0e0 | 0f 0b 00 00 05 0b 00 00 f2 0a 00 00 ed 0a 00 00 bf 0a 00 00 be 0a 00 00 96 0a 00 00 84 0a 00 00 | ................................ |
1b100 | 44 0a 00 00 22 0a 00 00 1c 0a 00 00 e9 09 00 00 e8 09 00 00 c6 09 00 00 a0 09 00 00 8d 09 00 00 | D..."........................... |
1b120 | 65 09 00 00 52 09 00 00 4c 09 00 00 1e 09 00 00 0c 09 00 00 07 09 00 00 fd 08 00 00 eb 08 00 00 | e...R...L....................... |
1b140 | c0 08 00 00 8b 08 00 00 74 08 00 00 3a 08 00 00 25 08 00 00 ed 07 00 00 db 07 00 00 d6 07 00 00 | ........t...:...%............... |
1b160 | ac 07 00 00 ab 07 00 00 7f 07 00 00 6d 07 00 00 35 07 00 00 0f 07 00 00 fd 06 00 00 f8 06 00 00 | ............m...5............... |
1b180 | ee 06 00 00 db 06 00 00 a6 06 00 00 90 06 00 00 58 06 00 00 45 06 00 00 40 06 00 00 16 06 00 00 | ................X...E...@....... |
1b1a0 | 15 06 00 00 f0 05 00 00 de 05 00 00 b9 05 00 00 a7 05 00 00 81 05 00 00 6f 05 00 00 49 05 00 00 | ........................o...I... |
1b1c0 | 37 05 00 00 0a 05 00 00 05 05 00 00 fb 04 00 00 e6 04 00 00 e1 04 00 00 b5 04 00 00 b4 04 00 00 | 7............................... |
1b1e0 | 90 04 00 00 7e 04 00 00 49 04 00 00 07 04 00 00 dd 03 00 00 cb 03 00 00 c6 03 00 00 bc 03 00 00 | ....~...I....................... |
1b200 | ad 03 00 00 8d 03 00 00 88 03 00 00 58 03 00 00 46 03 00 00 41 03 00 00 37 03 00 00 22 03 00 00 | ............X...F...A...7..."... |
1b220 | 1d 03 00 00 f1 02 00 00 f0 02 00 00 c7 02 00 00 b5 02 00 00 90 02 00 00 7e 02 00 00 53 02 00 00 | ........................~...S... |
1b240 | 52 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 | R......................if.(walke |
1b260 | 72 28 73 74 6d 74 2d 3e 73 65 6c 65 63 74 53 74 6d 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 | r(stmt->selectStmt,.context))... |
1b280 | 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 | ...return.true;.....if.(walker(s |
1b2a0 | 74 6d 74 2d 3e 63 6f 6c 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e | tmt->cols,.context))......return |
1b2c0 | 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 72 65 6c 61 | .true;.....if.(walker(stmt->rela |
1b2e0 | 74 69 6f 6e 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 49 6e 73 65 72 74 53 74 6d 74 20 | tion,.context))......InsertStmt. |
1b300 | 2a 73 74 6d 74 20 3d 20 28 49 6e 73 65 72 74 53 74 6d 74 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 | *stmt.=.(InsertStmt.*).node;.... |
1b320 | 7b 00 09 09 63 61 73 65 20 54 5f 49 6e 73 65 72 74 53 74 6d 74 3a 00 09 09 09 62 72 65 61 6b 3b | {...case.T_InsertStmt:....break; |
1b340 | 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 | ....}......return.true;.....if.( |
1b360 | 77 61 6c 6b 65 72 28 28 4e 6f 64 65 20 2a 29 20 6c 66 69 72 73 74 28 74 65 6d 70 29 2c 20 63 6f | walker((Node.*).lfirst(temp),.co |
1b380 | 6e 74 65 78 74 29 29 00 09 09 09 7b 00 09 09 09 66 6f 72 65 61 63 68 28 74 65 6d 70 2c 20 28 4c | ntext))....{....foreach(temp,.(L |
1b3a0 | 69 73 74 20 2a 29 20 6e 6f 64 65 29 00 09 09 63 61 73 65 20 54 5f 4c 69 73 74 3a 00 09 09 09 62 | ist.*).node)...case.T_List:....b |
1b3c0 | 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 | reak;....}......return.true;.... |
1b3e0 | 09 69 66 20 28 77 61 6c 6b 65 72 28 69 6e 74 6f 2d 3e 76 69 65 77 51 75 65 72 79 2c 20 63 6f 6e | .if.(walker(into->viewQuery,.con |
1b400 | 74 65 78 74 29 29 00 09 09 09 09 2f 2a 20 76 69 65 77 51 75 65 72 79 20 73 68 6f 75 6c 64 20 62 | text))...../*.viewQuery.should.b |
1b420 | 65 20 6e 75 6c 6c 20 69 6e 20 72 61 77 20 70 61 72 73 65 74 72 65 65 2c 20 62 75 74 20 63 68 65 | e.null.in.raw.parsetree,.but.che |
1b440 | 63 6b 20 69 74 20 2a 2f 00 09 09 09 09 2f 2a 20 63 6f 6c 4e 61 6d 65 73 2c 20 6f 70 74 69 6f 6e | ck.it.*/...../*.colNames,.option |
1b460 | 73 20 61 72 65 20 64 65 65 6d 65 64 20 75 6e 69 6e 74 65 72 65 73 74 69 6e 67 20 2a 2f 00 09 09 | s.are.deemed.uninteresting.*/... |
1b480 | 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 69 | ...return.true;.....if.(walker(i |
1b4a0 | 6e 74 6f 2d 3e 72 65 6c 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 49 6e 74 6f 43 6c 61 | nto->rel,.context))......IntoCla |
1b4c0 | 75 73 65 20 2a 69 6e 74 6f 20 3d 20 28 49 6e 74 6f 43 6c 61 75 73 65 20 2a 29 20 6e 6f 64 65 3b | use.*into.=.(IntoClause.*).node; |
1b4e0 | 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 49 6e 74 6f 43 6c 61 75 73 65 3a 00 09 09 09 62 72 | ....{...case.T_IntoClause:....br |
1b500 | 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 2f 2a 20 75 73 69 6e 67 20 6c 69 73 74 20 69 73 20 64 | eak;....}...../*.using.list.is.d |
1b520 | 65 65 6d 65 64 20 75 6e 69 6e 74 65 72 65 73 74 69 6e 67 20 2a 2f 00 09 09 09 09 09 72 65 74 75 | eemed.uninteresting.*/......retu |
1b540 | 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 6a 6f 69 6e 2d 3e 61 6c | rn.true;.....if.(walker(join->al |
1b560 | 69 61 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b | ias,.context))......return.true; |
1b580 | 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 6a 6f 69 6e 2d 3e 71 75 61 6c 73 2c 20 63 6f 6e | .....if.(walker(join->quals,.con |
1b5a0 | 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 | text))......return.true;.....if. |
1b5c0 | 28 77 61 6c 6b 65 72 28 6a 6f 69 6e 2d 3e 72 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 | (walker(join->rarg,.context))... |
1b5e0 | 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 6a | ...return.true;.....if.(walker(j |
1b600 | 6f 69 6e 2d 3e 6c 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 4a 6f 69 6e 45 78 | oin->larg,.context))......JoinEx |
1b620 | 70 72 20 20 20 2a 6a 6f 69 6e 20 3d 20 28 4a 6f 69 6e 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 | pr...*join.=.(JoinExpr.*).node;. |
1b640 | 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 4a 6f 69 6e 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 | ...{...case.T_JoinExpr:....retur |
1b660 | 6e 20 77 61 6c 6b 65 72 28 28 28 42 6f 6f 6c 65 61 6e 54 65 73 74 20 2a 29 20 6e 6f 64 65 29 2d | n.walker(((BooleanTest.*).node)- |
1b680 | 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 42 6f 6f 6c 65 61 6e | >arg,.context);...case.T_Boolean |
1b6a0 | 54 65 73 74 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 4e 75 6c 6c 54 65 73 | Test:....return.walker(((NullTes |
1b6c0 | 74 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 | t.*).node)->arg,.context);...cas |
1b6e0 | 65 20 54 5f 4e 75 6c 6c 54 65 73 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 | e.T_NullTest:....break;....}.... |
1b700 | 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 78 65 | ..return.true;.....if.(walker(xe |
1b720 | 78 70 72 2d 3e 61 72 67 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 2f 2a 20 77 65 20 61 | xpr->args,.context))...../*.we.a |
1b740 | 73 73 75 6d 65 20 77 61 6c 6b 65 72 20 64 6f 65 73 6e 27 74 20 63 61 72 65 20 61 62 6f 75 74 20 | ssume.walker.doesn't.care.about. |
1b760 | 61 72 67 5f 6e 61 6d 65 73 20 2a 2f 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 | arg_names.*/......return.true;.. |
1b780 | 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 78 65 78 70 72 2d 3e 6e 61 6d 65 64 5f 61 72 67 73 2c | ...if.(walker(xexpr->named_args, |
1b7a0 | 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 58 6d 6c 45 78 70 72 20 20 20 20 2a 78 65 78 70 | .context))......XmlExpr....*xexp |
1b7c0 | 72 20 3d 20 28 58 6d 6c 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 | r.=.(XmlExpr.*).node;....{...cas |
1b7e0 | 65 20 54 5f 58 6d 6c 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 | e.T_XmlExpr:....return.walker((( |
1b800 | 4d 69 6e 4d 61 78 45 78 70 72 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 73 2c 20 63 6f 6e 74 65 | MinMaxExpr.*).node)->args,.conte |
1b820 | 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 4d 69 6e 4d 61 78 45 78 70 72 3a 00 09 09 09 72 65 74 | xt);...case.T_MinMaxExpr:....ret |
1b840 | 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 43 6f 61 6c 65 73 63 65 45 78 70 72 20 2a 29 20 6e 6f 64 | urn.walker(((CoalesceExpr.*).nod |
1b860 | 65 29 2d 3e 61 72 67 73 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 43 6f 61 | e)->args,.context);...case.T_Coa |
1b880 | 6c 65 73 63 65 45 78 70 72 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 52 6f | lesceExpr:....return.walker(((Ro |
1b8a0 | 77 45 78 70 72 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 73 2c 20 63 6f 6e 74 65 78 74 29 3b 00 | wExpr.*).node)->args,.context);. |
1b8c0 | 09 09 09 2f 2a 20 41 73 73 75 6d 65 20 63 6f 6c 6e 61 6d 65 73 20 69 73 6e 27 74 20 69 6e 74 65 | .../*.Assume.colnames.isn't.inte |
1b8e0 | 72 65 73 74 69 6e 67 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 52 6f 77 45 78 70 72 3a 00 09 09 09 | resting.*/...case.T_RowExpr:.... |
1b900 | 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 | break;....}......return.true;... |
1b920 | 09 09 69 66 20 28 77 61 6c 6b 65 72 28 63 61 73 65 65 78 70 72 2d 3e 64 65 66 72 65 73 75 6c 74 | ..if.(walker(caseexpr->defresult |
1b940 | 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 7d 00 09 09 09 09 09 09 72 65 74 75 72 6e 20 74 | ,.context)).....}.......return.t |
1b960 | 72 75 65 3b 00 09 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 77 68 65 6e 2d 3e 72 65 73 75 6c | rue;......if.(walker(when->resul |
1b980 | 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 | t,.context)).......return.true;. |
1b9a0 | 09 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 77 68 65 6e 2d 3e 65 78 70 72 2c 20 63 6f 6e 74 | .....if.(walker(when->expr,.cont |
1b9c0 | 65 78 74 29 29 00 09 09 09 09 09 41 73 73 65 72 74 28 49 73 41 28 77 68 65 6e 2c 20 43 61 73 65 | ext))......Assert(IsA(when,.Case |
1b9e0 | 57 68 65 6e 29 29 3b 00 00 09 09 09 09 09 43 61 73 65 57 68 65 6e 20 20 20 2a 77 68 65 6e 20 3d | When));.......CaseWhen...*when.= |
1ba00 | 20 28 43 61 73 65 57 68 65 6e 20 2a 29 20 6c 66 69 72 73 74 28 74 65 6d 70 29 3b 00 09 09 09 09 | .(CaseWhen.*).lfirst(temp);..... |
1ba20 | 7b 00 09 09 09 09 66 6f 72 65 61 63 68 28 74 65 6d 70 2c 20 63 61 73 65 65 78 70 72 2d 3e 61 72 | {.....foreach(temp,.caseexpr->ar |
1ba40 | 67 73 29 00 09 09 09 09 2f 2a 20 77 65 20 61 73 73 75 6d 65 20 77 61 6c 6b 65 72 20 64 6f 65 73 | gs)...../*.we.assume.walker.does |
1ba60 | 6e 27 74 20 63 61 72 65 20 61 62 6f 75 74 20 43 61 73 65 57 68 65 6e 73 2c 20 65 69 74 68 65 72 | n't.care.about.CaseWhens,.either |
1ba80 | 20 2a 2f 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 | .*/......return.true;.....if.(wa |
1baa0 | 6c 6b 65 72 28 63 61 73 65 65 78 70 72 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 | lker(caseexpr->arg,.context))... |
1bac0 | 09 09 09 43 61 73 65 45 78 70 72 20 20 20 2a 63 61 73 65 65 78 70 72 20 3d 20 28 43 61 73 65 45 | ...CaseExpr...*caseexpr.=.(CaseE |
1bae0 | 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 43 61 73 65 45 | xpr.*).node;....{...case.T_CaseE |
1bb00 | 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 | xpr:....break;....}......return. |
1bb20 | 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 75 62 6c 69 6e 6b 2d 3e 73 75 | true;.....if.(walker(sublink->su |
1bb40 | 62 73 65 6c 65 63 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 2f 2a 20 77 65 20 61 73 73 | bselect,.context))...../*.we.ass |
1bb60 | 75 6d 65 20 74 68 65 20 6f 70 65 72 4e 61 6d 65 20 69 73 20 6e 6f 74 20 69 6e 74 65 72 65 73 74 | ume.the.operName.is.not.interest |
1bb80 | 69 6e 67 20 2a 2f 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 | ing.*/......return.true;.....if. |
1bba0 | 28 77 61 6c 6b 65 72 28 73 75 62 6c 69 6e 6b 2d 3e 74 65 73 74 65 78 70 72 2c 20 63 6f 6e 74 65 | (walker(sublink->testexpr,.conte |
1bbc0 | 78 74 29 29 00 00 09 09 09 09 53 75 62 4c 69 6e 6b 20 20 20 20 2a 73 75 62 6c 69 6e 6b 20 3d 20 | xt))......SubLink....*sublink.=. |
1bbe0 | 28 53 75 62 4c 69 6e 6b 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f | (SubLink.*).node;....{...case.T_ |
1bc00 | 53 75 62 4c 69 6e 6b 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 47 72 6f 75 | SubLink:....return.walker(((Grou |
1bc20 | 70 69 6e 67 46 75 6e 63 20 2a 29 20 6e 6f 64 65 29 2d 3e 61 72 67 73 2c 20 63 6f 6e 74 65 78 74 | pingFunc.*).node)->args,.context |
1bc40 | 29 3b 00 09 09 63 61 73 65 20 54 5f 47 72 6f 75 70 69 6e 67 46 75 6e 63 3a 00 09 09 09 72 65 74 | );...case.T_GroupingFunc:....ret |
1bc60 | 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 52 61 6e 67 65 56 61 72 20 2a 29 20 6e 6f 64 65 29 2d 3e | urn.walker(((RangeVar.*).node)-> |
1bc80 | 61 6c 69 61 73 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 52 61 6e 67 65 56 | alias,.context);...case.T_RangeV |
1bca0 | 61 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 2f 2a 20 77 65 20 61 73 73 75 6d 65 20 74 68 | ar:....break;..../*.we.assume.th |
1bcc0 | 65 20 63 6f 6c 6e 61 6d 65 73 20 6c 69 73 74 20 69 73 6e 27 74 20 69 6e 74 65 72 65 73 74 69 6e | e.colnames.list.isn't.interestin |
1bce0 | 67 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 41 6c 69 61 73 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | g.*/...case.T_Alias:....break;.. |
1bd00 | 09 09 2f 2a 20 70 72 69 6d 69 74 69 76 65 20 6e 6f 64 65 20 74 79 70 65 73 20 77 69 74 68 20 6e | ../*.primitive.node.types.with.n |
1bd20 | 6f 20 73 75 62 6e 6f 64 65 73 20 2a 2f 00 09 09 63 61 73 65 20 54 5f 41 5f 53 74 61 72 3a 00 09 | o.subnodes.*/...case.T_A_Star:.. |
1bd40 | 09 63 61 73 65 20 54 5f 41 5f 43 6f 6e 73 74 3a 00 09 09 63 61 73 65 20 54 5f 50 61 72 61 6d 52 | .case.T_A_Const:...case.T_ParamR |
1bd60 | 65 66 3a 00 09 09 63 61 73 65 20 54 5f 4e 75 6c 6c 3a 00 09 09 63 61 73 65 20 54 5f 42 69 74 53 | ef:...case.T_Null:...case.T_BitS |
1bd80 | 74 72 69 6e 67 3a 00 09 09 63 61 73 65 20 54 5f 53 74 72 69 6e 67 3a 00 09 09 63 61 73 65 20 54 | tring:...case.T_String:...case.T |
1bda0 | 5f 46 6c 6f 61 74 3a 00 09 09 63 61 73 65 20 54 5f 49 6e 74 65 67 65 72 3a 00 09 09 63 61 73 65 | _Float:...case.T_Integer:...case |
1bdc0 | 20 54 5f 43 75 72 72 65 6e 74 4f 66 45 78 70 72 3a 00 09 09 63 61 73 65 20 54 5f 53 65 74 54 6f | .T_CurrentOfExpr:...case.T_SetTo |
1bde0 | 44 65 66 61 75 6c 74 3a 00 09 7b 00 09 73 77 69 74 63 68 20 28 6e 6f 64 65 54 61 67 28 6e 6f 64 | Default:..{..switch.(nodeTag(nod |
1be00 | 65 29 29 00 00 09 63 68 65 63 6b 5f 73 74 61 63 6b 5f 64 65 70 74 68 28 29 3b 00 09 2f 2a 20 47 | e))...check_stack_depth();../*.G |
1be20 | 75 61 72 64 20 61 67 61 69 6e 73 74 20 73 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 20 64 75 65 20 | uard.against.stack.overflow.due. |
1be40 | 74 6f 20 6f 76 65 72 6c 79 20 63 6f 6d 70 6c 65 78 20 65 78 70 72 65 73 73 69 6f 6e 73 20 2a 2f | to.overly.complex.expressions.*/ |
1be60 | 00 00 09 09 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 00 09 69 66 20 28 6e 6f 64 65 20 3d 3d 20 4e | ....return.false;..if.(node.==.N |
1be80 | 55 4c 4c 29 00 09 20 2a 2f 00 09 20 2a 20 72 65 63 75 72 73 65 20 69 6e 74 6f 20 61 6e 79 20 73 | ULL)...*/...*.recurse.into.any.s |
1bea0 | 75 62 2d 6e 6f 64 65 73 20 69 74 20 68 61 73 2e 00 09 20 2a 20 54 68 65 20 77 61 6c 6b 65 72 20 | ub-nodes.it.has....*.The.walker. |
1bec0 | 68 61 73 20 61 6c 72 65 61 64 79 20 76 69 73 69 74 65 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 | has.already.visited.the.current. |
1bee0 | 6e 6f 64 65 2c 20 61 6e 64 20 73 6f 20 77 65 20 6e 65 65 64 20 6f 6e 6c 79 00 09 2f 2a 00 00 09 | node,.and.so.we.need.only../*... |
1bf00 | 4c 69 73 74 43 65 6c 6c 20 20 20 2a 74 65 6d 70 3b 00 7b 00 09 09 09 09 09 09 20 20 20 76 6f 69 | ListCell...*temp;.{..........voi |
1bf20 | 64 20 2a 63 6f 6e 74 65 78 74 29 00 09 09 09 09 09 09 20 20 20 62 6f 6f 6c 20 28 2a 77 61 6c 6b | d.*context)..........bool.(*walk |
1bf40 | 65 72 29 20 28 29 2c 00 72 61 77 5f 65 78 70 72 65 73 73 69 6f 6e 5f 74 72 65 65 5f 77 61 6c 6b | er).(),.raw_expression_tree_walk |
1bf60 | 65 72 28 4e 6f 64 65 20 2a 6e 6f 64 65 2c 00 62 6f 6f 6c 00 20 2a 2f 00 20 2a 20 74 68 61 74 20 | er(Node.*node,.bool..*/..*.that. |
1bf80 | 63 6f 75 6c 64 20 61 70 70 65 61 72 20 75 6e 64 65 72 20 69 74 2c 20 62 75 74 20 6e 6f 74 20 6f | could.appear.under.it,.but.not.o |
1bfa0 | 74 68 65 72 20 73 74 61 74 65 6d 65 6e 74 20 74 79 70 65 73 2e 00 20 2a 20 43 75 72 72 65 6e 74 | ther.statement.types...*.Current |
1bfc0 | 6c 79 2c 20 74 68 65 20 6e 6f 64 65 20 74 79 70 65 20 63 6f 76 65 72 61 67 65 20 65 78 74 65 6e | ly,.the.node.type.coverage.exten |
1bfe0 | 64 73 20 74 6f 20 53 65 6c 65 63 74 53 74 6d 74 20 61 6e 64 20 65 76 65 72 79 74 68 69 6e 67 00 | ds.to.SelectStmt.and.everything. |
1c000 | 61 64 00 00 13 00 00 00 63 02 00 00 00 10 00 00 8d 00 00 00 00 00 00 00 ee 0f 00 00 bd 0f 00 00 | ad......c....................... |
1c020 | ab 0f 00 00 7d 0f 00 00 6b 0f 00 00 40 0f 00 00 2e 0f 00 00 29 0f 00 00 1f 0f 00 00 0a 0f 00 00 | ....}...k...@.......)........... |
1c040 | 05 0f 00 00 d9 0e 00 00 d8 0e 00 00 af 0e 00 00 9d 0e 00 00 71 0e 00 00 5f 0e 00 00 33 0e 00 00 | ....................q..._...3... |
1c060 | 21 0e 00 00 f3 0d 00 00 e1 0d 00 00 b6 0d 00 00 a4 0d 00 00 9f 0d 00 00 95 0d 00 00 80 0d 00 00 | !............................... |
1c080 | 7b 0d 00 00 4f 0d 00 00 4e 0d 00 00 25 0d 00 00 13 0d 00 00 e8 0c 00 00 d6 0c 00 00 aa 0c 00 00 | {...O...N...%................... |
1c0a0 | 98 0c 00 00 6d 0c 00 00 5b 0c 00 00 2d 0c 00 00 1b 0c 00 00 f0 0b 00 00 de 0b 00 00 d9 0b 00 00 | ....m...[...-................... |
1c0c0 | cf 0b 00 00 ba 0b 00 00 b5 0b 00 00 89 0b 00 00 88 0b 00 00 59 0b 00 00 47 0b 00 00 1c 0b 00 00 | ....................Y...G....... |
1c0e0 | 0a 0b 00 00 df 0a 00 00 cd 0a 00 00 a2 0a 00 00 90 0a 00 00 64 0a 00 00 52 0a 00 00 26 0a 00 00 | ....................d...R...&... |
1c100 | 14 0a 00 00 e7 09 00 00 d5 09 00 00 a8 09 00 00 96 09 00 00 6a 09 00 00 58 09 00 00 2d 09 00 00 | ....................j...X...-... |
1c120 | 1b 09 00 00 ef 08 00 00 dd 08 00 00 b2 08 00 00 a0 08 00 00 72 08 00 00 60 08 00 00 35 08 00 00 | ....................r...`...5... |
1c140 | 23 08 00 00 fe 07 00 00 ec 07 00 00 c7 07 00 00 b5 07 00 00 b0 07 00 00 a6 07 00 00 95 07 00 00 | #............................... |
1c160 | 90 07 00 00 69 07 00 00 68 07 00 00 42 07 00 00 30 07 00 00 0a 07 00 00 f8 06 00 00 c8 06 00 00 | ....i...h...B...0............... |
1c180 | c3 06 00 00 b9 06 00 00 a6 06 00 00 a1 06 00 00 77 06 00 00 76 06 00 00 51 06 00 00 3f 06 00 00 | ................w...v...Q...?... |
1c1a0 | 3a 06 00 00 30 06 00 00 1c 06 00 00 e2 05 00 00 d8 05 00 00 c5 05 00 00 c0 05 00 00 95 05 00 00 | :...0........................... |
1c1c0 | 94 05 00 00 6e 05 00 00 5c 05 00 00 31 05 00 00 1f 05 00 00 f3 04 00 00 e1 04 00 00 bb 04 00 00 | ....n...\...1................... |
1c1e0 | a9 04 00 00 79 04 00 00 74 04 00 00 6a 04 00 00 53 04 00 00 1a 04 00 00 06 04 00 00 01 04 00 00 | ....y...t...j...S............... |
1c200 | d3 03 00 00 d2 03 00 00 aa 03 00 00 98 03 00 00 70 03 00 00 5e 03 00 00 59 03 00 00 4f 03 00 00 | ................p...^...Y...O... |
1c220 | 37 03 00 00 32 03 00 00 ff 02 00 00 fe 02 00 00 d9 02 00 00 c7 02 00 00 9a 02 00 00 88 02 00 00 | 7...2........................... |
1c240 | 83 02 00 00 79 02 00 00 63 02 00 00 62 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ....y...c...b................... |
1c260 | 00 00 00 09 09 63 61 73 65 20 54 5f 41 5f 41 72 72 61 79 45 78 70 72 3a 00 09 09 09 62 72 65 61 | .....case.T_A_ArrayExpr:....brea |
1c280 | 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 | k;....}......return.true;.....if |
1c2a0 | 20 28 77 61 6c 6b 65 72 28 69 6e 64 69 72 2d 3e 69 6e 64 69 72 65 63 74 69 6f 6e 2c 20 63 6f 6e | .(walker(indir->indirection,.con |
1c2c0 | 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 | text))......return.true;.....if. |
1c2e0 | 28 77 61 6c 6b 65 72 28 69 6e 64 69 72 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 | (walker(indir->arg,.context))... |
1c300 | 09 09 09 41 5f 49 6e 64 69 72 65 63 74 69 6f 6e 20 2a 69 6e 64 69 72 20 3d 20 28 41 5f 49 6e 64 | ...A_Indirection.*indir.=.(A_Ind |
1c320 | 69 72 65 63 74 69 6f 6e 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f | irection.*).node;....{...case.T_ |
1c340 | 41 5f 49 6e 64 69 72 65 63 74 69 6f 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 | A_Indirection:....break;....}... |
1c360 | 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 69 | ...return.true;.....if.(walker(i |
1c380 | 6e 64 69 63 65 73 2d 3e 75 69 64 78 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 | ndices->uidx,.context))......ret |
1c3a0 | 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 69 6e 64 69 63 65 73 | urn.true;.....if.(walker(indices |
1c3c0 | 2d 3e 6c 69 64 78 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 41 5f 49 6e 64 69 63 65 73 | ->lidx,.context))......A_Indices |
1c3e0 | 20 20 2a 69 6e 64 69 63 65 73 20 3d 20 28 41 5f 49 6e 64 69 63 65 73 20 2a 29 20 6e 6f 64 65 3b | ..*indices.=.(A_Indices.*).node; |
1c400 | 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 5f 49 6e 64 69 63 65 73 3a 00 09 09 09 72 65 74 | ....{...case.T_A_Indices:....ret |
1c420 | 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 4e 61 6d 65 64 41 72 67 45 78 70 72 20 2a 29 20 6e 6f 64 | urn.walker(((NamedArgExpr.*).nod |
1c440 | 65 29 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 4e 61 6d 65 | e)->arg,.context);...case.T_Name |
1c460 | 64 41 72 67 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 2f 2a 20 | dArgExpr:....break;....}...../*. |
1c480 | 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 69 73 20 64 65 65 6d 65 64 20 75 6e 69 6e 74 65 72 65 | function.name.is.deemed.unintere |
1c4a0 | 73 74 69 6e 67 20 2a 2f 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 | sting.*/......return.true;.....i |
1c4c0 | 66 20 28 77 61 6c 6b 65 72 28 66 63 61 6c 6c 2d 3e 6f 76 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 | f.(walker(fcall->over,.context)) |
1c4e0 | 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 | ......return.true;.....if.(walke |
1c500 | 72 28 66 63 61 6c 6c 2d 3e 61 67 67 5f 66 69 6c 74 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 | r(fcall->agg_filter,.context)).. |
1c520 | 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 | ....return.true;.....if.(walker( |
1c540 | 66 63 61 6c 6c 2d 3e 61 67 67 5f 6f 72 64 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 | fcall->agg_order,.context))..... |
1c560 | 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 66 63 61 | .return.true;.....if.(walker(fca |
1c580 | 6c 6c 2d 3e 61 72 67 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 46 75 6e 63 43 61 6c | ll->args,.context))......FuncCal |
1c5a0 | 6c 20 20 20 2a 66 63 61 6c 6c 20 3d 20 28 46 75 6e 63 43 61 6c 6c 20 2a 29 20 6e 6f 64 65 3b 00 | l...*fcall.=.(FuncCall.*).node;. |
1c5c0 | 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 46 75 6e 63 43 61 6c 6c 3a 00 09 09 09 62 72 65 61 6b | ...{...case.T_FuncCall:....break |
1c5e0 | 3b 00 09 09 09 2f 2a 20 77 65 20 61 73 73 75 6d 65 20 74 68 65 20 66 69 65 6c 64 73 20 63 6f 6e | ;..../*.we.assume.the.fields.con |
1c600 | 74 61 69 6e 20 6e 6f 74 68 69 6e 67 20 69 6e 74 65 72 65 73 74 69 6e 67 20 2a 2f 00 09 09 63 61 | tain.nothing.interesting.*/...ca |
1c620 | 73 65 20 54 5f 43 6f 6c 75 6d 6e 52 65 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 | se.T_ColumnRef:....break;....}.. |
1c640 | 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 | ....return.true;.....if.(walker( |
1c660 | 65 78 70 72 2d 3e 61 72 67 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 42 6f 6f 6c 45 | expr->args,.context))......BoolE |
1c680 | 78 70 72 20 20 20 2a 65 78 70 72 20 3d 20 28 42 6f 6f 6c 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b | xpr...*expr.=.(BoolExpr.*).node; |
1c6a0 | 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 42 6f 6f 6c 45 78 70 72 3a 00 09 09 09 62 72 65 61 | ....{...case.T_BoolExpr:....brea |
1c6c0 | 6b 3b 00 09 09 09 7d 00 09 09 09 09 2f 2a 20 6f 70 65 72 61 74 6f 72 20 6e 61 6d 65 20 69 73 20 | k;....}...../*.operator.name.is. |
1c6e0 | 64 65 65 6d 65 64 20 75 6e 69 6e 74 65 72 65 73 74 69 6e 67 20 2a 2f 00 09 09 09 09 09 72 65 74 | deemed.uninteresting.*/......ret |
1c700 | 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 65 78 70 72 2d 3e 72 | urn.true;.....if.(walker(expr->r |
1c720 | 65 78 70 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 | expr,.context))......return.true |
1c740 | 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 65 78 70 72 2d 3e 6c 65 78 70 72 2c 20 63 6f | ;.....if.(walker(expr->lexpr,.co |
1c760 | 6e 74 65 78 74 29 29 00 00 09 09 09 09 41 5f 45 78 70 72 09 20 20 20 2a 65 78 70 72 20 3d 20 28 | ntext))......A_Expr....*expr.=.( |
1c780 | 41 5f 45 78 70 72 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 41 5f | A_Expr.*).node;....{...case.T_A_ |
1c7a0 | 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e | Expr:....break;....}......return |
1c7c0 | 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 72 61 72 67 | .true;.....if.(walker(stmt->rarg |
1c7e0 | 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 | ,.context))......return.true;... |
1c800 | 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 6c 61 72 67 2c 20 63 6f 6e 74 65 78 74 | ..if.(walker(stmt->larg,.context |
1c820 | 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c | ))......return.true;.....if.(wal |
1c840 | 6b 65 72 28 73 74 6d 74 2d 3e 77 69 74 68 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 | ker(stmt->withClause,.context)). |
1c860 | 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 | .....return.true;.....if.(walker |
1c880 | 28 73 74 6d 74 2d 3e 6c 6f 63 6b 69 6e 67 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 | (stmt->lockingClause,.context)). |
1c8a0 | 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 | .....return.true;.....if.(walker |
1c8c0 | 28 73 74 6d 74 2d 3e 6c 69 6d 69 74 43 6f 75 6e 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 | (stmt->limitCount,.context)).... |
1c8e0 | 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 | ..return.true;.....if.(walker(st |
1c900 | 6d 74 2d 3e 6c 69 6d 69 74 4f 66 66 73 65 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 | mt->limitOffset,.context))...... |
1c920 | 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 | return.true;.....if.(walker(stmt |
1c940 | 2d 3e 73 6f 72 74 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 | ->sortClause,.context))......ret |
1c960 | 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 76 | urn.true;.....if.(walker(stmt->v |
1c980 | 61 6c 75 65 73 4c 69 73 74 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 | aluesLists,.context))......retur |
1c9a0 | 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 77 69 6e | n.true;.....if.(walker(stmt->win |
1c9c0 | 64 6f 77 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e | dowClause,.context))......return |
1c9e0 | 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 68 61 76 69 | .true;.....if.(walker(stmt->havi |
1ca00 | 6e 67 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 | ngClause,.context))......return. |
1ca20 | 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 67 72 6f 75 70 | true;.....if.(walker(stmt->group |
1ca40 | 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 | Clause,.context))......return.tr |
1ca60 | 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 77 68 65 72 65 43 6c | ue;.....if.(walker(stmt->whereCl |
1ca80 | 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 | ause,.context))......return.true |
1caa0 | 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 66 72 6f 6d 43 6c 61 75 73 | ;.....if.(walker(stmt->fromClaus |
1cac0 | 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 | e,.context))......return.true;.. |
1cae0 | 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 74 61 72 67 65 74 4c 69 73 74 2c 20 | ...if.(walker(stmt->targetList,. |
1cb00 | 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 | context))......return.true;..... |
1cb20 | 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 69 6e 74 6f 43 6c 61 75 73 65 2c 20 63 6f 6e | if.(walker(stmt->intoClause,.con |
1cb40 | 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 | text))......return.true;.....if. |
1cb60 | 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 64 69 73 74 69 6e 63 74 43 6c 61 75 73 65 2c 20 63 6f | (walker(stmt->distinctClause,.co |
1cb80 | 6e 74 65 78 74 29 29 00 00 09 09 09 09 53 65 6c 65 63 74 53 74 6d 74 20 2a 73 74 6d 74 20 3d 20 | ntext))......SelectStmt.*stmt.=. |
1cba0 | 28 53 65 6c 65 63 74 53 74 6d 74 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 | (SelectStmt.*).node;....{...case |
1cbc0 | 20 54 5f 53 65 6c 65 63 74 53 74 6d 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 | .T_SelectStmt:....break;....}... |
1cbe0 | 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 | ...return.true;.....if.(walker(s |
1cc00 | 74 6d 74 2d 3e 77 69 74 68 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 | tmt->withClause,.context))...... |
1cc20 | 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 | return.true;.....if.(walker(stmt |
1cc40 | 2d 3e 72 65 74 75 72 6e 69 6e 67 4c 69 73 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 | ->returningList,.context))...... |
1cc60 | 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 | return.true;.....if.(walker(stmt |
1cc80 | 2d 3e 66 72 6f 6d 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 | ->fromClause,.context))......ret |
1cca0 | 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 77 | urn.true;.....if.(walker(stmt->w |
1ccc0 | 68 65 72 65 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 | hereClause,.context))......retur |
1cce0 | 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 74 61 72 | n.true;.....if.(walker(stmt->tar |
1cd00 | 67 65 74 4c 69 73 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 | getList,.context))......return.t |
1cd20 | 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 72 65 6c 61 74 69 | rue;.....if.(walker(stmt->relati |
1cd40 | 6f 6e 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 55 70 64 61 74 65 53 74 6d 74 20 2a 73 | on,.context))......UpdateStmt.*s |
1cd60 | 74 6d 74 20 3d 20 28 55 70 64 61 74 65 53 74 6d 74 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 | tmt.=.(UpdateStmt.*).node;....{. |
1cd80 | 09 09 63 61 73 65 20 54 5f 55 70 64 61 74 65 53 74 6d 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 | ..case.T_UpdateStmt:....break;.. |
1cda0 | 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 | ..}......return.true;.....if.(wa |
1cdc0 | 6c 6b 65 72 28 73 74 6d 74 2d 3e 77 69 74 68 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 | lker(stmt->withClause,.context)) |
1cde0 | 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 | ......return.true;.....if.(walke |
1ce00 | 72 28 73 74 6d 74 2d 3e 72 65 74 75 72 6e 69 6e 67 4c 69 73 74 2c 20 63 6f 6e 74 65 78 74 29 29 | r(stmt->returningList,.context)) |
1ce20 | 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 | ......return.true;.....if.(walke |
1ce40 | 72 28 73 74 6d 74 2d 3e 77 68 65 72 65 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 | r(stmt->whereClause,.context)).. |
1ce60 | 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 | ....return.true;.....if.(walker( |
1ce80 | 73 74 6d 74 2d 3e 75 73 69 6e 67 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 | stmt->usingClause,.context)).... |
1cea0 | 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 | ..return.true;.....if.(walker(st |
1cec0 | 6d 74 2d 3e 72 65 6c 61 74 69 6f 6e 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 44 65 6c | mt->relation,.context))......Del |
1cee0 | 65 74 65 53 74 6d 74 20 2a 73 74 6d 74 20 3d 20 28 44 65 6c 65 74 65 53 74 6d 74 20 2a 29 20 6e | eteStmt.*stmt.=.(DeleteStmt.*).n |
1cf00 | 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 44 65 6c 65 74 65 53 74 6d 74 3a 00 09 | ode;....{...case.T_DeleteStmt:.. |
1cf20 | 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 | ..break;....}......return.true;. |
1cf40 | 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 77 69 74 68 43 6c 61 75 73 65 2c | ....if.(walker(stmt->withClause, |
1cf60 | 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 | .context))......return.true;.... |
1cf80 | 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 72 65 74 75 72 6e 69 6e 67 4c 69 73 74 2c | .if.(walker(stmt->returningList, |
1cfa0 | 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 | .context))......return.true;.... |
1cfc0 | 09 69 66 20 28 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 6f 6e 43 6f 6e 66 6c 69 63 74 43 6c 61 75 | .if.(walker(stmt->onConflictClau |
1cfe0 | 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 | se,.context))......return.true;. |
1d000 | 61 64 00 00 03 00 00 00 5f 02 00 00 00 10 00 00 90 00 00 00 00 00 00 00 c3 0f 00 00 af 0f 00 00 | ad......_....................... |
1d020 | aa 0f 00 00 81 0f 00 00 80 0f 00 00 56 0f 00 00 44 0f 00 00 22 0f 00 00 10 0f 00 00 0b 0f 00 00 | ............V...D..."........... |
1d040 | 01 0f 00 00 e8 0e 00 00 aa 0e 00 00 97 0e 00 00 92 0e 00 00 6a 0e 00 00 69 0e 00 00 47 0e 00 00 | ....................j...i...G... |
1d060 | 35 0e 00 00 0e 0e 00 00 fc 0d 00 00 f7 0d 00 00 ed 0d 00 00 d5 0d 00 00 9b 0d 00 00 8a 0d 00 00 | 5............................... |
1d080 | 56 0d 00 00 42 0d 00 00 3d 0d 00 00 14 0d 00 00 13 0d 00 00 e5 0c 00 00 d3 0c 00 00 a9 0c 00 00 | V...B...=....................... |
1d0a0 | 97 0c 00 00 6d 0c 00 00 5b 0c 00 00 33 0c 00 00 21 0c 00 00 1c 0c 00 00 12 0c 00 00 f9 0b 00 00 | ....m...[...3...!............... |
1d0c0 | f4 0b 00 00 c2 0b 00 00 c1 0b 00 00 9a 0b 00 00 88 0b 00 00 64 0b 00 00 52 0b 00 00 4d 0b 00 00 | ....................d...R...M... |
1d0e0 | 43 0b 00 00 2b 0b 00 00 26 0b 00 00 f6 0a 00 00 f5 0a 00 00 cd 0a 00 00 bb 0a 00 00 97 0a 00 00 | C...+...&....................... |
1d100 | 85 0a 00 00 5c 0a 00 00 4a 0a 00 00 45 0a 00 00 3b 0a 00 00 20 0a 00 00 1b 0a 00 00 e4 09 00 00 | ....\...J...E...;............... |
1d120 | e3 09 00 00 bb 09 00 00 a9 09 00 00 7b 09 00 00 57 09 00 00 45 09 00 00 1b 09 00 00 09 09 00 00 | ............{...W...E........... |
1d140 | 04 09 00 00 fa 08 00 00 e7 08 00 00 e2 08 00 00 ba 08 00 00 b9 08 00 00 93 08 00 00 81 08 00 00 | ................................ |
1d160 | 57 08 00 00 45 08 00 00 12 08 00 00 0d 08 00 00 03 08 00 00 ef 07 00 00 ea 07 00 00 bd 07 00 00 | W...E........................... |
1d180 | bc 07 00 00 91 07 00 00 7f 07 00 00 51 07 00 00 3f 07 00 00 12 07 00 00 00 07 00 00 d5 06 00 00 | ............Q...?............... |
1d1a0 | d0 06 00 00 c6 06 00 00 b0 06 00 00 74 06 00 00 5c 06 00 00 1b 06 00 00 04 06 00 00 ff 05 00 00 | ............t...\............... |
1d1c0 | d1 05 00 00 d0 05 00 00 ad 05 00 00 9b 05 00 00 74 05 00 00 62 05 00 00 5d 05 00 00 53 05 00 00 | ................t...b...]...S... |
1d1e0 | 3e 05 00 00 06 05 00 00 f0 04 00 00 eb 04 00 00 bd 04 00 00 bc 04 00 00 91 04 00 00 7f 04 00 00 | >............................... |
1d200 | 53 04 00 00 41 04 00 00 3c 04 00 00 32 04 00 00 17 04 00 00 12 04 00 00 da 03 00 00 d9 03 00 00 | S...A...<...2................... |
1d220 | b3 03 00 00 a1 03 00 00 76 03 00 00 64 03 00 00 38 03 00 00 26 03 00 00 21 03 00 00 17 03 00 00 | ........v...d...8...&...!....... |
1d240 | fd 02 00 00 bc 02 00 00 b1 02 00 00 84 02 00 00 69 02 00 00 5f 02 00 00 00 00 00 00 00 00 00 09 | ................i..._........... |
1d260 | 09 09 62 72 65 61 6b 3b 00 09 09 09 09 20 28 69 6e 74 29 20 6e 6f 64 65 54 61 67 28 6e 6f 64 65 | ..break;......(int).nodeTag(node |
1d280 | 29 29 3b 00 09 09 09 65 6c 6f 67 28 45 52 52 4f 52 2c 20 22 75 6e 72 65 63 6f 67 6e 69 7a 65 64 | ));....elog(ERROR,."unrecognized |
1d2a0 | 20 6e 6f 64 65 20 74 79 70 65 3a 20 25 64 22 2c 00 09 09 64 65 66 61 75 6c 74 3a 00 09 09 09 72 | .node.type:.%d",...default:....r |
1d2c0 | 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 43 6f 6d 6d 6f 6e 54 61 62 6c 65 45 78 70 72 20 2a | eturn.walker(((CommonTableExpr.* |
1d2e0 | 29 20 6e 6f 64 65 29 2d 3e 63 74 65 71 75 65 72 79 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 | ).node)->ctequery,.context);...c |
1d300 | 61 73 65 20 54 5f 43 6f 6d 6d 6f 6e 54 61 62 6c 65 45 78 70 72 3a 00 09 09 09 62 72 65 61 6b 3b | ase.T_CommonTableExpr:....break; |
1d320 | 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 | ....}......return.true;.....if.( |
1d340 | 77 61 6c 6b 65 72 28 73 74 6d 74 2d 3e 77 68 65 72 65 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 | walker(stmt->whereClause,.contex |
1d360 | 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 | t))......return.true;.....if.(wa |
1d380 | 6c 6b 65 72 28 73 74 6d 74 2d 3e 74 61 72 67 65 74 4c 69 73 74 2c 20 63 6f 6e 74 65 78 74 29 29 | lker(stmt->targetList,.context)) |
1d3a0 | 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 | ......return.true;.....if.(walke |
1d3c0 | 72 28 73 74 6d 74 2d 3e 69 6e 66 65 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 4f 6e | r(stmt->infer,.context))......On |
1d3e0 | 43 6f 6e 66 6c 69 63 74 43 6c 61 75 73 65 20 2a 73 74 6d 74 20 3d 20 28 4f 6e 43 6f 6e 66 6c 69 | ConflictClause.*stmt.=.(OnConfli |
1d400 | 63 74 43 6c 61 75 73 65 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f | ctClause.*).node;....{...case.T_ |
1d420 | 4f 6e 43 6f 6e 66 6c 69 63 74 43 6c 61 75 73 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d | OnConflictClause:....break;....} |
1d440 | 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 | ......return.true;.....if.(walke |
1d460 | 72 28 73 74 6d 74 2d 3e 77 68 65 72 65 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 | r(stmt->whereClause,.context)).. |
1d480 | 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 | ....return.true;.....if.(walker( |
1d4a0 | 73 74 6d 74 2d 3e 69 6e 64 65 78 45 6c 65 6d 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 | stmt->indexElems,.context))..... |
1d4c0 | 09 49 6e 66 65 72 43 6c 61 75 73 65 20 2a 73 74 6d 74 20 3d 20 28 49 6e 66 65 72 43 6c 61 75 73 | .InferClause.*stmt.=.(InferClaus |
1d4e0 | 65 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 49 6e 66 65 72 43 6c | e.*).node;....{...case.T_InferCl |
1d500 | 61 75 73 65 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 57 69 74 68 43 6c 61 | ause:....return.walker(((WithCla |
1d520 | 75 73 65 20 2a 29 20 6e 6f 64 65 29 2d 3e 63 74 65 73 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 | use.*).node)->ctes,.context);... |
1d540 | 63 61 73 65 20 54 5f 57 69 74 68 43 6c 61 75 73 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 | case.T_WithClause:....break;.... |
1d560 | 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b | }......return.true;.....if.(walk |
1d580 | 65 72 28 78 73 2d 3e 74 79 70 65 4e 61 6d 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 | er(xs->typeName,.context))...... |
1d5a0 | 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 78 73 2d 3e | return.true;.....if.(walker(xs-> |
1d5c0 | 65 78 70 72 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 58 6d 6c 53 65 72 69 61 6c 69 7a | expr,.context))......XmlSerializ |
1d5e0 | 65 20 2a 78 73 20 3d 20 28 58 6d 6c 53 65 72 69 61 6c 69 7a 65 20 2a 29 20 6e 6f 64 65 3b 00 09 | e.*xs.=.(XmlSerialize.*).node;.. |
1d600 | 09 09 7b 00 09 09 63 61 73 65 20 54 5f 58 6d 6c 53 65 72 69 61 6c 69 7a 65 3a 00 09 09 09 72 65 | ..{...case.T_XmlSerialize:....re |
1d620 | 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 4c 6f 63 6b 69 6e 67 43 6c 61 75 73 65 20 2a 29 20 6e | turn.walker(((LockingClause.*).n |
1d640 | 6f 64 65 29 2d 3e 6c 6f 63 6b 65 64 52 65 6c 73 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 | ode)->lockedRels,.context);...ca |
1d660 | 73 65 20 54 5f 4c 6f 63 6b 69 6e 67 43 6c 61 75 73 65 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 | se.T_LockingClause:....return.wa |
1d680 | 6c 6b 65 72 28 28 28 47 72 6f 75 70 69 6e 67 53 65 74 20 2a 29 20 6e 6f 64 65 29 2d 3e 63 6f 6e | lker(((GroupingSet.*).node)->con |
1d6a0 | 74 65 6e 74 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 47 72 6f 75 70 69 6e | tent,.context);...case.T_Groupin |
1d6c0 | 67 53 65 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 2f 2a 20 66 6f 72 20 | gSet:....break;....}...../*.for. |
1d6e0 | 6e 6f 77 2c 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 69 67 6e 6f 72 65 64 20 2a 2f 00 | now,.constraints.are.ignored.*/. |
1d700 | 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 | .....return.true;.....if.(walker |
1d720 | 28 63 6f 6c 64 65 66 2d 3e 63 6f 6c 6c 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 | (coldef->collClause,.context)).. |
1d740 | 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 | ....return.true;.....if.(walker( |
1d760 | 63 6f 6c 64 65 66 2d 3e 72 61 77 5f 64 65 66 61 75 6c 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 | coldef->raw_default,.context)).. |
1d780 | 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 | ....return.true;.....if.(walker( |
1d7a0 | 63 6f 6c 64 65 66 2d 3e 74 79 70 65 4e 61 6d 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 | coldef->typeName,.context))..... |
1d7c0 | 09 43 6f 6c 75 6d 6e 44 65 66 20 20 2a 63 6f 6c 64 65 66 20 3d 20 28 43 6f 6c 75 6d 6e 44 65 66 | .ColumnDef..*coldef.=.(ColumnDef |
1d7e0 | 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 43 6f 6c 75 6d 6e 44 65 | .*).node;....{...case.T_ColumnDe |
1d800 | 66 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 2f 2a 20 74 79 70 65 20 6e 61 | f:....break;....}...../*.type.na |
1d820 | 6d 65 20 69 74 73 65 6c 66 20 69 73 20 64 65 65 6d 65 64 20 75 6e 69 6e 74 65 72 65 73 74 69 6e | me.itself.is.deemed.uninterestin |
1d840 | 67 20 2a 2f 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 | g.*/......return.true;.....if.(w |
1d860 | 61 6c 6b 65 72 28 74 6e 2d 3e 61 72 72 61 79 42 6f 75 6e 64 73 2c 20 63 6f 6e 74 65 78 74 29 29 | alker(tn->arrayBounds,.context)) |
1d880 | 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 | ......return.true;.....if.(walke |
1d8a0 | 72 28 74 6e 2d 3e 74 79 70 6d 6f 64 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 54 79 | r(tn->typmods,.context))......Ty |
1d8c0 | 70 65 4e 61 6d 65 20 20 20 2a 74 6e 20 3d 20 28 54 79 70 65 4e 61 6d 65 20 2a 29 20 6e 6f 64 65 | peName...*tn.=.(TypeName.*).node |
1d8e0 | 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 54 79 70 65 4e 61 6d 65 3a 00 09 09 09 62 72 65 | ;....{...case.T_TypeName:....bre |
1d900 | 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 | ak;....}......return.true;.....i |
1d920 | 66 20 28 77 61 6c 6b 65 72 28 72 74 73 2d 3e 72 65 70 65 61 74 61 62 6c 65 2c 20 63 6f 6e 74 65 | f.(walker(rts->repeatable,.conte |
1d940 | 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 | xt))......return.true;.....if.(w |
1d960 | 61 6c 6b 65 72 28 72 74 73 2d 3e 61 72 67 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 2f | alker(rts->args,.context))...../ |
1d980 | 2a 20 6d 65 74 68 6f 64 20 6e 61 6d 65 20 69 73 20 64 65 65 6d 65 64 20 75 6e 69 6e 74 65 72 65 | *.method.name.is.deemed.unintere |
1d9a0 | 73 74 69 6e 67 20 2a 2f 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 | sting.*/......return.true;.....i |
1d9c0 | 66 20 28 77 61 6c 6b 65 72 28 72 74 73 2d 3e 72 65 6c 61 74 69 6f 6e 2c 20 63 6f 6e 74 65 78 74 | f.(walker(rts->relation,.context |
1d9e0 | 29 29 00 00 09 09 09 09 52 61 6e 67 65 54 61 62 6c 65 53 61 6d 70 6c 65 20 2a 72 74 73 20 3d 20 | ))......RangeTableSample.*rts.=. |
1da00 | 28 52 61 6e 67 65 54 61 62 6c 65 53 61 6d 70 6c 65 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 | (RangeTableSample.*).node;....{. |
1da20 | 09 09 63 61 73 65 20 54 5f 52 61 6e 67 65 54 61 62 6c 65 53 61 6d 70 6c 65 3a 00 09 09 09 62 72 | ..case.T_RangeTableSample:....br |
1da40 | 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 | eak;....}......return.true;..... |
1da60 | 69 66 20 28 77 61 6c 6b 65 72 28 72 66 2d 3e 63 6f 6c 64 65 66 6c 69 73 74 2c 20 63 6f 6e 74 65 | if.(walker(rf->coldeflist,.conte |
1da80 | 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 | xt))......return.true;.....if.(w |
1daa0 | 61 6c 6b 65 72 28 72 66 2d 3e 61 6c 69 61 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 | alker(rf->alias,.context))...... |
1dac0 | 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 72 66 2d 3e | return.true;.....if.(walker(rf-> |
1dae0 | 66 75 6e 63 74 69 6f 6e 73 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 52 61 6e 67 65 46 | functions,.context))......RangeF |
1db00 | 75 6e 63 74 69 6f 6e 20 2a 72 66 20 3d 20 28 52 61 6e 67 65 46 75 6e 63 74 69 6f 6e 20 2a 29 20 | unction.*rf.=.(RangeFunction.*). |
1db20 | 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 52 61 6e 67 65 46 75 6e 63 74 69 6f | node;....{...case.T_RangeFunctio |
1db40 | 6e 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 | n:....break;....}......return.tr |
1db60 | 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 72 73 2d 3e 61 6c 69 61 73 2c 20 63 6f | ue;.....if.(walker(rs->alias,.co |
1db80 | 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 | ntext))......return.true;.....if |
1dba0 | 20 28 77 61 6c 6b 65 72 28 72 73 2d 3e 73 75 62 71 75 65 72 79 2c 20 63 6f 6e 74 65 78 74 29 29 | .(walker(rs->subquery,.context)) |
1dbc0 | 00 00 09 09 09 09 52 61 6e 67 65 53 75 62 73 65 6c 65 63 74 20 2a 72 73 20 3d 20 28 52 61 6e 67 | ......RangeSubselect.*rs.=.(Rang |
1dbe0 | 65 53 75 62 73 65 6c 65 63 74 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 | eSubselect.*).node;....{...case. |
1dc00 | 54 5f 52 61 6e 67 65 53 75 62 73 65 6c 65 63 74 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d | T_RangeSubselect:....break;....} |
1dc20 | 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 | ......return.true;.....if.(walke |
1dc40 | 72 28 77 64 2d 3e 65 6e 64 4f 66 66 73 65 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 | r(wd->endOffset,.context))...... |
1dc60 | 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 77 64 2d 3e | return.true;.....if.(walker(wd-> |
1dc80 | 73 74 61 72 74 4f 66 66 73 65 74 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 | startOffset,.context))......retu |
1dca0 | 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 77 64 2d 3e 6f 72 64 65 | rn.true;.....if.(walker(wd->orde |
1dcc0 | 72 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 | rClause,.context))......return.t |
1dce0 | 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 77 64 2d 3e 70 61 72 74 69 74 69 6f | rue;.....if.(walker(wd->partitio |
1dd00 | 6e 43 6c 61 75 73 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 57 69 6e 64 6f 77 44 65 | nClause,.context))......WindowDe |
1dd20 | 66 20 20 2a 77 64 20 3d 20 28 57 69 6e 64 6f 77 44 65 66 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 | f..*wd.=.(WindowDef.*).node;.... |
1dd40 | 7b 00 09 09 63 61 73 65 20 54 5f 57 69 6e 64 6f 77 44 65 66 3a 00 09 09 09 72 65 74 75 72 6e 20 | {...case.T_WindowDef:....return. |
1dd60 | 77 61 6c 6b 65 72 28 28 28 53 6f 72 74 42 79 20 2a 29 20 6e 6f 64 65 29 2d 3e 6e 6f 64 65 2c 20 | walker(((SortBy.*).node)->node,. |
1dd80 | 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 53 6f 72 74 42 79 3a 00 09 09 09 72 65 | context);...case.T_SortBy:....re |
1dda0 | 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 43 6f 6c 6c 61 74 65 43 6c 61 75 73 65 20 2a 29 20 6e | turn.walker(((CollateClause.*).n |
1ddc0 | 6f 64 65 29 2d 3e 61 72 67 2c 20 63 6f 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 43 6f | ode)->arg,.context);...case.T_Co |
1dde0 | 6c 6c 61 74 65 43 6c 61 75 73 65 3a 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 | llateClause:....break;....}..... |
1de00 | 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 74 63 2d | .return.true;.....if.(walker(tc- |
1de20 | 3e 74 79 70 65 4e 61 6d 65 2c 20 63 6f 6e 74 65 78 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e | >typeName,.context))......return |
1de40 | 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 74 63 2d 3e 61 72 67 2c 20 63 | .true;.....if.(walker(tc->arg,.c |
1de60 | 6f 6e 74 65 78 74 29 29 00 00 09 09 09 09 54 79 70 65 43 61 73 74 20 20 20 2a 74 63 20 3d 20 28 | ontext))......TypeCast...*tc.=.( |
1de80 | 54 79 70 65 43 61 73 74 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f | TypeCast.*).node;....{...case.T_ |
1dea0 | 54 79 70 65 43 61 73 74 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 4d 75 6c | TypeCast:....return.walker(((Mul |
1dec0 | 74 69 41 73 73 69 67 6e 52 65 66 20 2a 29 20 6e 6f 64 65 29 2d 3e 73 6f 75 72 63 65 2c 20 63 6f | tiAssignRef.*).node)->source,.co |
1dee0 | 6e 74 65 78 74 29 3b 00 09 09 63 61 73 65 20 54 5f 4d 75 6c 74 69 41 73 73 69 67 6e 52 65 66 3a | ntext);...case.T_MultiAssignRef: |
1df00 | 00 09 09 09 62 72 65 61 6b 3b 00 09 09 09 7d 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 | ....break;....}......return.true |
1df20 | 3b 00 09 09 09 09 69 66 20 28 77 61 6c 6b 65 72 28 72 74 2d 3e 76 61 6c 2c 20 63 6f 6e 74 65 78 | ;.....if.(walker(rt->val,.contex |
1df40 | 74 29 29 00 09 09 09 09 09 72 65 74 75 72 6e 20 74 72 75 65 3b 00 09 09 09 09 69 66 20 28 77 61 | t))......return.true;.....if.(wa |
1df60 | 6c 6b 65 72 28 72 74 2d 3e 69 6e 64 69 72 65 63 74 69 6f 6e 2c 20 63 6f 6e 74 65 78 74 29 29 00 | lker(rt->indirection,.context)). |
1df80 | 00 09 09 09 09 52 65 73 54 61 72 67 65 74 20 20 2a 72 74 20 3d 20 28 52 65 73 54 61 72 67 65 74 | .....ResTarget..*rt.=.(ResTarget |
1dfa0 | 20 2a 29 20 6e 6f 64 65 3b 00 09 09 09 7b 00 09 09 63 61 73 65 20 54 5f 52 65 73 54 61 72 67 65 | .*).node;....{...case.T_ResTarge |
1dfc0 | 74 3a 00 09 09 09 72 65 74 75 72 6e 20 77 61 6c 6b 65 72 28 28 28 41 5f 41 72 72 61 79 45 78 70 | t:....return.walker(((A_ArrayExp |
1dfe0 | 72 20 2a 29 20 6e 6f 64 65 29 2d 3e 65 6c 65 6d 65 6e 74 73 2c 20 63 6f 6e 74 65 78 74 29 3b 00 | r.*).node)->elements,.context);. |