[PATCH] psql formatting patch (round 2) - Mailing list pgsql-patches

From Martijn van Oosterhout
Subject [PATCH] psql formatting patch (round 2)
Date
Msg-id 20051126223817.GB11860@svana.org
Whole thread Raw
Responses Re: [PATCH] psql formatting patch (round 2)
Re: [PATCH] psql formatting patch (round 2)
List pgsql-patches
[Please CC any replies, thanks]

This patch has the same effect as the last one except it now uses the
PQmblen and PQdsplen functions exported by libpq as suggested by Tom.
This clears a lot of stuff from psql's mbprint.c which is a good thing.
This means it should work for all for encodings (though I can't say I
tested them all).

The PQdsplen function in libpq has been improved so it can actually
work and provide the necessary information for formatting. That file
(wchar.c) is actually shared with the backend but the backend doesn't
use the dsplen functions, so it does add some dead code (on top of what
was already there).

Note: this changes the PQdsplen function, it can now return zero or
minus one which was not possible before. It doesn't appear anyone is
actually using the functions other than psql but it is a change. The
functions are not actually documentated anywhere so it's not like we're
breaking a defined interface. The new semantics follow the Unicode
standard.

The other uses of PQdsplen in psql (in ReportSyntaxErrorPosition) would
seem to be slightly affected by the change, except it's not clear how
psql should react to control characters in the string it's trying to
print...

Patch available at:
http://svana.org/kleptog/pgsql/psql-format.patch

Comments welcome,

Have a nice day,
--
Martijn van Oosterhout   <kleptog@svana.org>   http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.

Attachment

pgsql-patches by date:

Previous
From: Volkan YAZICI
Date:
Subject: Re: Case Conversion Fix for MB Chars
Next
From: Peter Eisentraut
Date:
Subject: Re: Install pg_regress by default