Re: stupid patch of pg_dumplo

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: andrea gelmini <bungle(at)linux(dot)it>
Cc: Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>, pgsql-patches(at)postgresql(dot)org
Subject: Re: stupid patch of pg_dumplo
Date: 2001-11-12 17:44:14
Message-ID: 200111121744.fACHiES07580@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-patches by date

  From Date Subject
Next Message Bruce Momjian 2001-11-12 17:44:32 Re: stupid patch of pg_dumplo
Previous Message Tom Lane 2001-11-12 17:42:58 Re: ALTER TABLE RENAME fix