Trigger im LDAP-Server !?

Wolfgang Weisselberg weissel at netcologne.de
Sa Jun 12 01:11:25 CEST 2004


Hi, Beat!

Beat Rubischon (beat at rubis.ch) wrote 38 lines:
> Am 05.06.04 schrieb Wolfgang Weisselberg:

> >     select Vater from vater_sohn where Sohn = $meine_knoten_ID
> >     select Sohn from vater_sohn where Vater = $meine_knoten_ID

> Das sind die ueblen Strukturen, die einen mordsmaessigen Aufwand
> zum Parsen bereiten.

Welche Struktur schlaegst du vor?

> Jeder PHP-Hacker, der zum ersten Mal ein Menu in seine Webseite
> pappen will, flucht darueber :-)

Das ist das Problem von PHPlern, die nicht wissen, dass PHP
Module kennt.  Da schreibt man so einen Code einmal und gut ist.

My, code reuse ist doch eigendlich eine bekannte Technik.

Und fuer "Sie sind "Kaufhaus -> Herren -> Hosen -> Uebergroessen ->
gruene Streifen" reicht ein Durchgang (Wer ist Vater, Vatersvater,
... bis root erreicht ist).  Latuernich unter der Annahme, es
gebe nur einen Vater.

> > Prozeduren wuerde ich nicht 'Hacks' nennen :-)

> Ich schon. Weil sie verdammt stark unportabel sind.

Und?  Code fuer $OS ist auch nicht gerade portabel.

Prozeduren haben den enormen Vorteil, dass sie applikations-,
sprach- und platformunabhaengig sind --- im Gegenteil zu der
Library-Funktion, die dann in Delphi, Perl, Python, PHP, C, Zope,
Lisp, Fortran, Cobol, etc gepflegt werden muss --- und in alle
relevanten Applikationen eingepflegt werden muss.

Wenn die Applikation derartig tiefes Eingreifen nicht zulaesst
oder dieses unverhaeltnismaessig aufwaendig ist (z.B. non-free
software, Database viewer, mangelnde Programmierer, zo'e), dann
wirst du dich freuen, nur eine Stored Procedure zu brauchen.
Sei es zum Anlegen eines neuen Kundendatensatzes (ja, das muss
auch getestet werden, also auch von Hand gemacht werden koennen)
oder zum Auslesen aller Bestellungen eines Kunden ueber XXX EUR,
die nicht bezahlt wurden (wollen wir den wirklich beliefern?) usw.

Ohne Stored Procedures musst du alle, die da schreiben/entwickeln
koennten, stets ueber alle Einzelheiten am Laufen halten ---
so gibst du ihnen eine einfache API.


Oder nimm einfach ein (altes,) nicht-transaktionales MySQL, auf
dem du dennoch Transaktionen brauchst, wo dutzende Programme in
verschienenen Progammiersprachen auf die Daten schreibend zugreifen
(koennen).  Moechte man das?  Aehnliche Problematik.

> Ich weiss von dutzenden von Datenbanken, die schon laengst
> aufgrund ihrer Groesse von Oracle auf MySQL migriert worden
> waeren - aber stored Procedures besitzen, die keine Sau mehr
> versteht, geschweige denn auf einer anderen DB laufen. Mit
> solchen DBs (meist einige hundert Records in 2, 3 Tabellen)
> duerfte Oracle das "grosse Business" machen :-/

Welcher Knilch hat die DBs denn ueberhaupt erst auf Oracle
aufgesetzt, und warum?

-Wolfgang



Mehr Informationen über die Mailingliste Linux-Users