From 9365cdc3776c0d9d3d271b2cf687b8454c1741b1 Mon Sep 17 00:00:00 2001 From: Oliver Lehmann Date: Thu, 21 Dec 1989 12:16:14 +0000 Subject: [PATCH] ING_DB --- .../ingres/dbs/data/base/adr/adr ii | Bin 0 -> 24064 bytes WEGA/contrib/ingres/dbs/data/base/adr/adr.ii | Bin 0 -> 24064 bytes .../ingres/dbs/data/base/adr/attribute.ii | Bin 0 -> 7168 bytes .../ingres/dbs/data/base/adr/dis ii | Bin 0 -> 5120 bytes WEGA/contrib/ingres/dbs/data/base/adr/dis.ii | Bin 0 -> 5120 bytes WEGA/contrib/ingres/dbs/demo/amx/01.x | 50 ++++++ WEGA/contrib/ingres/dbs/demo/amx/02.x | 15 ++ WEGA/contrib/ingres/dbs/demo/amx/03.x | 53 ++++++ WEGA/contrib/ingres/dbs/demo/amx/04.x | 38 +++++ WEGA/contrib/ingres/dbs/demo/amx/05.x | 79 +++++++++ WEGA/contrib/ingres/dbs/demo/amx/06.x | 48 ++++++ WEGA/contrib/ingres/dbs/demo/amx/07.x | 12 ++ WEGA/contrib/ingres/dbs/demo/amx/08.x | 18 ++ WEGA/contrib/ingres/dbs/demo/amx/11.x | 12 ++ WEGA/contrib/ingres/dbs/demo/amx/12.x | 19 +++ WEGA/contrib/ingres/dbs/demo/amx/13.x | 19 +++ WEGA/contrib/ingres/dbs/demo/amx/14.x | 24 +++ WEGA/contrib/ingres/dbs/demo/amx/15.x | 13 ++ WEGA/contrib/ingres/dbs/demo/amx/17.x | 18 ++ WEGA/contrib/ingres/dbs/demo/amx/18.x | 23 +++ WEGA/contrib/ingres/dbs/demo/bank/.save | 0 WEGA/contrib/ingres/dbs/demo/bank/auszug.x | 154 ++++++++++++++++++ WEGA/contrib/ingres/dbs/demo/bank/bank.x | 70 ++++++++ WEGA/contrib/ingres/dbs/demo/bank/buchung.x | 69 ++++++++ WEGA/contrib/ingres/dbs/demo/bank/grund.x | 79 +++++++++ WEGA/contrib/ingres/dbs/demo/bank/konto.x | 45 +++++ WEGA/contrib/ingres/dbs/demo/bank/kunde.x | 90 ++++++++++ WEGA/contrib/ingres/dbs/demo/bank/name.x | 60 +++++++ WEGA/contrib/ingres/dbs/demo/bank/ort.x | 67 ++++++++ WEGA/contrib/ingres/dbs/demo/bank/str.x | 60 +++++++ WEGA/contrib/ingres/dbs/demo/bank/vorname.x | 60 +++++++ WEGA/contrib/ingres/dbs/demo/dbsr/ot.x | 44 +++++ WEGA/contrib/ingres/dbs/demo/dbsr/ot_t.x | 47 ++++++ WEGA/contrib/ingres/dbs/demo/dbsr/ota.x | 43 +++++ WEGA/contrib/ingres/dbs/demo/dbsr/otbc.x | 43 +++++ WEGA/contrib/ingres/dbs/demo/dbsr/stl.x | 62 +++++++ WEGA/contrib/ingres/dbs/demo/dbsr/stl1.x | 58 +++++++ WEGA/contrib/ingres/dbs/demo/dbsr/tot.x | 121 ++++++++++++++ WEGA/contrib/ingres/dbs/demo/dbsr/ut_t.x | 47 ++++++ 39 files changed, 1660 insertions(+) create mode 100644 WEGA/contrib/ingres/dbs/data/base/adr/adr ii create mode 100644 WEGA/contrib/ingres/dbs/data/base/adr/adr.ii create mode 100644 WEGA/contrib/ingres/dbs/data/base/adr/attribute.ii create mode 100644 WEGA/contrib/ingres/dbs/data/base/adr/dis ii create mode 100644 WEGA/contrib/ingres/dbs/data/base/adr/dis.ii create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/01.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/02.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/03.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/04.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/05.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/06.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/07.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/08.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/11.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/12.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/13.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/14.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/15.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/17.x create mode 100644 WEGA/contrib/ingres/dbs/demo/amx/18.x create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/.save create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/auszug.x create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/bank.x create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/buchung.x create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/grund.x create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/konto.x create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/kunde.x create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/name.x create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/ort.x create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/str.x create mode 100644 WEGA/contrib/ingres/dbs/demo/bank/vorname.x create mode 100644 WEGA/contrib/ingres/dbs/demo/dbsr/ot.x create mode 100644 WEGA/contrib/ingres/dbs/demo/dbsr/ot_t.x create mode 100644 WEGA/contrib/ingres/dbs/demo/dbsr/ota.x create mode 100644 WEGA/contrib/ingres/dbs/demo/dbsr/otbc.x create mode 100644 WEGA/contrib/ingres/dbs/demo/dbsr/stl.x create mode 100644 WEGA/contrib/ingres/dbs/demo/dbsr/stl1.x create mode 100644 WEGA/contrib/ingres/dbs/demo/dbsr/tot.x create mode 100644 WEGA/contrib/ingres/dbs/demo/dbsr/ut_t.x diff --git a/WEGA/contrib/ingres/dbs/data/base/adr/adr ii b/WEGA/contrib/ingres/dbs/data/base/adr/adr ii new file mode 100644 index 0000000000000000000000000000000000000000..8caae079d2a834a808c0406fe82d3ef114d51446 GIT binary patch literal 24064 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 literal 0 HcmV?d00001 diff --git a/WEGA/contrib/ingres/dbs/data/base/adr/dis.ii b/WEGA/contrib/ingres/dbs/data/base/adr/dis.ii new file mode 100644 index 0000000000000000000000000000000000000000..cc7689ec1eb50f8a05a8897512fcb30e5d400d55 GIT binary patch literal 5120 zcmd^D%WoT78UN=4q#e?pTmT-6ZGnec$i# zeJ4buk^H(lC=~V!g~GAJe3zfCs4<`D2YP4GrlDTLFNp5ZBf4?t_2uPdyteO&C3pRR z3zuFVHT9#HUH!zFabdBLhKEC<_vs7tUbLlF!|~M~3%Od`?P+9XWgz2+y^B{6uf!G>5Ob8*qKhoxr@<1(-euF_+W+IJN~2n zPWzFz)Shb(=x_9MvZ;a`h~87%??xBbhc*vTTZK{AThDBl1^Njvo$-~!?Rn@f^(GgN zjo{yaaH%-q?vgt+8NRqyvn@ExCy@wf0n`;+!l&C^=i6Z#ANhAyb9@V}A6zh0A) z64bY$FzDJ2*ZKlKkV?CNCgQv|W31zsh!F`*I#Yd))$k5_-q(#%5w@`h6=X^=3WbU7 z%%#IftW)57%$*1P%yR8j3aP5c(_B4_f-wph&A=AJ@`)IbZKQ;+y+?$Tca{vW;u|?b>SI> zN=td7pjJPN3YTQoqWw#It$k0MYG0v$(64As-%$A9RAJnS;;oL(tP94)8YJkz+98r4 zV!+6|vY7)`#Ma9LVe^@PVGHROY!O5ie?U7~#fwFC+$>USOQ@~T$i5!Ba{%bsaO890 z&BIk-d#>J{WMqE2agaF*JaEQESdm4XS;9WEpyoG#m)PVU-OTx~QLK#EnH3wm>^xCo zW5qgIcVCy?PwzPBDCl5{eoylBD^{nrE4yPH#u4HHe^Nar#u&-|E`6ADBEvM=Q3sL< zG@f^LSgq0+oTY12Ot9zihNBo}@zmqzTm%w|XZqrq-u7eyd=Wv-?E?k+hM~ocDz=_o z5IAzf%S(m-KeeA|3&nt6(6<%-w{rNKsI$2AGe7Q)JNkf!+_e~*P=d~5dP=()%x0+< zA})o@Nn;98yMDM{h8$W%199bUcg~$u*v;qrWusVlW>kni2fxmpRWjPP?9)LO!!h^f zjQciMtm!flcuT>~VYaDU8&#vMtY&B9tYRc6$(nIH#WkVF=5S(^%!UhxjiEg}dNDq2 z3`Tkf4N9O1f}hOc`siHt0(_Iy;sHIOyICzt<%Tm8pp*hFr=OTBz{7$mAV85LN9u8OFV$joXTWL3+UOkejW|C(Zs=RBINu?S zN_`ZBV!dUkvg2j7b>L=P?;IRnEAocas^-W>MI06Tw*9;%hMfLC)qbsgM>FZ)^n3a~ zwG{q$a{8}U+RT+!_@8XH&zAFeT#uN$haR5{LUl~}MxS5CCk$bz!J6Sn8#aK7uC7&f z7n6EI0lB-_54q)oM(POtrFM}?cj}fBbQCB4+*o#1g7%glFX1TPv8jYe6ssT zZFjZpg7RIJhqFFn3m6~X2r`btURNKX>Cc&yT)#yhqkty7v^?huzA2V0VL?l9dxjq* z+al7xRG@-4Z>!zX!ECOp59$IYlU(e^C1j>yt#?DxIE!+fr2KJdg` zdUe({AJXl7p^636+T$~b`H+Wlh~oMXuS{_Bv^CwbfhgQhl5kD43vZ=p~9-ivKd+eqH5b|KSf z4xWO&cpWbm3fLioGYY+p$D$ge;!d=k0bUwdMrxt~E6`ejmzz&wOD1N$=`f3_Vk7%S zAj>R!1E0<0Mf)$+%T@mAA!(=^GAkAEa^!1_fU#Jo^3~$7r3#(v>QS}`MR0He%SaB{ zqm8u7l|FN>Se&>NgOq4$a0@n*N|gm+`+c-;+o$%huKs+I6#$QX)cSvgf2e(x{!YK7 zfJ!<1lfVDSF`!`9)knRihJr#>eVC^DC`TXFib_KMPVpvU5vlLeBI)n`C1v+6<;+fu l>Y9E3-~SiIct@%z4)_1-qeD&l8c^S-FVmOki+CE|`wUKxI}ZQ= literal 0 HcmV?d00001 diff --git a/WEGA/contrib/ingres/dbs/demo/amx/01.x b/WEGA/contrib/ingres/dbs/demo/amx/01.x new file mode 100644 index 0000000..298c42a --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/01.x @@ -0,0 +1,50 @@ +/* +** Es sollen alle Angaben zu allen Angestellten recherchiert werden. +** +** +** Datenbank `dt' mit dem C-Programm verbinden +*/ +## shared Dt +/* +** Die C-Variable name wird als Austauschvariable zwischen +** dem C-Programm und der Datenbank deklariert +*/ +## char *name; +/* +** Das Hauptprogramm muss `amx' und nicht `main' heissen ! +*/ +amx(argc, argv) +int argc; +char **argv; +{ +/* +** Wenn das Programm mit einem Argument gerufen wird, +** wird das Argument als Bedingung fuer die auszuwaehlende +** Saetze genommen, ansonsten `*', das heisst alle. +*/ + name = (argc == 1)? "*": argv[1]; +/* +** Relation `personal' fuer die Benutzung eroeffnen. +*/ +## open Personal +/* +** Hole alle Saetze aus der Relation `personal', fuer die +** das Feld `name' den Wert der C-Variablen `name' hat. +*/ +## retrieve Personal $Name == name +## { +/* +** Es folgt die Aktion, die fuer jeden entsprechend der +** Bedingung gefunden Satz ausgefuert wird, hier das +** Ausgeben des vollstaendigen Satzes. +*/ + printf("------------\n"); +## print () +## } +/* +** Schliessen der Relation `personal'. +*/ +## close Personal + printf("------------\n"); + fflush(stdout); +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/02.x b/WEGA/contrib/ingres/dbs/demo/amx/02.x new file mode 100644 index 0000000..56d738b --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/02.x @@ -0,0 +1,15 @@ +/* +** Es sollen die Namen aller Angestellten recherchiert werden. +*/ +## shared Dt +## char *name; +amx(argc, argv) +int argc; +char **argv; +{ + name = (argc == 1)? "*": argv[1]; +## open Personal +## retrieve Personal $Name == name { print ($Name) } +## close Personal + fflush(stdout); +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/03.x b/WEGA/contrib/ingres/dbs/demo/amx/03.x new file mode 100644 index 0000000..ee3b3dc --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/03.x @@ -0,0 +1,53 @@ +/* +** Es sollen die Namen aller Angestellten und ihre Leiter recherchiert werden. +** +** Jeder Angestellte besitzt eine Angestelltennummer `num' und einen +** Leiter `leiter'. Die spezielle Leiternummer `0' bedeuted, dass der +** Angestellte keinen Leiter besitzt, ansonsten verweist die Leiternummer +** `leiter' auf einen Angestellten, der diese Nummer als Angestellten- +** nummer `num' hat. +*/ +## shared Dt +## char name[21]; +## i2 leiter; +## char *name_arg; +amx(argc, argv) +int argc; +char **argv; +{ + name_arg = (argc == 1)? "*": argv[1]; +## open Personal +/* +** Das Feld `name' wird fuer jeden entsprechend der Bedingung gefundenen +** Datensatz in die C-Variable `name' geladen, ebenso das Feld `leiter' +** in die C-Variable `leiter'. Anschliessend wird die Aktion ausgefuehrt. +*/ +## retrieve Personal $Name == name_arg (name = $Name, leiter = $Leiter) +## { + printf("Angestellter %-20s ", name); + if (leiter == 0) + { +/* +** Wenn die Leiternummer `0' ist, muss es ein +** Direktor sein und ich finde keinen Leiter +** fuer ihn. +*/ + printf("Direktor\n"); +## nextretrieve + } +/* +** Ich finde den Leiter des gerade gefundenen Angestellten, +** indem ich die Nummer seines Leiters als Bedingung fuer +** eine neue Recherche in der Relation `personal' nehme. +** Gesucht wird der Angestellte der als Nummer die Nummer +** hat, die der gefundene Angestellte als Leiternummer +** hatte. +*/ +## retrieve Personal $Num == $Leiter (name = $Name) +## { + printf("Leiter %s\n", name); +## } +## } +## close Personal + fflush(stdout); +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/04.x b/WEGA/contrib/ingres/dbs/demo/amx/04.x new file mode 100644 index 0000000..957e729 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/04.x @@ -0,0 +1,38 @@ +/* +** Es sollen alle Angestellten und alle ihre Leiter recherchiert werden. +*/ +## shared Dt +## i2 leiter; +## char name[21]; +## char *name_arg; +amx(argc, argv) +int argc; +char **argv; +{ + name_arg = (argc == 1)? "*": argv[1]; +## open Personal +## retrieve Personal $Name == name_arg (name = $Name, leiter = $Leiter) +## { + suche_leiter(); +## } +## close Personal + fflush(stdout); +} +/* +** `suche_leiter' sucht rekursiv nach dem Leiter eines Angestellten, +** bis dieser der Direktor ist, das heisst, der Angestellte als +** Leiternummer eine `0' hat. +*/ +suche_leiter() +{ + printf("%-20s ", name); + if (leiter == 0) + { + putchar('\n'); + return; + } +## retrieve Personal $Num == leiter (name = $Name, leiter = $Leiter) +## { + suche_leiter(); +## } +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/05.x b/WEGA/contrib/ingres/dbs/demo/amx/05.x new file mode 100644 index 0000000..7596c41 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/05.x @@ -0,0 +1,79 @@ +/* +** Es soll die Stellung aller Angestellten bestimmt werden. +** +** Die Stellung kann sein: +** Direktor Der Angestellte hat keinen Leiter. +** Leiter Der Angestellte hat einen Leiter und Unterstellte. +** Angestellter Der Angestellte hat keine Unterstellte. +** +** Gleichzeitig soll die Anzahl der Direktoren, Leiter und +** Angestellten gezaehlt werden. +*/ +## shared Dt +## i2 leiter; +## char name[21]; +## char *name_arg; +amx(argc, argv) +int argc; +char **argv; +{ + register int unterstellte; + register int direktor_zaehler; + register int leiter_zaehler; + register int angestellten_zaehler; + name_arg = (argc == 1)? "*": argv[1]; + direktor_zaehler = leiter_zaehler = angestellten_zaehler = 0; +## open Personal +## retrieve Personal $Name == name_arg (name = $Name, leiter = $Leiter) +## { + printf("%-20s ", name); + if (leiter == 0) + { +/* +** Wir haben einen Direktor gefunden ! +*/ + printf("Direktor\n"); + direktor_zaehler++; +## nextretrieve + } +/* +** Mit der Variable `unterstellte' soll bestimmt werden, +** ob wir den eben gefundenen Angestellten auch als Leiter +** bei einem beliebigen anderen Angestellten finden. +*/ + unterstellte = 0; +## retrieve Personal $Leiter == $Num +## { +/* +** Ein gefundener Unterstellter reicht uns, wir +** brechen die Suche nach weiteren ab ! +*/ + unterstellte++; +## endretrieve +## } + if (unterstellte) + { +/* +** Wir haben Unterstellte gefunden, als muss der +** Angestellte ein Leiter sein, die Direktoren +** haben wir ja schon abgehandelt. +*/ + printf("Leiter\n"); + leiter_zaehler++; + } + else + { +/* +** Die Angestellten bleiben uebrig. +*/ + printf("Angestellter\n"); + angestellten_zaehler++; + } +## } +## close Personal + printf("TOTAL:\t%3d\n", direktor_zaehler + leiter_zaehler + angestellten_zaehler); + printf("\t%3d Direktoren\n", direktor_zaehler); + printf("\t%3d Leiter\n", leiter_zaehler); + printf("\t%3d Angestellte\n", angestellten_zaehler); + fflush(stdout); +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/06.x b/WEGA/contrib/ingres/dbs/demo/amx/06.x new file mode 100644 index 0000000..080d1cd --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/06.x @@ -0,0 +1,48 @@ +/* +** Wir moechten die Betriebsstruktur (Unterstellungsverhaeltnisse) +** recherchieren. +*/ +## shared Dt +## i2 leiter; +## char name[21]; + int niveau; +amx(argc, argv) +int argc; +char **argv; +{ +/* +** Wird kein Argument gegeben, liefert `atoi()' den Wert `0'. +*/ + leiter = atoi(argv[1]); +## open Personal +/* +** Ausgangspunkt der Betriebsstruktur ist der Direktor, also die +** Leiternummer `0'. +*/ +## retrieve Personal $Leiter == leiter (name = $Name, leiter = $Num) +## { + suche_mitarbeiter(); +## } +## close Personal + fflush(stdout); +} +/* +** `suche_mitarbeiter' sucht rekursiv alle Unterstellten eines Angestellten. +*/ +suche_mitarbeiter() +{ + register int i; +/* +** Die C-Variable `niveau' verwaltet die Unterstellungstiefe, +** un optische Einrueckungen vornehmen zu koennen. +*/ + niveau++; + for (i = niveau - 1; i; --i) + putchar('\t'); + printf("%-20s %4d\n", name, leiter); +## retrieve Personal $Leiter == leiter (name = $Name, leiter = $Num) +## { + suche_mitarbeiter(); +## } + --niveau; +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/07.x b/WEGA/contrib/ingres/dbs/demo/amx/07.x new file mode 100644 index 0000000..deba3df --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/07.x @@ -0,0 +1,12 @@ +## shared Dt +## char *farbe; +amx(argc, argv) +int argc; +char **argv; +{ + farbe = (argc == 1)? "grau": argv[1]; +## open Teile +## retrieve Teile $Farbe == farbe { print ($Tname, $Farbe) } +## close Teile + fflush(stdout); +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/08.x b/WEGA/contrib/ingres/dbs/demo/amx/08.x new file mode 100644 index 0000000..c45f610 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/08.x @@ -0,0 +1,18 @@ +## shared Dt +## i2 menge; +## i2 gewicht; +## char *tname; +amx(argc, argv) +int argc; +char **argv; +{ + tname = (argc == 1)? "*": argv[1]; +## open Teile +## retrieve Teile $Tname == tname (menge = $Menge, gewicht = $Gewicht) +## { +## print ($Tname, $Tnum) + printf("%12s:\t%d\n", "tot", menge * gewicht); +## } +## close Teile + fflush(stdout); +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/11.x b/WEGA/contrib/ingres/dbs/demo/amx/11.x new file mode 100644 index 0000000..00d6f7c --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/11.x @@ -0,0 +1,12 @@ +## shared Dt +## i2 lnum; +amx(argc, argv) +int argc; +char **argv; +{ + lnum = (argc == 1)? 122: atoi(argv[1]); +## open Lieferung +## retrieve Lieferung $Lnum == lnum { print ($Tnum) } +## close Lieferung + fflush(stdout); +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/12.x b/WEGA/contrib/ingres/dbs/demo/amx/12.x new file mode 100644 index 0000000..1fff0e9 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/12.x @@ -0,0 +1,19 @@ +## shared +1 Dt +## i2 lnum; +amx(argc, argv) +int argc; +char **argv; +{ + lnum = (argc == 1)? 122: atoi(argv[1]); +## open Teile +## open Lieferung +## use (shared Lieferung, shared Teile) +## retrieve Lieferung $Lnum == lnum +## { +## retrieve Teile $Tnum == $Tnum { print ($Tname) } +## } +## commit +## close Teile +## close Lieferung + fflush(stdout); +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/13.x b/WEGA/contrib/ingres/dbs/demo/amx/13.x new file mode 100644 index 0000000..27ca910 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/13.x @@ -0,0 +1,19 @@ +## shared +1 Dt +## char *tname; +amx(argc, argv) +int argc; +char **argv; +{ + tname = (argc == 1)? "Zentraleinheit": argv[1]; +## open Teile +## open Lieferung +## use (shared Lieferung, shared Teile) +## retrieve Teile $Tname == tname +## { +## retrieve Lieferung $Tnum == $Tnum { print ($Lnum) } +## } +## commit +## close Teile +## close Lieferung + fflush(stdout); +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/14.x b/WEGA/contrib/ingres/dbs/demo/amx/14.x new file mode 100644 index 0000000..c662be8 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/14.x @@ -0,0 +1,24 @@ +## shared Dt +## char *name; +amx(argc, argv) +int argc; +char **argv; +{ + register int c; + name = (argc == 1)? "*": argv[1]; +## open Personal +## use (exclusive Personal) +## retrieve Personal $Name == name +## { +## print () + printf("STREICHEN ?\t"); + fflush(stdout); + if ((c = getchar()) == 'y') +## delete + while (c && c != '\n') + c = getchar(); +## } +## commit +## close Personal + fflush(stdout); +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/15.x b/WEGA/contrib/ingres/dbs/demo/amx/15.x new file mode 100644 index 0000000..6ffcbf8 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/15.x @@ -0,0 +1,13 @@ +## shared Dt +## i2 leiter; +amx(argc, argv) +int argc; +char **argv; +{ + leiter = (argc == 1)? 129: atoi(argv[1]); +## open Personal +## use (exclusive Personal) +## retrieve Personal $Leiter == leiter { print ($Name); delete } +## commit +## close Personal +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/17.x b/WEGA/contrib/ingres/dbs/demo/amx/17.x new file mode 100644 index 0000000..7496f25 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/17.x @@ -0,0 +1,18 @@ +## shared Dt +## char *name; +## i2 num; +## i2 leiter; +amx(argc, argv) +int argc; +char **argv; +{ + name = (argc == 1)? "Unfug, Ulli": argv[1]; + num = (argc < 3)? 12: atoi(argv[2]); + leiter = (argc < 4)? 157: atoi(argv[3]); +## open Personal +## use (exclusive Personal) +## retrieve Personal $Name == name +## { replace ($Num = num, $Leiter = leiter) } +## commit +## close Personal +} diff --git a/WEGA/contrib/ingres/dbs/demo/amx/18.x b/WEGA/contrib/ingres/dbs/demo/amx/18.x new file mode 100644 index 0000000..38780fa --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/amx/18.x @@ -0,0 +1,23 @@ +## shared Dt +## f8 gehalt; +## char *name; +amx(argc, argv) +int argc; +char **argv; +{ + name = (argc == 1)? "*": argv[1]; +/* +** Hier wird ueberprueft, ob der Ausfuehrende des Programms +** auch der Uebersetzende war. +*/ +## permit user +## open Personal +## use (exclusive Personal) +## retrieve Personal $Name == name (gehalt = $Gehalt) +## { + gehalt *= 1.1; +## replace ($Gehalt = gehalt) +## } +## commit +## close Personal +} diff --git a/WEGA/contrib/ingres/dbs/demo/bank/.save b/WEGA/contrib/ingres/dbs/demo/bank/.save new file mode 100644 index 0000000..e69de29 diff --git a/WEGA/contrib/ingres/dbs/demo/bank/auszug.x b/WEGA/contrib/ingres/dbs/demo/bank/auszug.x new file mode 100644 index 0000000..53e000a --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/bank/auszug.x @@ -0,0 +1,154 @@ +## import "menue.x" + +# define MAX_AUSZUG 20 + +struct auszug +{ + long a_datum; + short a_betrag; + short a_no_grund; +}; + +auszug() +{ + char buf[36]; + + while (!input(11, buf)) + pr_kunde(); + konto = atol(buf); + pr_auszug(); +} + + +auszuege() +{ + register int cnt; + + for ( ; ; ) + { + cnt = 0; +## retrieve buchung +## ( +## konto = $konto +## ) +## { + cnt++; + break; +## } + if (!cnt) + return; + pr_auszug(); + } +} + + +pr_auszug() +{ + register struct auszug **ap; + register struct auszug *a; + register int i; + register int j; + struct auszug abuf[MAX_AUSZUG]; + struct auszug *apbuf[MAX_AUSZUG]; + extern int cmpa(); + extern char *ctime(); + + if (get_konto()) + { + error("ungueltige Kontonummer"); + return; + } + get_bank(); + get_kunde(); + get_name(); + get_vorname(); + get_str(); + get_ort(); + cls(1, 1, 25, 80); + on_revers(); + cursor(1, 1); + for (i = 0; i < 80; i++) + putchar(' '); + cursor(2, 1); + for (i = 0; i < 80; i++) + putchar(' '); + cursor(1, 1); + printf("KONTOAUSZUG #%ld# %s %s", konto, bank, ctime(&datum)); + cursor(2, 1); + printf("NEUER SALDO %ld", saldo); + off_revers(); + cursor(3, 1); + on_bold(); + printf("%s, %s aus %s %s, %d", name, vorname, str, ort, plz); + off_bold(); + i = 0; + a = abuf; + ap = apbuf; +## use (+buchung) +## retrieve buchung $konto == konto +## ( +## datum = $datum, +## betrag = $betrag, +## no_grund = $no_grund +## ) +## { + a->a_datum = datum; + a->a_betrag = betrag; + a->a_no_grund = no_grund; + *ap++ = a++; +## delete + if (i++ == MAX_AUSZUG) + break; +## } +## commit + if (!i) + { + error("keine Kontoauszuege vorhanden"); + goto done; + } + qsort(apbuf, i, sizeof (struct auszug *), cmpa); + on_revers(); + cursor(4, 1); + for (j = 0; j < 80; j++) + putchar(' '); + cursor(4, 1); + printf("UMSAETZE %-35s BUCHUNGSDATUM", "BUCHUNGSTEXT"); + off_revers(); + cursor(5, 1); + ap = apbuf; + while (i--) + { + a = *ap++; + no_grund = a->a_no_grund; + get_grund(); + if (!plus) + on_blinking(); + printf("%8d", a->a_betrag); + if (!plus) + off_blinking(); + printf(" %-35s %s", grund, ctime(&a->a_datum)); + a++; + } +done: + if (Batch) + return; + cursor(2, 60); + on_revers(); + on_blinking(); + printf("continue"); + off_blinking(); + off_revers(); + fflush(stdout); + while ((i = getchar()) > 0 && i != '\n') + continue; +} + + +cmpa(a, b) +register struct auszug *a; +register struct auszug *b; +{ + if (a->a_datum == b->a_datum) + return (0); + return (a->a_datum < b->a_datum); +} diff --git a/WEGA/contrib/ingres/dbs/demo/bank/bank.x b/WEGA/contrib/ingres/dbs/demo/bank/bank.x new file mode 100644 index 0000000..d13c66b --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/bank/bank.x @@ -0,0 +1,70 @@ +## import "menue.x" + +pr_bank() +{ + pr_init(); +## retrieve bank +## ( +## bank = $bank +## ) +## { + if (pr_line()) + break; + printf("%s", bank); +## } + pr_end(); +} + + +get_bank() +{ + register int rc; + + rc = 1; +## retrieve bank $no_bank == no_bank +## ( +## no_str = $no_str, +## no_ort = $no_ort, +## bank = $bank +## ) +## { + rc = 0; + break; +## } + return (rc); +} + + +new_bank() +{ + while (!input(10, bank)) + pr_bank(); + no_bank = 0; +## use (+bank) +## retrieve bank $bank == bank +## ( +## no_bank = $no_bank, +## no_str = $no_str, +## no_ort = $no_ort +## ) +## { + break; +## } + if (!no_bank) + { +## tuplecount bank no_bank + no_bank++; +## commit + new_str(); + new_ort(); +## use (+bank) +## append bank +## ( +## $no_bank = no_bank, +## $no_str = no_str, +## $no_ort = no_ort, +## $bank = bank +## ) + } +## commit +} diff --git a/WEGA/contrib/ingres/dbs/demo/bank/buchung.x b/WEGA/contrib/ingres/dbs/demo/bank/buchung.x new file mode 100644 index 0000000..ea45b24 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/bank/buchung.x @@ -0,0 +1,69 @@ +## import "menue.x" + +new_buchung() +{ + register int i; + register long l; + char buf[36]; + extern long atol(); + extern long time(); + + if (Batch) + { +## tuplecount konto konto + konto = l = rand() % konto + 1; + hash_konto(&konto); + i = (rand() % l) * 7; + if (l > i) + { + if (l > 500 || time((char *) 0) & 01) + pr_auszug(); + else + new_konto(); + } + betrag = rand() % 1000 + 1; + on_revers(); + printf("\n%d Konto ", Batch); + off_revers(); + printf("%5ld\n", konto); + printf(" Betrag %5d\n", betrag); + } + else + { + while (!input(11, buf)) + pr_kunde(); + konto = atol(buf); + input(12, buf); + betrag = atoi(buf); + } + new_datum(); + new_grund(); + if (!plus) + betrag = -betrag; +## use (+buchung, +konto) +## retrieve konto $konto == konto +## ( +## saldo = $saldo +## ) +## { + saldo += betrag; +## append buchung +## ( +## $konto = konto, +## $datum = datum, +## $betrag = betrag, +## $no_grund = no_grund +## ) +## replace +## ( +## $saldo = saldo, +## $datum = datum +## ) +## } +## commit + if (Batch && saldo < 0 && Mahnung++ == 10) + { + Mahnung = 0; + mahnung(); + } +} diff --git a/WEGA/contrib/ingres/dbs/demo/bank/grund.x b/WEGA/contrib/ingres/dbs/demo/bank/grund.x new file mode 100644 index 0000000..9556a64 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/bank/grund.x @@ -0,0 +1,79 @@ +## import "menue.x" + +pr_grund() +{ + pr_init(); +## retrieve grund +## ( +## plus = $plus, +## grund = $grund +## ) +## { + if (pr_line()) + break; + printf("%c%s", plus? ' ': '-', grund); +## } + pr_end(); +} + + +get_grund() +{ + register int rc; + + rc = 1; +## retrieve grund $no_grund == no_grund +## ( +## plus = $plus, +## grund = $grund +## ) +## { + rc = 0; + break; +## } + return (rc); +} + + +new_grund() +{ + char buf[36]; + + if (Batch) + { +## tuplecount grund no_grund + no_grund = rand() % no_grund + 1; + get_grund(); + printf(" Grund %c%s\n", plus? ' ': '-', grund); + return; + } + while (!input(8, grund)) + pr_grund(); + no_grund = 0; +## use (+grund) +## retrieve grund $grund == grund +## ( +## no_grund = $no_grund, +## plus = $plus +## ) +## { + break; +## } + if (!no_grund) + { +## tuplecount grund no_grund + no_grund++; +## commit + input(9, buf); + if (plus = atoi(buf)) + plus = 1; +## use (+grund) +## append grund +## ( +## $no_grund = no_grund, +## $plus = plus, +## $grund = grund +## ) + } +## commit +} diff --git a/WEGA/contrib/ingres/dbs/demo/bank/konto.x b/WEGA/contrib/ingres/dbs/demo/bank/konto.x new file mode 100644 index 0000000..e757ad7 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/bank/konto.x @@ -0,0 +1,45 @@ +## import "menue.x" + +get_konto() +{ + register int rc; + + rc = 1; +## retrieve konto $konto == konto +## ( +## konto = $konto, +## saldo = $saldo, +## datum = $datum, +## no_bank = $no_bank +## ) +## { + rc = 0; + break; +## } + return (rc); +} + + +new_konto() +{ + new_kunde(); + if (Batch) + { +## tuplecount bank no_bank + no_bank = rand() % no_bank + 1; + get_bank(); + printf(" Bank %5d %s\n", no_bank, bank); + } + else + new_bank(); + new_datum(); +## use (+konto) +## append konto +## ( +## $konto = konto, +## $saldo = 0, +## $datum = datum, +## $no_bank = no_bank +## ) +## commit +} diff --git a/WEGA/contrib/ingres/dbs/demo/bank/kunde.x b/WEGA/contrib/ingres/dbs/demo/bank/kunde.x new file mode 100644 index 0000000..54191e6 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/bank/kunde.x @@ -0,0 +1,90 @@ +## import "menue.x" + +pr_kunde() +{ + pr_init(); +## retrieve kunde +## ( +## no_name = $no_name, +## no_vorname = $no_vorname, +## konto = $konto +## ) +## { + if (pr_line()) + break; + get_name(); + get_vorname(); + printf("%-12.s %-12.s %ld", name, vorname, konto); +## } + pr_end(); +} + + +get_kunde() +{ + register int rc; + + rc = 1; +## retrieve kunde $konto == konto +## ( +## no_name = $no_name, +## no_vorname = $no_vorname, +## no_str = $no_str, +## no_ort = $no_ort +## ) +## { + rc = 0; + break; +## } + return (rc); +} + + +new_kunde() +{ + if (Batch) + { +## tuplecount name no_name + no_name = rand() % no_name + 1; + get_name(); + on_revers(); + printf("\n%d Name ", Batch); + off_revers(); + printf("%5d %s\n", no_name, name); +## tuplecount vorname no_vorname + no_vorname = rand() % no_vorname + 1; + get_vorname(); + printf(" Vorname %5d %s\n", no_vorname, vorname); +## tuplecount str no_str + no_str = rand() % no_str + 1; + get_str(); + printf(" Strasse %5d %s\n", no_str, str); +## tuplecount ort no_ort + no_ort = rand() % no_ort + 1; + get_ort(); + printf(" PLZ %5d\n", plz); + printf(" Ort %5d %s\n", no_ort, ort); + } + else + { + new_name(); + new_vorname(); + new_str(); + new_ort(); + } +## use (+kunde) +## tuplecount kunde konto + konto++; + hash_konto(&konto); +## append kunde +## ( +## $konto = konto, +## $no_name = no_name, +## $no_vorname = no_vorname, +## $no_str = no_str, +## $no_ort = no_ort +## ) +## commit + if (Batch) + printf(" Konto %5ld\n", konto); +} diff --git a/WEGA/contrib/ingres/dbs/demo/bank/name.x b/WEGA/contrib/ingres/dbs/demo/bank/name.x new file mode 100644 index 0000000..55fb529 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/bank/name.x @@ -0,0 +1,60 @@ +## import "menue.x" + +pr_name() +{ + pr_init(); +## retrieve name +## ( +## name = $name +## ) +## { + if (pr_line()) + break; + printf("%s", name); +## } + pr_end(); +} + + +get_name() +{ + register int rc; + + rc = 1; +## retrieve name $no_name == no_name +## ( +## name = $name +## ) +## { + rc = 0; + break; +## } + return (rc); +} + + +new_name() +{ + while (!input(4, name)) + pr_name(); + no_name = 0; +## use (+name) +## retrieve name $name == name +## ( +## no_name = $no_name +## ) +## { + break; +## } + if (!no_name) + { +## tuplecount name no_name + no_name++; +## append name +## ( +## $no_name = no_name, +## $name = name +## ) + } +## commit +} diff --git a/WEGA/contrib/ingres/dbs/demo/bank/ort.x b/WEGA/contrib/ingres/dbs/demo/bank/ort.x new file mode 100644 index 0000000..0509e68 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/bank/ort.x @@ -0,0 +1,67 @@ +## import "menue.x" + +pr_ort() +{ + pr_init(); +## retrieve ort +## ( +## plz = $plz, +## ort = $ort +## ) +## { + if (pr_line()) + break; + printf("%4d %s", plz, ort); +## } + pr_end(); +} + + +get_ort() +{ + register int rc; + + rc = 1; +## retrieve ort $no_ort == no_ort +## ( +## plz = $plz, +## ort = $ort +## ) +## { + rc = 0; + break; +## } + return (rc); +} + + +new_ort() +{ + char buf[36]; + + while (!input(6, ort)) + pr_ort(); + input(7, buf); + plz = atoi(buf); + no_ort = 0; +## use (+ort) +## retrieve ort $plz == plz and $ort == ort +## ( +## no_ort = $no_ort +## ) +## { + break; +## } + if (!no_ort) + { +## tuplecount ort no_ort + no_ort++; +## append ort +## ( +## $no_ort = no_ort, +## $plz = plz, +## $ort = ort +## ) + } +## commit +} diff --git a/WEGA/contrib/ingres/dbs/demo/bank/str.x b/WEGA/contrib/ingres/dbs/demo/bank/str.x new file mode 100644 index 0000000..8c22422 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/bank/str.x @@ -0,0 +1,60 @@ +## import "menue.x" + +pr_str() +{ + pr_init(); +## retrieve str +## ( +## str = $str +## ) +## { + if (pr_line()) + break; + printf("%s", str); +## } + pr_end(); +} + + +get_str() +{ + register int rc; + + rc = 1; +## retrieve str $no_str == no_str +## ( +## str = $str +## ) +## { + rc = 0; + break; +## } + return (rc); +} + + +new_str() +{ + while (!input(5, str)) + pr_str(); + no_str = 0; +## use (+str) +## retrieve str $str == str +## ( +## no_str = $no_str +## ) +## { + break; +## } + if (!no_str) + { +## tuplecount str no_str + no_str++; +## append str +## ( +## $no_str = no_str, +## $str = str +## ) + } +## commit +} diff --git a/WEGA/contrib/ingres/dbs/demo/bank/vorname.x b/WEGA/contrib/ingres/dbs/demo/bank/vorname.x new file mode 100644 index 0000000..99ac36d --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/bank/vorname.x @@ -0,0 +1,60 @@ +## import "menue.x" + +pr_vorname() +{ + pr_init(); +## retrieve vorname +## ( +## vorname = $vorname +## ) +## { + if (pr_line()) + break; + printf("%s", vorname); +## } + pr_end(); +} + + +get_vorname() +{ + register int rc; + + rc = 1; +## retrieve vorname $no_vorname == no_vorname +## ( +## vorname = $vorname +## ) +## { + rc = 0; + break; +## } + return (rc); +} + + +new_vorname() +{ + while (!input(3, vorname)) + pr_vorname(); + no_vorname = 0; +## use (+vorname) +## retrieve vorname $vorname == vorname +## ( +## no_vorname = $no_vorname +## ) +## { + break; +## } + if (!no_vorname) + { +## tuplecount vorname no_vorname + no_vorname++; +## append vorname +## ( +## $no_vorname = no_vorname, +## $vorname = vorname +## ) + } +## commit +} diff --git a/WEGA/contrib/ingres/dbs/demo/dbsr/ot.x b/WEGA/contrib/ingres/dbs/demo/dbsr/ot.x new file mode 100644 index 0000000..ff2e0db --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/dbsr/ot.x @@ -0,0 +1,44 @@ +## shared Dbsr + + int count; +## char kenn[2]; +## char t[31]; +## i2 m; + +amx() +{ + register int cnt; + long old; + long new; + char buf[BUFSIZ]; + extern long time(); + + setbuf(stdout, buf); + printf("DBS/R-DEMONSTRATIONSBEISPIEL:\n"); + printf("Ermittlung aller Endprodukte\n\n"); + fflush(stdout); + +## open Teile +## open Inf + old = time((char *) 0); +## retrieve Teile (kenn = $Kenn, t = $T, m = $M) +## { + cnt = 0; +## retrieve Inf $Ut == $T +## { + cnt++; + break; +## } + if (cnt) + continue; + printf("%s %s %4d\n", kenn, t, m); + fflush(stdout); + count++; +## } + new = time((char *) 0); + printf("\nEXECUTE %ld sec\n", new - old); + printf("TUPLECOUNT %d\n", count); + fflush(stdout); +## close Inf +## close Teile +} diff --git a/WEGA/contrib/ingres/dbs/demo/dbsr/ot_t.x b/WEGA/contrib/ingres/dbs/demo/dbsr/ot_t.x new file mode 100644 index 0000000..eeec0ba --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/dbsr/ot_t.x @@ -0,0 +1,47 @@ +## shared Dbsr + + int count; +## char ot[14]; + +amx() +{ + register int i; + long old; + long new; + char buf[BUFSIZ]; + extern long time(); + + setbuf(stdout, buf); + printf("DBS/R-DEMONSTRATIONSBEISPIEL:\n"); + printf("Konsistenzcheck Inf.Ot --> Teile.T\n\n"); + fflush(stdout); + +## open Teile +## open Inf + old = time((char *) 0); +## retrieve Inf (ot = $Ot) +## { + count++; + i = 0; +## retrieve Teile $T == $Ot +## { + i++; +## } + if (!i) + { + printf("ot = %s LOST\n", ot); + fflush(stdout); + } + if (i != 1) + { + printf("ot = %s has %d entries\n", ot, i); + fflush(stdout); + } +## } + new = time((char *) 0); + printf("\nEXECUTE %ld sec\n", new - old); + printf("TUPLECOUNT %d\n", count); + fflush(stdout); +## close Inf +## close Teile +} diff --git a/WEGA/contrib/ingres/dbs/demo/dbsr/ota.x b/WEGA/contrib/ingres/dbs/demo/dbsr/ota.x new file mode 100644 index 0000000..e58187e --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/dbsr/ota.x @@ -0,0 +1,43 @@ +## shared Dbsr + + int count; +## char t[31]; +## i2 m; + +amx() +{ + register int cnt; + long old; + long new; + char buf[BUFSIZ]; + extern long time(); + + setbuf(stdout, buf); + printf("DBS/R-DEMONSTRATIONSBEISPIEL:\n"); + printf("Ermittlung aller Endprodukte die Unterteile haben\n\n"); + fflush(stdout); + +## open Teile +## open Inf + old = time((char *) 0); +## retrieve Teile $Kenn == "a" (t = $T, m = $M) +## { + cnt = 0; +## retrieve Inf $Ut == $T +## { + cnt++; + break; +## } + if (cnt) + continue; + printf("%s %4d\n", t, m); + fflush(stdout); + count++; +## } + new = time((char *) 0); + printf("\nEXECUTE %ld sec\n", new - old); + printf("TUPLECOUNT %d\n", count); + fflush(stdout); +## close Inf +## close Teile +} diff --git a/WEGA/contrib/ingres/dbs/demo/dbsr/otbc.x b/WEGA/contrib/ingres/dbs/demo/dbsr/otbc.x new file mode 100644 index 0000000..fd847f7 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/dbsr/otbc.x @@ -0,0 +1,43 @@ +## shared Dbsr + + int count; +## char t[31]; +## i2 m; + +amx() +{ + register int cnt; + long old; + long new; + char buf[BUFSIZ]; + extern long time(); + + setbuf(stdout, buf); + printf("DBS/R-DEMONSTRATIONSBEISPIEL:\n"); + printf("Ermittlung aller Endprodukte die keine Unterteile haben\n\n"); + fflush(stdout); + +## open Teile +## open Inf + old = time((char *) 0); +## retrieve Teile $Kenn != "a" (t = $T, m = $M) +## { + cnt = 0; +## retrieve Inf $Ut == $T +## { + cnt++; + break; +## } + if (cnt) + continue; + printf("%s %4d\n", t, m); + fflush(stdout); + count++; +## } + new = time((char *) 0); + printf("\nEXECUTE %ld sec\n", new - old); + printf("TUPLECOUNT %d\n", count); + fflush(stdout); +## close Inf +## close Teile +} diff --git a/WEGA/contrib/ingres/dbs/demo/dbsr/stl.x b/WEGA/contrib/ingres/dbs/demo/dbsr/stl.x new file mode 100644 index 0000000..e669f1f --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/dbsr/stl.x @@ -0,0 +1,62 @@ +## shared Dbsr + + int count; + int lev; +## char ot[14]; +## char ut[14]; +## char name[31]; +## char me[3]; + +amx() +{ + long old; + long new; + char buf[BUFSIZ]; + extern long time(); + + setbuf(stdout, buf); + printf("DBS/R-DEMONSTRATIONSBEISPIEL:\n"); + printf("Strukturstueckliste\n"); + fflush(stdout); + +## open Teile +## open Inf + old = time((char *) 0); +## retrieve Teile $Kenn == "a" (ot = $T, name = $Name) +## { + lev = 0; + printf("\n*** ALLE STRUKTURLISTEN ***\n"); + printf("\nStueckliste %s %s\n", ot, name); + printf("\n\tAufl.St.\t Gegenst.Nr. Gegenst.Bez. ME\n\n"); + fflush(stdout); + stl_structure(); +## } +## close Inf +## close Teile + new = time((char *) 0); + printf("\nEXECUTE %ld sec\n", new - old); + fflush(stdout); +} + + +stl_structure() +{ + register int i; + + lev++; +## retrieve Inf $Ot == ot (ut = $Ut) +## { +## retrieve Teile $T == ut (name = $Name, me = $Me) +## { + putchar('\t'); + for (i = lev; i; --i) + putchar('.'); + printf("%d\t\t", lev); + printf("%13s %30s %2s\n", ut, name, me); + fflush(stdout); +## } + AAsmove(ut, ot); + stl_structure(); +## } + --lev; +} diff --git a/WEGA/contrib/ingres/dbs/demo/dbsr/stl1.x b/WEGA/contrib/ingres/dbs/demo/dbsr/stl1.x new file mode 100644 index 0000000..2591fc3 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/dbsr/stl1.x @@ -0,0 +1,58 @@ +## shared Dbsr + + int count; + int lev; +## char ot[14]; +## char ut[14]; +## char name[31]; +## char me[3]; + +amx() +{ + long old; + long new; + char buf[BUFSIZ]; + extern long time(); + + setbuf(stdout, buf); + printf("DBS/R-DEMONSTRATIONSBEISPIEL:\n"); + printf("einstufige Strukturstueckliste\n"); + fflush(stdout); + +## open Teile +## open Inf + old = time((char *) 0); +## retrieve Teile $Kenn == "a" (ot = $T, name = $Name) +## { + lev = 0; + printf("\n*** einstufige STRUKTURLISTEN ***\n"); + printf("\nStueckliste %s %s\n", ot, name); + printf("\n\tAufl.St.\t Gegenst.Nr. Gegenst.Bez. ME\n\n"); + fflush(stdout); + stl_structure(); +## } +## close Inf +## close Teile + new = time((char *) 0); + printf("\nEXECUTE %ld sec\n", new - old); +} + +stl_structure() +{ + register int i; + + lev++; +## retrieve Inf $Ot == ot (ut = $Ut) +## { +## retrieve Teile $T == ut (name = $Name, me = $Me) +## { + putchar('\t'); + for (i = lev; i; --i) + putchar('.'); + printf("%d\t\t", lev); + printf("%13s %30s %2s\n", ut, name, me); + fflush(stdout); +## } +## } + --lev; +} diff --git a/WEGA/contrib/ingres/dbs/demo/dbsr/tot.x b/WEGA/contrib/ingres/dbs/demo/dbsr/tot.x new file mode 100644 index 0000000..7c2fb57 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/dbsr/tot.x @@ -0,0 +1,121 @@ +## shared Dbsr + +## int lev; +## char ot[14]; +## char ut[14]; +## char name[31]; +## char me[3]; +## int m; +## int menge; +## int meng; + + int count; + int mengen[20]; + char titname[31]; + char titnr[13]; + +amx() +{ + long old; + long new; + char buf[BUFSIZ]; + extern long time(); + + setbuf(stdout, buf); + printf("DBS/R-DEMONSTRATIONSBEISPIEL:\n"); + printf("Strukturstueckliste fuer das Teil Nr. 10 (20 Stueck)\n"); + fflush(stdout); + +## open Total +## open Teile +## open Inf + old = time((char *) 0); + +## use (exclusive Total, shared Teile, shared Inf) +## retrieve Total { delete } +## retrieve Teile $T == "0000000000010" (ot = $T, name = $Name, me = $Me) +## { + lev = 0; + menge = 20; + mengen[lev] = 20; + printf("\nStueckliste %-s %-s\n", ot, name); + printf("\n\tAufl.St.\t Gegenst.Nr. Gegenst.Bez.\t\t ME Menge\n"); + fflush(stdout); + AAsmove(ot, ut); + AAsmove(ut, titnr); + AAsmove(name, titname); + app(); + AAsmove(ut, ot), + + stl_structure(); +## } + printtot(); +## commit +## close Inf +## close Total +## close Teile + new = time((char *) 0); + printf("\nEXECUTE %ld sec\n", new - old); + fflush(stdout); +} + + +stl_structure() +{ + register int i; + + lev++; +## retrieve Inf $Ot == ot (ut = $Ut, m = $M) +## { + menge = mengen[--lev] * m; + mengen[++lev] = menge; +## retrieve Teile $T == ut (name = $Name, me = $Me) +## { + putchar('\t'); + for (i = lev; i; --i) + putchar('.'); + printf("%d\t\t", lev); + printf("%13s %-30s %-2s %5d\n", ut, name, me, menge); + fflush(stdout); + app(); +## } + AAsmove(ut, ot); + stl_structure(); +## } + --lev; +} + + +app() +{ + register int count; + register int i; + + count = 0; + i++; +## retrieve Total $T == ut (meng = $Menge) +## { + count++; + menge += meng; +## replace ($Menge = menge) +## } + if (!count) +## append Total +## ($Lev = lev, $T = ut, $Name = name, $Menge = menge, $Me = me) +} + + +printtot() +{ + printf("\n\tDBS/R-DEMONSTRATIONSBEISPIEL:\n"); + printf("\tTotale Stueckliste fuer das Teil Nr. 10 (20 Stueck)\n"); + printf("\n\tStueckliste %-s %-s\n", titnr, titname); + printf("\n\t Gegenst.Nr. Gegenst.Bez. ME Menge\n"); + fflush(stdout); +## retrieve Total $T != "0000000000010" +## (ut = $T, name = $Name, menge = $Menge, me = $Me) +## { + printf("\t%13s %-30s %-2s %5d\n", ut, name, me, menge); + fflush(stdout); +## } +} diff --git a/WEGA/contrib/ingres/dbs/demo/dbsr/ut_t.x b/WEGA/contrib/ingres/dbs/demo/dbsr/ut_t.x new file mode 100644 index 0000000..01b4b18 --- /dev/null +++ b/WEGA/contrib/ingres/dbs/demo/dbsr/ut_t.x @@ -0,0 +1,47 @@ +## shared Dbsr + + int count; +## char ut[14]; + +amx() +{ + register int i; + long old; + long new; + char buf[BUFSIZ]; + extern long time(); + + setbuf(stdout, buf); + printf("DBS/R-DEMONSTRATIONSBEISPIEL:\n"); + printf("Konsistenzcheck Inf.Ut --> Teile.T\n\n"); + fflush(stdout); + +## open Teile +## open Inf + old = time((char *) 0); +## retrieve Inf (ut = $Ut) +## { + count++; + i = 0; +## retrieve Teile $T == $Ut +## { + i++; +## } + if (!i) + { + printf("ut = %s LOST\n", ut); + fflush(stdout); + } + if (i != 1) + { + printf("ut = %s has %d entries\n", ut, i); + fflush(stdout); + } +## } + new = time((char *) 0); + printf("\nEXECUTE %ld sec\n", new - old); + printf("TUPLECOUNT %d\n", count); + fflush(stdout); +## close Inf +## close Teile +}