Re: stupid patch of pg_dumplo - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: stupid patch of pg_dumplo
Date
Msg-id 200111121744.fACHiES07580@candle.pha.pa.us
Whole thread Raw
In response to Re: stupid patch of pg_dumplo  (andrea gelmini <bungle@linux.it>)
List pgsql-patches
Patch applied.  Thanks.

---------------------------------------------------------------------------


> On gio, nov 08, 2001 at 02:32:27 +0100, Karel Zak wrote:
> >  It's good idea, maybe you can try add other values usable in
> >  PQsetdbLogin.
>
> yes, maybe in the future... now two problems: a) relation 'option' ->
> 'letter' is a little mess (but i don't see solution), b) i'm a son of shell
> programming... and so... read the "how to lost one day on a stupid
> problem" in the bottom...
> also, now i don't figure out what other useful PQsetdbLogin values can be
> good for this util (give me the light!)
>
> >  Please use other code in pg_dumplo/main.c as inspiration.
> it was my first try... but i failed...
> so i tried with the ugly way (i've seen it also in other *.c file in contrib,
> maybe i'll fix them)...
> ehm... now i retry...
>
> >  Please correct your patch and I mean will no problem add it to
> >  official code.
> ok, tell me if this is good.
>
> thanks for your time,
> andrea
>
> -----
> how to lost one day on a stupid problem
>
> i try to change my fully functional patch in the way suggested...
> but it core dumps...
> thinking, thinking, thinking...
> everything is same but the line:
>
> pgLO->port = strdup(optarg);
>
> makes a core dump...
> gdb says 'that line is evil'...
> and i go crazy...
> ask to one friend,
> ask to two friends...
> nothing...
> core dump...
> core dump...
> and...
> the light...
>
> getopt_long(argc, argv, "?aehou:p:qd:l:t:irs:w"
>
> i put 'o' without ':'
>
> argh!
>
> -----
>
> Common subdirectories: pg_dumplo.orig/CVS and pg_dumplo/CVS
> diff -c pg_dumplo.orig/main.c pg_dumplo/main.c
> *** pg_dumplo.orig/main.c    Thu Oct 25 16:23:33 2001
> --- pg_dumplo/main.c    Mon Nov 12 16:25:56 2001
> ***************
> *** 56,61 ****
> --- 56,62 ----
>       pgLO->user = NULL;
>       pgLO->db = NULL;
>       pgLO->host = NULL;
> +     pgLO->port = NULL;
>       pgLO->space = NULL;
>       pgLO->index = NULL;
>       pgLO->remove = FALSE;
> ***************
> *** 81,86 ****
> --- 82,88 ----
>               {"pwd", required_argument, 0, 'p'},
>               {"db", required_argument, 0, 'd'},
>               {"host", required_argument, 0, 'h'},
> +             {"port", required_argument, 0, 'o'},
>               {"space", required_argument, 0, 's'},
>               {"import", no_argument, 0, 'i'},
>               {"export", no_argument, 0, 'e'},
> ***************
> *** 91,100 ****
>               {NULL, 0, 0, 0}
>           };
>
> !         while ((arg = getopt_long(argc, argv, "?aehu:p:qd:l:t:irs:w", l_opt, &l_index)) != -1)
>           {
>   #else
> !         while ((arg = getopt(argc, argv, "?aehu:p:qd:l:t:irs:w")) != -1)
>           {
>   #endif
>               switch (arg)
> --- 93,102 ----
>               {NULL, 0, 0, 0}
>           };
>
> !         while ((arg = getopt_long(argc, argv, "?aeho:u:p:qd:l:t:irs:w", l_opt, &l_index)) != -1)
>           {
>   #else
> !         while ((arg = getopt(argc, argv, "?aeho:u:p:qd:l:t:irs:w")) != -1)
>           {
>   #endif
>               switch (arg)
> ***************
> *** 109,114 ****
> --- 111,119 ----
>                   case 't':
>                       pgLO->host = strdup(optarg);
>                       break;
> +                 case 'o':
> +                     pgLO->port = strdup(optarg);
> +                     break;
>                   case 'p':
>                       pwd = strdup(optarg);
>                       break;
> ***************
> *** 173,179 ****
>       /*
>        * Make connection
>        */
> !     pgLO->conn = PQsetdbLogin(pgLO->host, NULL, NULL, NULL, pgLO->db,
>                                 pgLO->user, pwd);
>
>       if (PQstatus(pgLO->conn) == CONNECTION_BAD)
> --- 178,184 ----
>       /*
>        * Make connection
>        */
> !     pgLO->conn = PQsetdbLogin(pgLO->host, pgLO->port, NULL, NULL, pgLO->db,
>                                 pgLO->user, pwd);
>
>       if (PQstatus(pgLO->conn) == CONNECTION_BAD)
> ***************
> *** 279,284 ****
> --- 284,290 ----
>          "-p --password=<password>     password for connection to server\n"
>            "-d --db=<database>           database name\n"
>            "-t --host=<hostname>         server hostname\n"
> +          "-o --port=<port>             database server port (default: 5432)\n"
>            "-s --space=<dir>             directory with dump tree (for export/import)\n"
>            "-i --import                  import large obj dump tree to DB\n"
>       "-e --export                  export (dump) large obj to dump tree\n"
> ***************
> *** 295,300 ****
> --- 301,307 ----
>          "-p <password>                password for connection to server\n"
>            "-d <database>                database name\n"
>            "-t <hostname>                server hostname\n"
> +          "-o <port>                    database server port (default: 5432)\n"
>            "-s <dir>                     directory with dump tree (for export/import)\n"
>            "-i                           import large obj dump tree to DB\n"
>       "-e                           export (dump) large obj to dump tree\n"
> diff -c pg_dumplo.orig/pg_dumplo.h pg_dumplo/pg_dumplo.h
> *** pg_dumplo.orig/pg_dumplo.h    Tue Nov  6 13:17:39 2001
> --- pg_dumplo/pg_dumplo.h    Mon Nov 12 14:04:48 2001
> ***************
> *** 51,56 ****
> --- 51,57 ----
>                  *user,
>                  *db,
>                  *host,
> +                *port,
>                  *space;
>       FILE       *index;
>       int            counter,
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: ALTER TABLE RENAME fix
Next
From: Bruce Momjian
Date:
Subject: Re: stupid patch of pg_dumplo