[HACKERS] Bug in pg_get_constraintdef (for deferrable constraints)

2003-01-01 Thread Magnus Hagander
Postgresql 7.3.1 on Linux i386 - but from what I can see it is on all platforms

It seems pg_get_constraintdef does not remember the setting "DEFERRABLE" on a 
constraint. This has the effect that it does not show up in psql \d commands, and it 
is also *not* included in backups from pg_dump.


Reproduce:
CREATE TABLE foo.prim(i int PRIMARY KEY);
CREATE TABLE foo.for1(j int REFERENCES foo.prim(i) NOT DEFERRABLE);
CREATE TABLE foo.for2(j int REFERENCES foo.prim(i) DEFERRABLE);

"\d foo.for1" and "\d foo.for2" will then show the exact same definition of the 
constraint:
   Table "foo.for2"
 Column |  Type   | Modifiers
+-+---
 j  | integer |
Foreign Key constraints: $1 FOREIGN KEY (j) REFERENCES foo.prim(i) ON UPDATE NO ACTION 
ON DELETE NO ACTION



Seems to me like ruleutils.c at around line 600 is the place, and that is has no 
concept of DEFERRABLE anywhere near that, but I'm not comfortable enough in there to 
produce a patch myself... 


//Magnus


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org



Re: [HACKERS] Bug in pg_get_constraintdef (for deferrable constraints)

2003-01-01 Thread Bruce Momjian

I can reproduce this failure here too.  I am actually quite confused
because:

1)  I know this deferrable stuff works or used to work
2)  I can't find relivant references to
condeferrable/Anum_pg_constraint_condeferrable and
condeferred/Anum_pg_constraint_condeferred in the code.

I see the values being stored on constriant creation, but not being used
anywhere:

$ rgrepc condefer
./backend/catalog/pg_constraint.c:  
values[Anum_pg_constraint_condeferrable - 1] = BoolGetDatum(isDeferrable);
./backend/catalog/pg_constraint.c:  values[Anum_pg_constraint_condeferred 
- 1] = BoolGetDatum(isDeferred);
./include/catalog/pg_constraint.h:  boolcondeferrable;  /* 
deferrable constraint? */
./include/catalog/pg_constraint.h:  boolcondeferred;/* 
deferred by default? */
./include/catalog/pg_constraint.h:#define Anum_pg_constraint_condeferrable 
4
./include/catalog/pg_constraint.h:#define Anum_pg_constraint_condeferred   
5

I am confused.

---

Magnus Hagander wrote:
> Postgresql 7.3.1 on Linux i386 - but from what I can see it is on all platforms
> 
> It seems pg_get_constraintdef does not remember the setting "DEFERRABLE" on a 
>constraint. This has the effect that it does not show up in psql \d commands, and it 
>is also *not* included in backups from pg_dump.
> 
> 
> Reproduce:
> CREATE TABLE foo.prim(i int PRIMARY KEY);
> CREATE TABLE foo.for1(j int REFERENCES foo.prim(i) NOT DEFERRABLE);
> CREATE TABLE foo.for2(j int REFERENCES foo.prim(i) DEFERRABLE);
> 
> "\d foo.for1" and "\d foo.for2" will then show the exact same definition of the 
>constraint:
>Table "foo.for2"
>  Column |  Type   | Modifiers
> +-+---
>  j  | integer |
> Foreign Key constraints: $1 FOREIGN KEY (j) REFERENCES foo.prim(i) ON UPDATE NO 
>ACTION ON DELETE NO ACTION
> 
> 
> 
> Seems to me like ruleutils.c at around line 600 is the place, and that is has no 
>concept of DEFERRABLE anywhere near that, but I'm not comfortable enough in there to 
>produce a patch myself... 
> 
> 
> //Magnus
> 
> 
> ---(end of broadcast)---
> TIP 6: Have you searched our list archives?
> 
> http://archives.postgresql.org
> 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] Bug in pg_get_constraintdef (for deferrable constraints)

