forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit2f96613
committed
Represent command completion tags as structs
The backend was using strings to represent command tags and doing stringcomparisons in multiple places, but that's slow and unhelpful. Create anew command list with a supporting structure to use instead; this isstored in a tag-list-file that can be tailored to specific purposes witha caller-definable C macro, similar to what we do for WAL resourcemanagers. The first first such uses are a new CommandTag enum and aCommandTagBehavior struct.Replace numerous occurrences of char *completionTag with aQueryCompletion struct so that the code no longer stores informationabout completed queries in a cstring. Only at the last moment, inEndCommand(), does this get converted to a string.EventTriggerCacheItem no longer holds an array of palloc’d tag stringsin sorted order, but rather just a Bitmapset over the CommandTags.Author: Mark Dilger, with unsolicited help from Álvaro HerreraReviewed-by: John Naylor, Tom LaneDiscussion:https://postgr.es/m/981A9DB4-3F0C-4DA5-88AD-CB9CFF4D6CAD@enterprisedb.com1 parent7b425a5 commit2f96613
File tree
39 files changed
+877
-621
lines changed- contrib
- pg_stat_statements
- sepgsql
- doc/src/sgml
- src
- backend
- commands
- executor
- replication
- logical
- tcop
- utils
- cache
- mmgr
- include
- commands
- tcop
- utils
- pl
- plperl
- plpgsql/src
- tcl
- test/modules/test_ddl_deparse
39 files changed
+877
-621
lines changedLines changed: 8 additions & 12 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
307 | 307 |
| |
308 | 308 |
| |
309 | 309 |
| |
310 |
| - | |
| 310 | + | |
311 | 311 |
| |
312 | 312 |
| |
313 | 313 |
| |
| |||
960 | 960 |
| |
961 | 961 |
| |
962 | 962 |
| |
963 |
| - | |
| 963 | + | |
964 | 964 |
| |
965 | 965 |
| |
966 | 966 |
| |
| |||
998 | 998 |
| |
999 | 999 |
| |
1000 | 1000 |
| |
1001 |
| - | |
| 1001 | + | |
1002 | 1002 |
| |
1003 | 1003 |
| |
1004 | 1004 |
| |
1005 |
| - | |
| 1005 | + | |
1006 | 1006 |
| |
1007 | 1007 |
| |
1008 | 1008 |
| |
| |||
1013 | 1013 |
| |
1014 | 1014 |
| |
1015 | 1015 |
| |
1016 |
| - | |
1017 |
| - | |
1018 |
| - | |
1019 |
| - | |
1020 |
| - | |
1021 |
| - | |
| 1016 | + | |
| 1017 | + | |
1022 | 1018 |
| |
1023 | 1019 |
| |
1024 | 1020 |
| |
| |||
1060 | 1056 |
| |
1061 | 1057 |
| |
1062 | 1058 |
| |
1063 |
| - | |
| 1059 | + | |
1064 | 1060 |
| |
1065 | 1061 |
| |
1066 | 1062 |
| |
1067 |
| - | |
| 1063 | + | |
1068 | 1064 |
| |
1069 | 1065 |
| |
1070 | 1066 |
| |
|
Lines changed: 3 additions & 3 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
317 | 317 |
| |
318 | 318 |
| |
319 | 319 |
| |
320 |
| - | |
| 320 | + | |
321 | 321 |
| |
322 | 322 |
| |
323 | 323 |
| |
| |||
380 | 380 |
| |
381 | 381 |
| |
382 | 382 |
| |
383 |
| - | |
| 383 | + | |
384 | 384 |
| |
385 | 385 |
| |
386 | 386 |
| |
387 |
| - | |
| 387 | + | |
388 | 388 |
| |
389 | 389 |
| |
390 | 390 |
| |
|
Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
1074 | 1074 |
| |
1075 | 1075 |
| |
1076 | 1076 |
| |
1077 |
| - | |
| 1077 | + | |
1078 | 1078 |
| |
1079 | 1079 |
| |
1080 | 1080 |
| |
|
Lines changed: 6 additions & 8 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
10 | 10 |
| |
11 | 11 |
| |
12 | 12 |
| |
13 |
| - | |
| 13 | + | |
14 | 14 |
| |
15 | 15 |
| |
16 | 16 |
| |
| |||
225 | 225 |
| |
226 | 226 |
| |
227 | 227 |
| |
228 |
| - | |
| 228 | + | |
229 | 229 |
| |
230 | 230 |
| |
231 | 231 |
| |
| |||
270 | 270 |
| |
271 | 271 |
| |
272 | 272 |
| |
273 |
| - | |
| 273 | + | |
274 | 274 |
| |
275 | 275 |
| |
276 | 276 |
| |
| |||
352 | 352 |
| |
353 | 353 |
| |
354 | 354 |
| |
355 |
| - | |
356 |
| - | |
357 |
| - | |
358 |
| - | |
359 |
| - | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
360 | 358 |
| |
361 | 359 |
| |
362 | 360 |
| |
|
0 commit comments
Comments
(0)