mirror of
https://github.com/postgres/postgres.git
synced 2025-09-16 11:22:18 +03:00
PG95-1_08
comment, so here is the comment for the other patch *grin* > > You are right. I checked the gramar and saw the ability to use the > > parameter. I looked at the manual pages, and saw no reference to it. I > > tried running it, and found vacuum does nothing when you give it a table > > name. > > > > I checked a debug version of postgres, and the table name is passed to > > vacuum() in the variable (char *vacrel). The problem is that the vacuum > > spans transactions, and the vacrel name gets changed to '<vacuum>', > > which is the name of the portal that gets created in > > vacuum.c::_vc_vacuum(). vacuum.c::_vc_init() does a > > CommitTransactionCommand() which frees the memory allocated to vacrel. > > > > Should I change vacuum.c to copy the relation name to a local string > > variable of vacuum(), or do you recommend we allocate the table name in > > a different fashion? You are the man who knows the most about this. > > static NameData VacRel; Done. Attached is the patch. I have already applied it to the 2.0 tree. (Marc!) I tested it and it works. I also applied documentation patches to go with it. So now vacuum can be run for only one table if you wish. Submitted by: Bruce Momjian <maillist@candle.pha.pa.us>
Languages
C
85.1%
PLpgSQL
6%
Perl
4.6%
Yacc
1.2%
Meson
0.7%
Other
2.2%