2003-01-01 Thread Tom Lane
Bruce Momjian <[EMAIL PROTECTED]> writes:
> I see the values being stored on constriant creation, but not being used
> anywhere:

I believe the values that actually get inspected at runtime are the
tgdeferrable and tginitdeferred fields in pg_trigger.  The columns in
pg_constraint are just copies of these.

It is not real clear to me whether it should be allowed to alter the
deferrability status of a foreign-key constraint --- is that in the spec?

regards, tom lane

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Bug in pg_get_constraintdef (for deferrable constraints)

2003-01-01 Thread Bruce Momjian
Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > I see the values being stored on constriant creation, but not being used
> > anywhere:
> 
> I believe the values that actually get inspected at runtime are the
> tgdeferrable and tginitdeferred fields in pg_trigger.  The columns in
> pg_constraint are just copies of these.
> 
> It is not real clear to me whether it should be allowed to alter the
> deferrability status of a foreign-key constraint --- is that in the spec?

The big problem is that while pg_dump's dump_trigger() looks at
tginitdeferred and dumps accordingly, pg_get_constraintdef doesn't look
at tginitdeferred, and therefore doesn't record the requirement as part
of ALTER TABLE ADD CONSTRAINT.

Attached is a dump of the supplied example, showing that the outputs are the
same.   Looks like this is a must-fix for 7.3.2.


-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

--
-- PostgreSQL database dump
--

\connect - postgres

SET search_path = public, pg_catalog;

--
-- TOC entry 2 (OID 149751)
-- Name: prim; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE prim (
i integer NOT NULL
);


--
-- TOC entry 3 (OID 149755)
-- Name: for1; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE for1 (
j integer
);


--
-- TOC entry 4 (OID 149761)
-- Name: for2; Type: TABLE; Schema: public; Owner: postgres
--

CREATE TABLE for2 (
j integer
);


--
-- Data for TOC entry 6 (OID 149751)
-- Name: prim; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY prim (i) FROM stdin;
\.


--
-- Data for TOC entry 7 (OID 149755)
-- Name: for1; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY for1 (j) FROM stdin;
\.


--
-- Data for TOC entry 8 (OID 149761)
-- Name: for2; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY for2 (j) FROM stdin;
\.


--
-- TOC entry 5 (OID 149753)
-- Name: prim_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY prim
ADD CONSTRAINT prim_pkey PRIMARY KEY (i);


--
-- TOC entry 9 (OID 149757)
-- Name: $1; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY for1
ADD CONSTRAINT "$1" FOREIGN KEY (j) REFERENCES prim(i) ON UPDATE NO ACTION ON 
DELETE NO ACTION;


--
-- TOC entry 10 (OID 149763)
-- Name: $1; Type: CONSTRAINT; Schema: public; Owner: postgres
--

ALTER TABLE ONLY for2
ADD CONSTRAINT "$1" FOREIGN KEY (j) REFERENCES prim(i) ON UPDATE NO ACTION ON 
DELETE NO ACTION;




---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] Bug in pg_get_constraintdef (for deferrable constraints)

2003-01-01 Thread Stephan Szabo

On Wed, 1 Jan 2003, Bruce Momjian wrote:

> Tom Lane wrote:
> > Bruce Momjian <[EMAIL PROTECTED]> writes:
> > > I see the values being stored on constriant creation, but not being used
> > > anywhere:
> >
> > I believe the values that actually get inspected at runtime are the
> > tgdeferrable and tginitdeferred fields in pg_trigger.  The columns in
> > pg_constraint are just copies of these.
> >
> > It is not real clear to me whether it should be allowed to alter the
> > deferrability status of a foreign-key constraint --- is that in the spec?
>
> The big problem is that while pg_dump's dump_trigger() looks at
> tginitdeferred and dumps accordingly, pg_get_constraintdef doesn't look
> at tginitdeferred, and therefore doesn't record the requirement as part
> of ALTER TABLE ADD CONSTRAINT.

pg_get_constraintdef should probably be looking at condeferrable
and condeferred in the pg_constraint row it's looking at.  Maybe something
like the attached.

