forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commitdb6856c
committed
syncrep parser: pure parser and reentrant scanner
Use the flex %option reentrant and the bison option %pure-parser tomake the generated scanner and parser pure, reentrant, andthread-safe.Make the generated scanner use palloc() etc. instead of malloc() etc.Previously, we only used palloc() for the buffer, but flex would stilluse malloc() for its internal structures. Now, all the memory isunder palloc() control.Simplify flex scan buffer management: Instead of constructing thebuffer from pieces and then using yy_scan_buffer(), we can just useyy_scan_string(), which does the same thing internally.The previous code was necessary because we allocated the buffer withpalloc() and the rest of the state was handled by malloc(). But thisis no longer the case; everything is under palloc() now.Use flex yyextra to handle context information, instead of globalvariables. This complements the other changes to make the scannerreentrant.Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>Reviewed-by: Andreas Karlsson <andreas@proxel.se>Discussion:https://www.postgresql.org/message-id/flat/eb6faeac-2a8a-4b69-9189-c33c520e5b7b@eisentraut.org1 parente4a8fb8 commitdb6856c
File tree
5 files changed
+90
-51
lines changed- src
- backend
- replication
- include/replication
5 files changed
+90
-51
lines changedLines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
11 | 11 |
| |
12 | 12 |
| |
13 | 13 |
| |
14 |
| - | |
| 14 | + | |
15 | 15 |
| |
16 | 16 |
| |
17 | 17 |
| |
|
Lines changed: 4 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
992 | 992 |
| |
993 | 993 |
| |
994 | 994 |
| |
| 995 | + | |
995 | 996 |
| |
996 | 997 |
| |
997 | 998 |
| |
| |||
1000 | 1001 |
| |
1001 | 1002 |
| |
1002 | 1003 |
| |
1003 |
| - | |
1004 |
| - | |
1005 |
| - | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
1006 | 1007 |
| |
1007 | 1008 |
| |
1008 | 1009 |
| |
|
Lines changed: 7 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
26 | 26 |
| |
27 | 27 |
| |
28 | 28 |
| |
29 |
| - | |
30 |
| - | |
31 |
| - | |
32 |
| - | |
33 | 29 |
| |
34 | 30 |
| |
35 | 31 |
| |
| |||
40 | 36 |
| |
41 | 37 |
| |
42 | 38 |
| |
| 39 | + | |
| 40 | + | |
| 41 | + | |
43 | 42 |
| |
44 | 43 |
| |
45 | 44 |
| |
| |||
60 | 59 |
| |
61 | 60 |
| |
62 | 61 |
| |
63 |
| - | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
64 | 66 |
| |
65 | 67 |
| |
66 | 68 |
| |
|
Lines changed: 68 additions & 37 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
37 | 37 |
| |
38 | 38 |
| |
39 | 39 |
| |
40 |
| - | |
41 |
| - | |
42 |
| - | |
43 |
| - | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
44 | 45 |
| |
45 | 46 |
| |
46 | 47 |
| |
47 | 48 |
| |
48 | 49 |
| |
| 50 | + | |
| 51 | + | |
49 | 52 |
| |
50 | 53 |
| |
51 | 54 |
| |
52 | 55 |
| |
53 | 56 |
| |
54 | 57 |
| |
| 58 | + | |
| 59 | + | |
| 60 | + | |
55 | 61 |
| |
56 | 62 |
| |
57 | 63 |
| |
| |||
82 | 88 |
| |
83 | 89 |
| |
84 | 90 |
| |
85 |
| - | |
| 91 | + | |
86 | 92 |
| |
87 | 93 |
| |
88 | 94 |
| |
89 |
| - | |
| 95 | + | |
90 | 96 |
| |
91 | 97 |
| |
92 |
| - | |
| 98 | + | |
93 | 99 |
| |
94 | 100 |
| |
95 |
| - | |
96 |
| - | |
| 101 | + | |
| 102 | + | |
97 | 103 |
| |
98 | 104 |
| |
99 | 105 |
| |
100 | 106 |
| |
101 |
| - | |
| 107 | + | |
102 | 108 |
| |
103 | 109 |
| |
104 | 110 |
| |
105 | 111 |
| |
106 |
| - | |
| 112 | + | |
107 | 113 |
| |
108 | 114 |
| |
109 | 115 |
| |
110 | 116 |
| |
111 |
| - | |
| 117 | + | |
112 | 118 |
| |
113 | 119 |
| |
114 | 120 |
| |
115 | 121 |
| |
116 |
| - | |
| 122 | + | |
117 | 123 |
| |
118 | 124 |
| |
119 | 125 |
| |
| |||
126 | 132 |
| |
127 | 133 |
| |
128 | 134 |
| |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
129 | 139 |
| |
130 | 140 |
| |
131 |
| - | |
| 141 | + | |
132 | 142 |
| |
| 143 | + | |
| 144 | + | |
133 | 145 |
| |
134 | 146 |
| |
135 | 147 |
| |
| |||
142 | 154 |
| |
143 | 155 |
| |
144 | 156 |
| |
145 |
| - | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
146 | 174 |
| |
147 |
| - | |
148 |
| - | |
149 |
| - | |
150 |
| - | |
151 |
| - | |
152 |
| - | |
153 |
| - | |
154 |
| - | |
155 |
| - | |
156 |
| - | |
157 |
| - | |
158 |
| - | |
159 |
| - | |
160 |
| - | |
161 |
| - | |
162 |
| - | |
163 |
| - | |
164 |
| - | |
165 |
| - | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
166 | 197 |
| |
167 | 198 |
| |
168 | 199 |
| |
169 |
| - | |
| 200 | + | |
170 | 201 |
| |
171 |
| - | |
172 |
| - | |
| 202 | + | |
| 203 | + | |
173 | 204 |
|
Lines changed: 10 additions & 5 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
100 | 100 |
| |
101 | 101 |
| |
102 | 102 |
| |
103 |
| - | |
104 |
| - | |
105 |
| - | |
106 |
| - | |
107 |
| - | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
108 | 113 |
| |
109 | 114 |
|
0 commit comments
Comments
(0)