Re: stupid patch of pg_dumplo

From: andrea gelmini <bungle(at)linux(dot)it>
To: Karel Zak <zakkr(at)zf(dot)jcu(dot)cz>
Cc: pgsql-patches(at)postgresql(dot)org
Subject: Re: stupid patch of pg_dumplo
Date: 2001-11-12 09:46:37
Message-ID: 20011112104637.A24974@gelma.lugbs.linux.it
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

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,

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Karel Zak 2001-11-12 10:51:23 Re: stupid patch of pg_dumplo
Previous Message Bruce Momjian 2001-11-12 06:09:11 Re: Small FK patch to deal with tables without oids