*** pgsql/src/backend/utils/adt/ruleutils.c 2003-01-01 15:03:35.0 -0800
--- pgsql/src/backend/utils/adt/ruleutils.c.new 2003-01-01 15:02:32.0 -0800
***
*** 688,693 
--- 688,704 
}
appendStringInfo(&buf, " ON DELETE %s", string);
  
+   if (!conForm->condeferrable) {
+   appendStringInfo(&buf, " NOT");
+   }
+   appendStringInfo(&buf, " DEFERRABLE");
+   if (conForm->condeferred) {
+   appendStringInfo(&buf, " INITIALLY DEFERRED");
+   }
+   else {
+   appendStringInfo(&buf, " INITIALLY 
+IMMEDIATE");
+   }
+ 
break;
}
  


---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] PostgreSQL Password Cracker

2003-01-01 Thread mlw






Tom Lane wrote:

  Devrim GUNDUZ <[EMAIL PROTECTED]> writes:
  
  
I had no time to search throug the code; but as far as I understood, it
*attacks* the database servers with TCP/IP on, right?

  
  
No, the program itself simply takes an MD5 hash value and does a
brute-force search for a password that generates that MD5 string.

The comments at the top suggest sniffing a Postgres session startup
exchange in order to see the MD5 value that the user presents; which the
attacker would then give to this program.  (Forget it if the session is
Unix-local rather than TCP, or if it's SSL-encrypted...)

This is certainly a theoretically possible attack against someone who
has no clue about security, but I don't put any stock in it as a
practical attack.  For starters, if you are talking to your database
across a network that is open to hostile sniffers, you should definitely
be using SSL.
  

This is absolutely correct, shouldn't this be in the FAQ?

  
  






Re: [HACKERS] Postgresql, unicode and umlauts

2003-01-01 Thread Tatsuo Ishii
The error message says all. You are trying to insert a character which
is not a UTF-8. Probably you are inputting UCS-2?
--
Tatsuo Ishii


From: "Atahualpa Jones" <[EMAIL PROTECTED]>
Subject: Postgresql, unicode and umlauts
Date: Wed, 1 Jan 2003 20:17:15 +0100
Message-ID: <000d01c2b1ca$67838d60$1501000a@DonAndre>

> Dear Sir,
> 
> I have also submitted following (in slightly different manner to the
> postgresql newsgroup comp.databases.postgresql.general on
> news.postgresql.org. The posting there is of 31.12.2002 02:02 and is titled
> "Postgresql 7.2.1 and umlauts".
> So far I have received no reply and since I saw that you are the person that
> did the coding for my problem, I write directly to you:
> 
> I have a Linux Box running Postgresql 7.2.1 and php 4.2.1+apache-ssl
> 1.3.26+1.48.
> 
> I have set up a small php form that inserts something in a postgres database
> called "test" in a table called "guestbook".
> Client and Database Encoding is set to UNICODE, but whenever a user submits
> an umlaut character (for example: ö,ä,ü or sharp-s (ß)) then I get an error
> message that it is an invalid unicode character sequence:
> Warning: PostgreSQL query failed: ERROR: Invalid UNICODE character sequence
> found (0xe4) in /var/www/dc+da/em.inc on line 63
> (thats the error message for umlaut-a)
> 
> In the Warning message for umlaut-o there is also a spelling mistake:
> Warning: PostgreSQL query failed: ERROR: Unicode >= 0x1 is not supoorted
> in /var/www/dc+da/em.inc on line 63
> (note supoorted instead of supported)
> 
> I have tried to change the encoding with php by setting pg_setclientencoding
> or using mp_convert_encoding, but it did not work. Either the error message
> came up, or there were strange or no characters written into the database.
> 
> How is it possible to write umlaut characters into a postgresql database?
> A friend of mine running postgresql 7.2.2 on FreeBSD also tried and failed
> too. He tried not only with php but with perl aswell.
> 
> Here is the list of databases:
> psql -l
> List of databases
>Name|  Owner   | Encoding
> ---+--+--
>  template0 | postgres | UNICODE
>  template1 | postgres | UNICODE
>  test  | ata  | UNICODE
> (3 rows)
> 
> Here is the the SQL statement that creates the table:
> CREATE TABLE guestbook (
> postid SERIAL PRIMARY KEY,
> name TEXT NOT NULL,
> email TEXT,
> title TEXT NOT NULL,
> message TEXT NOT NULL,
> posted TIMESTAMP DEFAULT 'now'
> );
> 
> Here is postgresql version information:
> psql -V
> psql (PostgreSQL) 7.2.1
> contains support for: readline, history, multibyte
> Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
> Portions Copyright (c) 1996, Regents of the University of California
> Read the file COPYRIGHT or use the command \copyright to see the
> usage and distribution terms.
> 
> the "problematic" line 63 of my php script looks as following:
> $result = pg_exec($database,"INSERT INTO guestbook ...");
> 
> The script works if you do not put in any umlaut characters.
> 
> Sincerely,
> Ata
> 

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] PostgreSQL Password Cracker

2003-01-01 Thread Bruce Momjian
mlw wrote:
> >The comments at the top suggest sniffing a Postgres session startup
> >exchange in order to see the MD5 value that the user presents; which the
> >attacker would then give to this program.  (Forget it if the session is
> >Unix-local rather than TCP, or if it's SSL-encrypted...)
> >
> >This is certainly a theoretically possible attack against someone who
> >has no clue about security, but I don't put any stock in it as a
> >practical attack.  For starters, if you are talking to your database
> >across a network that is open to hostile sniffers, you should definitely
> >be using SSL.
> >  
> >
> This is absolutely correct, shouldn't this be in the FAQ?

Well, this is a pretty rare issue, so it doesn't seem like an FAQ.
People need to understand the ramifications of the various pg_hba.conf
settings, and I think our documentation does that.

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



Re: [HACKERS] PostgreSQL Password Cracker

2003-01-01 Thread mlw






Bruce Momjian wrote:

  mlw wrote:
  
  

  The comments at the top suggest sniffing a Postgres session startup
exchange in order to see the MD5 value that the user presents; which the
attacker would then give to this program.  (Forget it if the session is
Unix-local rather than TCP, or if it's SSL-encrypted...)

This is certainly a theoretically possible attack against someone who
has no clue about security, but I don't put any stock in it as a
practical attack.  For starters, if you are talking to your database
across a network that is open to hostile sniffers, you should definitely
be using SSL.
 

  

This is absolutely correct, shouldn't this be in the FAQ?

  
  
Well, this is a pretty rare issue, so it doesn't seem like an FAQ.
People need to understand the ramifications of the various pg_hba.conf
settings, and I think our documentation does that.
  

A good DBA will probably read the docs, a bad DBA will probably not, and
it is the bad DBA that needs to be guided the most.

Maybe not FAQ, but is the a short page of "dos and don'ts?






Re: [HACKERS] PostgreSQL Password Cracker

2003-01-01 Thread Bruce Momjian

What do others think?  I am not sure myself.

---

mlw wrote:
> 
> 
> Bruce Momjian wrote:
> 
> >mlw wrote:
> >  
> >
> >>>The comments at the top suggest sniffing a Postgres session startup
> >>>exchange in order to see the MD5 value that the user presents; which the
> >>>attacker would then give to this program.  (Forget it if the session is
> >>>Unix-local rather than TCP, or if it's SSL-encrypted...)
> >>>
> >>>This is certainly a theoretically possible attack against someone who
> >>>has no clue about security, but I don't put any stock in it as a
> >>>practical attack.  For starters, if you are talking to your database
> >>>across a network that is open to hostile sniffers, you should definitely
> >>>be using SSL.
> >>> 
> >>>
> >>>  
> >>>
> >>This is absolutely correct, shouldn't this be in the FAQ?
> >>
> >>
> >
> >Well, this is a pretty rare issue, so it doesn't seem like an FAQ.
> >People need to understand the ramifications of the various pg_hba.conf
> >settings, and I think our documentation does that.
> >  
> >
> A good DBA will probably read the docs, a bad DBA will probably not, and 
> it is the bad DBA that needs to be guided the most.
> 
> Maybe not FAQ, but is the a short page of "dos and don'ts?
> 
> 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])



Re: [HACKERS] PostgreSQL Password Cracker

2003-01-01 Thread Tom Lane
Bruce Momjian <[EMAIL PROTECTED]> writes:
> What do others think?  I am not sure myself.

There should definitely be someplace that recommends using SSL across
insecure networks (if there's not already).  But it doesn't seem to me
to qualify as a FAQ entry.  Somewhere in the admin guide seems more
appropriate.  Perhaps under Client Authentication?

Maybe someone could even put together enough material to create a whole
chapter on security considerations --- this is hardly the only item
worthy of mention.

regards, tom lane

---(end of broadcast)---
TIP 4: Don't 'kill -9' the postmaster



Re: [HACKERS] PostgreSQL Password Cracker

2003-01-01 Thread Bruce Momjian

Yes, I have been feeling we should do that.  Justin pointed out just
yesterday that .pgpass is only mentioned in libpq documentation, and in
fact there is lots of stuff mentioned in libpq that releates to the
other interfaces, so it should be pulled out and put in one place.

Does anyone want to tackle this?

---

Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> writes:
> > What do others think?  I am not sure myself.
> 
> There should definitely be someplace that recommends using SSL across
> insecure networks (if there's not already).  But it doesn't seem to me
> to qualify as a FAQ entry.  Somewhere in the admin guide seems more
> appropriate.  Perhaps under Client Authentication?
> 
> Maybe someone could even put together enough material to create a whole
> chapter on security considerations --- this is hardly the only item
> worthy of mention.
> 
>   regards, tom lane
> 

-- 
  Bruce Momjian|  http://candle.pha.pa.us
  [EMAIL PROTECTED]   |  (610) 359-1001
  +  If your life is a hard drive, |  13 Roberts Road
  +  Christ can be your backup.|  Newtown Square, Pennsylvania 19073

---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



[HACKERS] pg_dump.options.diff

2003-01-01 Thread Serguei Mokhov
Hello,

Happy New Year everyone,

Attached is an attempt to eliminate duplicate pg_dump
option descriptions, and have a single description for both
short and long options. For me, as for a translator, this
eliminates the need to maintain the two, exactly same, sets of 
24 sentences.

If this is accepted, using the same approach I'll go through pg_dumpall
and other tools, which suffer from the same exact problem.
If it's rejected, please advise of a better way to approach
the problem.

Needless to say, it is a pain for a translator to 
properly maintain the two sets of messages for every tool PG got.

After all that is settled, I'll send translation patches in.

Thank you,
-s

 pg_dump.options.diff


pg_dump.options.diff
Description: Binary data

---(end of broadcast)---
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]



[HACKERS] Cast your vote ...

2003-01-01 Thread Marc G. Fournier

Just got this in my mailbox:

2002 LinuxQuestions.org Members Choice Awards:

http://www.linuxquestions.org/questions/showthread.php?s=78a8c06fbc1dcecd52597decd6c56ad8&threadid=39870

And we are way behind MySQL (like, d'ah!):

http://www.linuxquestions.org/questions/poll.php?s=78a8c06fbc1dcecd52597decd6c56ad8&action=showresults&pollid=168

The problem, of course, is that you have to be a registered member to
vote, so its not an 'open poll' ...


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] pg_dump.options.diff

2003-01-01 Thread Tom Lane
"Serguei Mokhov" <[EMAIL PROTECTED]> writes:
> Attached is an attempt to eliminate duplicate pg_dump
> option descriptions, and have a single description for both
> short and long options. For me, as for a translator, this
> eliminates the need to maintain the two, exactly same, sets of 
> 24 sentences.

Offhand, this cure strikes me as much worse than the disease.  You've
converted code which was understandable, if somewhat repetitious, into
code that can be understood by neither programmers nor translators.
The text strings have been broken into fragments that don't make any
sense individually --- which probably creates translating problems,
as well as opportunities for programmer error.

I see your complaint, but this doesn't seem like a good way to fix it.

Perhaps it would work better to do something like

#ifdef HAVE_GETOPT_LONG
char* f_option = _("-f, --file=FILENAME ");
... etc ...
#else /* not HAVE_GETOPT_LONG */
char* f_option = _("-f FILENAME ");
... etc ...
#endif /* not HAVE_GETOPT_LONG */

printf(_("  %s output file name\n"), f_option);
... etc ...

That seems to reduce the amount of duplication without breaking things
up into chunks that aren't independent concepts.

However, I'm not convinced that the above is better than what we have
--- it's really not obvious that the above is more maintainable than

#ifdef HAVE_GETOPT_LONG
printf(_("  -f, --file=FILENAME  output file name\n"));
#else /* not HAVE_GETOPT_LONG */
printf(_("  -f FILENAME  output file name\n"));
#endif /* not HAVE_GETOPT_LONG */

There are worse things than a little repetitiveness, and creating
the opportunity to mismatch a flag with its description may well
be one of them.

Comments?  Can anyone do better?

regards, tom lane

---(end of broadcast)---
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly



Re: [HACKERS] Cast your vote ...

2003-01-01 Thread Christopher Kings-Lynne
Hmmm...I wonder if this will mean we'll be accused of "ballot stuffing" in
the MySQL lists again...

It is a newbie forum, so I'm not surprised that MySQL is way ahead.

The poll is a bit of a joke anyway.

The poll needs to have two questions:

1. Which of these databases have you ACTUALLY USED?

2. Which of these databases is your favourite?

That'll sort it out.

Chris

> -Original Message-
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Marc G. Fournier
> Sent: Thursday, 2 January 2003 2:25 PM
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
> Subject: [HACKERS] Cast your vote ...
>
>
>
> Just got this in my mailbox:
>
> 2002 LinuxQuestions.org Members Choice Awards:
>
> http://www.linuxquestions.org/questions/showthread.php?s=78a8c06fb
> c1dcecd52597decd6c56ad8&threadid=39870
>
> And we are way behind MySQL (like, d'ah!):
>
> http://www.linuxquestions.org/questions/poll.php?s=78a8c06fbc1dcec
> d52597decd6c56ad8&action=showresults&pollid=168
>
> The problem, of course, is that you have to be a registered member to
> vote, so its not an 'open poll' ...
>
>
> ---(end of broadcast)---
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>


---(end of broadcast)---
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html



Re: [HACKERS] pg_dump.options.diff

2003-01-01 Thread Serguei Mokhov
- Original Message - 
From: "Tom Lane" <[EMAIL PROTECTED]>
Sent: January 02, 2003 1:34 AM

> Perhaps it would work better to do something like
> 
> #ifdef HAVE_GETOPT_LONG
> char* f_option = _("-f, --file=FILENAME ");
> ... etc ...
> #else /* not HAVE_GETOPT_LONG */
> char* f_option = _("-f FILENAME ");
> ... etc ...
> #endif /* not HAVE_GETOPT_LONG */
> 
> printf(_("  %s output file name\n"), f_option);
> ... etc ...
> 
> That seems to reduce the amount of duplication without breaking things
> up into chunks that aren't independent concepts.

Thank you for your comment, Tom.

A slightly more readable version of the above could be:

> #ifdef HAVE_GETOPT_LONG
> char* data_only_option = _("-f, --file=FILENAME ");
> char* blobs_option = _("-b, --blobs ");
> ... etc ...
> #else /* not HAVE_GETOPT_LONG */
> char* data_only_option = _("-f FILENAME ");
> char* blobs_option = _("-b ");
> ... etc ...
> #endif /* not HAVE_GETOPT_LONG */
> 
> printf(_("  %s output file name\n"), data_only_option);
> printf(_("  %s include large objects in dump\n"), blobs_option);
> ... etc ...

It loos like better than the current setup.
Either way, something has to be donw about this...

-s


---(end of broadcast)---
TIP 6: Have you searched our list archives?

http://archives.postgresql.org