Funktionsprinzip Index pdr Konfiguration

pdr Aufruf

pdr akzeptiert Optionen und Argumente.

Hinweis: Optionen können selbst Argumente haben, was nicht verwechselt werden darf.

Optionen werden grundsätzlich durch ein Minuszeichen eingeleitet. Ein zweites Minuszeichen kennzeichnet sog. lange Optionen. Alle verfügbaren Optionen und Argumente können mit pdr -? oder pdr --help aufgelistet werden.

Optionen

-?
den Hilfebildschirm anzeigen

-V
die pdr-Versionsnummer anzeigen

-v
Ausgaben machen, ist diese Option nicht gesetzt, macht pdr nur dann Ausgaben, wenn Fehler aufgetreten sind

-c filename
die Datei filename als Konfigurationsdatei benutzen, diese Option hat Priorität gegenüber der standardmäßig benutzten Konfigurationsdatei ~/.pdrx

-l
die momentan verfügbaren collections auflisten

-a "name,type[,purpose]"
eine collection hinzufügen, das Argument ist eine Zeichenkette, die den Namen, den Typ und ggf. eine verbale Beschreibung oder den Zweck der neuen collection angibt, als Typen kommen in Frage n, r oder t (für numeric, ratio oder text)

-d name
eine collection löschen, als Argument muß der Name übergeben werden

-D
alle collections löschen, die collections * und # werden nicht gelöscht, sie werden nur geleert

-r
alle aktuellen rejections auflisten

-R
alle aktuellen rejections löschen

-e "expr"
die als Argument übergebene Zeichenkette als Ausdruck betrachten und auswerten

-t filename
eine Textdatei einlesen

-C filename
eine CSV-Datei einlesen

-x filename
eine XML-Datei einlesen

-n
keine in der Konfigurationsdatei vorkonfigurierten Datenquellen benutzen, nur die Kommandozeile

-i
die interaktive Betriebsart starten

-X filename
den Inhalt der gesamten Datenbank in eine XML-Datei schreiben, das Format ist kompatible zum Import über -x

Argumente

Alles, was hinter dem Programmnamen pdr auf der Kommandozeile folgt und nicht mit einem Minuszeichen beginnt, wird als Argument gewertet. Alle Argumente werden zu einem einzigen Ausdruck zusammengefügt und gemeinsam abgearbeitet:

$ pdr 5.2 5n 8l -v \; Kommentar bis zum Ende der Zeile

Der resultierende Ausdruck lautet:

5.2 5n 8l ; Kommentar bis zum Ende der Zeile

-v gehört nicht dazu, dies ist eine erkennbare Option von pdr, sie wird nicht mit in den Ausdruck übernommen. Der backslash vor dem Semikolon ist eine Spezialität unter unixartigen Betriebssystemen. Bei solchen wertet die shell ihrerseits oft das Semikolon aus, was uns jedoch als Kommentartrennzeichen dient. Um dies zu verhindern, muß man ihm einen backslash voranstellen. Dieser wird allerdings bereits von der jeweiligen shell entfernt und gelangt gar nicht in die Eingabe von pdr.

Fallbeispiele

Wichtig sind die Optionen zur Handhabung von collections. -l bzw. --list-collections listet zunächst alle vorhandenen collections auf und liefert ein paar statistische Daten:

$ pdr -l
  name   type     table  recs    first                last                purpose
  #      text     C1     160     2008-11-25 18:45:00  2010-01-02 21:55:37 Kommentare
  *      numeric  C0     1636    2008-11-25 05:00:00  2010-01-03 12:10:00 Blutzucker
  h      numeric  C6     1       2009-05-19 16:00:00  2009-05-19 16:00:00 HbA1c
  l      numeric  C3     707     2008-11-25 05:00:00  2010-01-03 06:26:01 Basisinsulin
  m      numeric  C4     612     2009-03-04 05:00:00  2010-01-03 06:26:01 Tabletten
  n      numeric  C2     1275    2008-11-25 05:00:00  2010-01-03 12:10:00 Bolusinsulin
  x      numeric  C5     119     2009-03-22 09:28:09  2010-01-03 10:31:01 Experimentalmessungen

Diese Auflistung zeigt Name und Typ jeder collection, die physische SQL-Tabelle in der Datenbank, die Anzahl der dort befindlichen Zeilen, d.h. Meßwerte sowie den Zeitstempel des ältesten und des jüngsten Eintrags. Am Ende ist die jeweilige Beschreibung der collections zu sehen, sofern eine angegeben wurde.

Mit -a bzw. --add-collection und einem string-Argument läßt sich eine collection hinzugügen:

$ pdr -a "k,n"

$ pdr -l
  name   type     table  recs    first                last                purpose
  #      text     C1     160     2008-11-25 18:45:00  2010-01-02 21:55:37 Kommentare
  *      numeric  C0     1636    2008-11-25 05:00:00  2010-01-03 12:10:00 Blutzucker
  h      numeric  C6     1       2009-05-19 16:00:00  2009-05-19 16:00:00 HbA1c
  k      numeric  C7     0
  l      numeric  C3     707     2008-11-25 05:00:00  2010-01-03 06:26:01 Basisinsulin
  m      numeric  C4     612     2009-03-04 05:00:00  2010-01-03 06:26:01 Tabletten
  n      numeric  C2     1275    2008-11-25 05:00:00  2010-01-03 12:10:00 Bolusinsulin
  x      numeric  C5     119     2009-03-22 09:28:09  2010-01-03 10:31:01 Experimentalmessungen

Das Argument enthält den Namen der neuen collection, ein Komma und dahinter den Typ in Form von n (für numeric), r (für ratio) oder t (für text).

Eine nicht mehr benötigte collection kann mit -d bzw. --delete-collection und dem Namen der collection gelöscht werden:

$ pdr -d k

Sämtliche collections können mit -D bzw. --delete-all-collections gelöscht werden. Die collections * und # bleiben dabei erhalten, werden aber geleert:

$ pdr -D

$ pdr -l
  name   type     table  recs    first                last                purpose
  #      text     C1     0                                                Kommentare
  *      numeric  C0     0                                                Blutzucker

Zwei Optionen dienen der Behandlung von rejections, d.h. zurückgewiesenen Daten, bei denen ein erkennbares Problem vorlag, aufgrunddessen die Daten nicht in die Datenbank übernommen werden konnten. Diese Daten gelangen dann in eine Schattentabelle. pdr liefert beim Auftreten solcher Fehler eine Ausschrift:

at least one expression has been rejected, try -r to list rejections

Mit -r bzw. --list-rejections können diese Daten nachträglich angezeigt werden:

$ pdr -r
  timestamp            expression
  2010-01-03 17:46:20  12.0k                               (Fehler: die collection k existiert nicht)

Wenn tatsächlich ein Schreibfehler vorliegt, kann die Eingabe wiederholt werden. Nach erfolgter Korrektur aller rejections kann die Schattentabelle geleert werden:

$ pdr -R

Die Option -e bzw. --expression erlaubt die Angabe jeweils eines Ausdrucks, der zur Eingabe benutzt wird:

$ pdr   -e "5.2"   -e "2009-12-31 17:28:03 7.9"

Die Option kann mehrfach verwendet werden, was jeweils einen neuen Ausdruck erfordert. Die Ausdrücke bleiben untereinander unabhängig und werden einzeln verarbeitet.

Die Option -n bzw. --none erlaubt das Außerkraftsetzen aller konfigurierten Datenquellen. Dies dient dem Fall, daß der Benutzer in kurzer Zeit mehrfach hintereinander Aufrufe des Programms tätigt, z.B. um Eingaben über die Kommandozeile durchzuführen. Viele mail server melden dann beispielsweise, daß pro Minute nur eine bestimmte Anzahl an Logins durchgeführt werden darf o.ä. Das ständige Herstellen der Verbindung kostet zudem spürbar Laufzeit. Mit -n arbeitet man ganz privat einfach auf der lokalen Datenbank.


Funktionsprinzip Index pdr Konfiguration