Sportarten mit sports auflisten

Vorläufige, ungeprüfte automatische Übersetzung. Im Zweifelsfall konsultieren Sie die englische Version, die als Referenzversion gilt.

kent sports listet die verschiedenen Kombinationen aus Sportart und Unterart auf, die eine Datenbank enthält, je eine Zeile, nach Namen sortiert.

Der Befehl liest nur und meldet, was diese Datenbank tatsächlich enthält, nicht jede Sportart, die das Schema darstellen kann. Das Schema kennt Dutzende; eine Datenbank enthält meist ein oder zwei.

Übersicht

kent sports <dbfilename>

Was es anzeigt

$ kent sports mydata.sqlite
Database:  mydata.sqlite

Sport    Sub-sport
Running  Generic

Eine Datenbank mit einer anderen Sportart meldet diese, und die Unterart ist oft die aussagekräftigere Hälfte:

$ kent sports swim.sqlite
Database:  swim.sqlite

Sport     Sub-sport
Swimming  Lap Swimming

Kombinationen, nicht zwei getrennte Listen. Eine Datenbank mit Freiwasser- und Beckenschwimmen führt Swimming zweimal auf, einmal je Unterart, weil erst das Paar sie unterscheidet.

Wozu es dient

Er beantwortet schnell eine Frage: Was steckt in dieser Datenbank? Das rechtfertigt einen eigenen Befehl, denn activities gibt jede Sitzung aus, und eine Datenbank mit 300 Läufen braucht 300 Zeilen, um zu sagen, dass sie Läufe enthält.

Er ist außerdem der ehrliche Weg, eine Datenbank zu prüfen, bevor man einen Bericht dagegen schreibt. Ein Skript, das eine Sportart voraussetzt, kann das zuerst testen.

Eine Datenbank ohne Sportarten

Eine angelegte, aber nie befüllte Datenbank gibt einen schlichten Satz aus und ist erfolgreich:

$ kent createdb mydata.sqlite
$ kent sports mydata.sqlite
Database:  mydata.sqlite

No sports recorded.
$ echo $?
0

Ein nicht vorhandener Pfad wird als fehlend gemeldet und nicht angelegt:

$ kent sports nope.sqlite
kent sports: nope.sqlite does not exist
$ echo $?
1

Eine ältere Datenbank wird abgelehnt

Wie die übrigen lesenden Befehle liest auch dieser bestimmte benannte Spalten; eine ältere Datenbank als erwartet wird deshalb mit einer Erklärung abgelehnt:

$ kent sports old.sqlite
kent sports: this database reports schema version 1, older than the version 2 this build of cordelia expects. Use `kent sqldump` to export it instead
$ echo $?
1

Was es nicht ist

sports zählt nichts. Es sagt nicht, wie viele Aktivitäten je Sportart es gibt oder wann sie stattfanden. Dafür siehe kent activities, das jede Sitzung mit Datum und Sportart auflistet.

Siehe auch