diff options
| author | Bruce Momjian <bruce@momjian.us> | 2002-09-04 20:31:48 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 2002-09-04 20:31:48 +0000 |
| commit | e50f52a074bdf0d6a9dc384840e641c4c0b0bb1a (patch) | |
| tree | ab73e8c8ec94a6ddc774c1f9c49b87aa6b93fd13 /contrib/vacuumlo | |
| parent | c91ceec21d357d6d857163d897ac75a79c883dee (diff) | |
| download | postgresql-e50f52a074bdf0d6a9dc384840e641c4c0b0bb1a.tar.gz | |
pgindent run.
Diffstat (limited to 'contrib/vacuumlo')
| -rw-r--r-- | contrib/vacuumlo/vacuumlo.c | 237 |
1 files changed, 126 insertions, 111 deletions
diff --git a/contrib/vacuumlo/vacuumlo.c b/contrib/vacuumlo/vacuumlo.c index ac80ea361a..83b53a9696 100644 --- a/contrib/vacuumlo/vacuumlo.c +++ b/contrib/vacuumlo/vacuumlo.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/contrib/vacuumlo/vacuumlo.c,v 1.13 2002/08/15 02:58:29 momjian Exp $ + * $Header: /cvsroot/pgsql/contrib/vacuumlo/vacuumlo.c,v 1.14 2002/09/04 20:31:08 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -35,20 +35,23 @@ #define BUFSIZE 1024 extern char *optarg; -extern int optind, opterr, optopt; - -struct _param { - char *pg_user; - int pg_prompt; - char *pg_port; - char *pg_host; - int verbose; - int dry_run; +extern int optind, + opterr, + optopt; + +struct _param +{ + char *pg_user; + int pg_prompt; + char *pg_port; + char *pg_host; + int verbose; + int dry_run; }; -int vacuumlo(char *, struct _param *); -char *simple_prompt(const char *prompt, int , int); -void usage(void); +int vacuumlo(char *, struct _param *); +char *simple_prompt(const char *prompt, int, int); +void usage(void); /* @@ -63,7 +66,7 @@ void usage(void); * * Returns a malloc()'ed string with the input (w/o trailing newline). */ -static int prompt_state = 0; +static int prompt_state = 0; char * simple_prompt(const char *prompt, int maxlen, int echo) @@ -82,7 +85,7 @@ simple_prompt(const char *prompt, int maxlen, int echo) if (!destination) return NULL; - prompt_state = 1; /* disable SIGINT */ + prompt_state = 1; /* disable SIGINT */ /* * Do not try to collapse these into one "w+" mode file. Doesn't work @@ -153,7 +156,7 @@ simple_prompt(const char *prompt, int maxlen, int echo) fclose(termout); } - prompt_state = 0; /* SIGINT okay again */ + prompt_state = 0; /* SIGINT okay again */ return destination; } @@ -164,33 +167,35 @@ simple_prompt(const char *prompt, int maxlen, int echo) * This vacuums LOs of one database. It returns 0 on success, -1 on failure. */ int -vacuumlo(char *database, struct _param *param) +vacuumlo(char *database, struct _param * param) { PGconn *conn; PGresult *res, - *res2; + *res2; char buf[BUFSIZE]; - int matched; - int deleted; - int i; - char *password = NULL; - - if(param->pg_prompt) { - password = simple_prompt("Password: ", 32, 0); - if(!password) { - fprintf(stderr, "failed to get password\n"); - exit(1); + int matched; + int deleted; + int i; + char *password = NULL; + + if (param->pg_prompt) + { + password = simple_prompt("Password: ", 32, 0); + if (!password) + { + fprintf(stderr, "failed to get password\n"); + exit(1); } } - conn = PQsetdbLogin( param->pg_host, - param->pg_port, - NULL, - NULL, - database, - param->pg_user, - password - ); + conn = PQsetdbLogin(param->pg_host, + param->pg_port, + NULL, + NULL, + database, + param->pg_user, + password + ); /* check to see that the backend connection was successfully made */ if (PQstatus(conn) == CONNECTION_BAD) @@ -201,10 +206,11 @@ vacuumlo(char *database, struct _param *param) return -1; } - if (param->verbose) { + if (param->verbose) + { fprintf(stdout, "Connected to %s\n", database); - if(param->dry_run) - fprintf(stdout, "Test run: no large objects will be removed!\n"); + if (param->dry_run) + fprintf(stdout, "Test run: no large objects will be removed!\n"); } /* @@ -289,7 +295,7 @@ vacuumlo(char *database, struct _param *param) * whole program is a Postgres-ism. */ snprintf(buf, BUFSIZE, "DELETE FROM vacuum_l WHERE lo = \"%s\".\"%s\" ", - table, field); + table, field); res2 = PQexec(conn, buf); if (PQresultStatus(res2) != PGRES_COMMAND_OK) { @@ -342,16 +348,18 @@ vacuumlo(char *database, struct _param *param) fflush(stdout); } - if(param->dry_run == 0) { - if (lo_unlink(conn, lo) < 0) - { - fprintf(stderr, "\nFailed to remove lo %u: ", lo); - fprintf(stderr, "%s", PQerrorMessage(conn)); - } - else - deleted++; - } else - deleted++; + if (param->dry_run == 0) + { + if (lo_unlink(conn, lo) < 0) + { + fprintf(stderr, "\nFailed to remove lo %u: ", lo); + fprintf(stderr, "%s", PQerrorMessage(conn)); + } + else + deleted++; + } + else + deleted++; } PQclear(res); @@ -365,23 +373,24 @@ vacuumlo(char *database, struct _param *param) if (param->verbose) fprintf(stdout, "\r%s %d large objects from %s.\n", - (param->dry_run?"Would remove":"Removed"), deleted, database); + (param->dry_run ? "Would remove" : "Removed"), deleted, database); return 0; } void -usage(void) { - fprintf(stdout, "vacuumlo removes unreferenced large objects from databases\n\n"); - fprintf(stdout, "Usage:\n vacuumlo [options] dbname [dbnames...]\n\n"); - fprintf(stdout, "Options:\n"); +usage(void) +{ + fprintf(stdout, "vacuumlo removes unreferenced large objects from databases\n\n"); + fprintf(stdout, "Usage:\n vacuumlo [options] dbname [dbnames...]\n\n"); + fprintf(stdout, "Options:\n"); fprintf(stdout, " -v\t\tWrite a lot of output\n"); fprintf(stdout, " -n\t\tDon't remove any large object, just show what would be done\n"); - fprintf(stdout, " -U username\tUsername to connect as\n"); - fprintf(stdout, " -W\t\tPrompt for password\n"); - fprintf(stdout, " -h hostname\tDatabase server host\n"); + fprintf(stdout, " -U username\tUsername to connect as\n"); + fprintf(stdout, " -W\t\tPrompt for password\n"); + fprintf(stdout, " -h hostname\tDatabase server host\n"); fprintf(stdout, " -p port\tDatabase server port\n"); - fprintf(stdout, " -p port\tDatabase server port\n\n"); + fprintf(stdout, " -p port\tDatabase server port\n\n"); } @@ -389,69 +398,75 @@ int main(int argc, char **argv) { int rc = 0; - struct _param param; - int c; - int port; + struct _param param; + int c; + int port; /* Parameter handling */ - param.pg_user = NULL; + param.pg_user = NULL; param.pg_prompt = 0; param.pg_host = NULL; param.pg_port = 0; - param.verbose = 0; + param.verbose = 0; param.dry_run = 0; - while( 1 ) { - c = getopt(argc, argv, "?h:U:p:vnW"); - if(c == -1) - break; - - switch(c) { - case '?': - if(optopt == '?') { - usage(); - exit(0); - } - exit(1); - case ':': - exit(1); - case 'v': - param.verbose = 1; - break; - case 'n': - param.dry_run = 1; - param.verbose = 1; - break; - case 'U': - param.pg_user = strdup(optarg); - break; - case 'W': - param.pg_prompt = 1; - break; - case 'p': - port = strtol(optarg, NULL, 10); - if( (port < 1) || (port > 65535)) { - fprintf(stderr, "[%s]: invalid port number '%s'\n", argv[0], optarg); - exit(1); - } - param.pg_port = strdup(optarg); - break; - case 'h': - param.pg_host = strdup(optarg); - break; - } + while (1) + { + c = getopt(argc, argv, "?h:U:p:vnW"); + if (c == -1) + break; + + switch (c) + { + case '?': + if (optopt == '?') + { + usage(); + exit(0); + } + exit(1); + case ':': + exit(1); + case 'v': + param.verbose = 1; + break; + case 'n': + param.dry_run = 1; + param.verbose = 1; + break; + case 'U': + param.pg_user = strdup(optarg); + break; + case 'W': + param.pg_prompt = 1; + break; + case 'p': + port = strtol(optarg, NULL, 10); + if ((port < 1) || (port > 65535)) + { + fprintf(stderr, "[%s]: invalid port number '%s'\n", argv[0], optarg); + exit(1); + } + param.pg_port = strdup(optarg); + break; + case 'h': + param.pg_host = strdup(optarg); + break; + } } - + /* No database given? Show usage */ - if(optind >= argc-1) { - fprintf(stderr, "vacuumlo: missing required argument: database name\n"); - fprintf(stderr, "Try 'vacuumlo -?' for help.\n"); - exit(1); + if (optind >= argc - 1) + { + fprintf(stderr, "vacuumlo: missing required argument: database name\n"); + fprintf(stderr, "Try 'vacuumlo -?' for help.\n"); + exit(1); } - for(c = optind; c < argc; c++) { - /* Work on selected database */ - rc += (vacuumlo(argv[c], ¶m) != 0); + for (c = optind; c < argc; c++) + { + /* Work on selected database */ + rc += (vacuumlo(argv[c], ¶m) != 0); } return rc; |
