Re: vacuumlo patch - Mailing list pgsql-hackers
| From | Tim |
|---|---|
| Subject | Re: vacuumlo patch |
| Date | |
| Msg-id | CA+3zgmvzuT5DmS35tp2rT_CaWhS9QoQ=mqnXgaKH5bjOZ5ypSQ@mail.gmail.com Whole thread |
| In response to | Re: vacuumlo patch (Alvaro Herrera <alvherre@commandprompt.com>) |
| Responses |
Re: vacuumlo patch
|
| List | pgsql-hackers |
Hi Álvaro, thanks for the response.<br /><br />Here is the requested "diff with 3 lines of context":<font
color="#888888"><br/><br /></font>git diff HEAD -- contrib/vacuumlo/vacuumlo.c<br />diff --git
a/contrib/vacuumlo/vacuumlo.cb/contrib/vacuumlo/vacuumlo.c<br /> index f6e2a28..b7c7d64 100644<br />---
a/contrib/vacuumlo/vacuumlo.c<br/>+++ b/contrib/vacuumlo/vacuumlo.c<br />@@ -48,6 +48,7 @@ struct _param<br />
char *pg_host;<br /> int verbose;<br /> int dry_run;<br /> + int
transaction_limit;<br/> };<br /> <br /> int vacuumlo(char *, struct _param *);<br />@@ -282,7 +283,13 @@
vacuumlo(char*database, struct _param * param)<br /> fprintf(stderr, "%s", PQerrorMessage(conn));<br />
}<br /> else<br />+ {<br /> deleted++;<br />+
if(param->transaction_limit!=0&& deleted>=param->transaction_limit)<br />+ {<br />+
break;<br /> + }<br />+ }<br /> }<br /> else<br />
deleted++;<br/>@@ -313,6 +320,7 @@ usage(const char *progname)<br /> printf(" -h HOSTNAME database server host or
socketdirectory\n");<br /> printf(" -n don't remove large objects, just show what would be done\n");<br
/> printf(" -p PORT database server port\n");<br />+ printf(" -l LIMIT stop after removing LIMIT
LOs\n");<br/> printf(" -U USERNAME user name to connect as\n");<br /> printf(" -w never prompt
forpassword\n");<br /> printf(" -W force password prompt\n");<br />@@ -342,6 +350,7 @@ main(int argc,
char**argv)<br /> param.pg_port = NULL;<br /> param.verbose = 0;<br /> param.dry_run = 0;<br />+
param.transaction_limit= 0;<br /> <br /> if (argc > 1)<br /> {<br />@@ -359,7 +368,7 @@ main(int argc, char
**argv)<br/> <br /> while (1)<br /> {<br />- c = getopt(argc, argv, "h:U:p:vnwW");<br />+ c =
getopt(argc,argv, "h:U:p:l:vnwW");<br /> if (c == -1)<br /> break;<br /> <br />@@ -395,6 +404,14 @@
main(intargc, char **argv)<br /> }<br /> param.pg_port = strdup(optarg);<br />
break;<br />+ case 'l':<br />+ param.transaction_limit = strtol(optarg, NULL, 10);<br
/>+ if ((param.transaction_limit < 0) || (param.transaction_limit > 2147483647))<br /> +
{<br />+ fprintf(stderr, "%s: invalid transaction limit number: %s, valid range is form
0(disabled)to 2147483647.\n", progname, optarg);<br />+ exit(1);<br />+ }<br /> +
break;<br /> case 'h':<br /> param.pg_host = strdup(optarg);<br />
break;<br />
pgsql-hackers by date: