Umlautesortierung in Postgres

Jan-Benedict Glaw jbglaw at lug-owl.de
Di Nov 3 19:33:20 CET 2009


On Tue, 2009-11-03 19:18:16 +0100, Frank Jagusch <frank at jagusch-online.de> wrote:
> Am Montag, den 02.11.2009, 22:47 +0100 schrieb Jan-Benedict Glaw:
> > On Mon, 2009-11-02 19:06:34 +0100, Frank Jagusch <frank at jagusch-online.de> wrote:
> > > Hi alle,
> > > da ist mir was unklar und auch nach einigem Suchen hab' ich keine L├Âsung
> > > gefunden:
> > > Bei einem SELECT FOO FROM BAR ORDER BY FOO bekomme ich von meinem auf
> > > de_de eingestellten 8.3-er PostgreSQL folgende Sortierung
> > > (exemplarisch):
[...]

> > .... order by regexp_replace (foo, '├Ą', 'ae');
> > (Und nat├╝rlich noch die ├╝brigen Umlaute mit einbauen.)
> 
> Dein Vorschlag greift in meinem Fall zu kurz: Ich nutze die Datenbank
> von einer alten Delphi Win32 Anwendung aus, die via BDE und ODBC auf die
> Datenbank zugreift. Die BDE schraubt unter Verwendung der vorhandenen
> Indexe selber SELECTs zusammen - da kann ich keine Funktionsaufrufe in
> die ORDER BY Clause bringen.

Ist 'nen b├Âser Hack, aber Du k├Ânntest die Original-Tabelle umbenennen
und einen view gleichen Namens anlegen, der in sich wie oben skizziert
sortiert ist. Falls auf die Daten auch geschrieben wird, kannst Du das
mit Triggern abfangen und auf die Original-Tabelle umbiegen.

Das klappt alles nat├╝rlich um so schlechter, je mehr Daten (sprich:
wenn mehr als eine textenthaltende Spalte) vorhanden sind, nach denen
sortiert werden k├Ânnte.

Im schlimmsten Fall (je nach Wichtigkeit der Applikation und ggf. auch
Spendierfreudigkeit des Benutzers) k├Ânnte man 'nen kleinen Proxy
dazwischenbauen, der die Statements entsprechend umbaut.

MfG, JBG

-- 
      Jan-Benedict Glaw      jbglaw at lug-owl.de              +49-172-7608481
Signature of:              Alles sollte so einfach wie m├Âglich gemacht sein.
the second  :                          Aber nicht einfacher.  (Einstein)
-------------- nńchster Teil --------------
Ein Dateianhang mit Bin├Ąrdaten wurde abgetrennt...
Dateiname   : nicht verf├╝gbar
Dateityp    : application/pgp-signature
Dateigr├Â├če  : 197 bytes
Beschreibung: Digital signature
URL         : http://www.tlug.de/pipermail/tlug_allgemein/attachments/20091103/30be19d8/attachment.pgp