Listar os esportes com sports

Tradução automática provisória, não revisada. Em caso de dúvida, consulte a versão em inglês, que é a versão de referência.

kent sports lista as combinações distintas de esporte e subesporte que um banco contém, uma linha cada, ordenadas por nome.

É somente leitura e relata o que este banco realmente contém, não todos os esportes que o esquema consegue representar. O esquema descreve dezenas; um banco costuma conter um ou dois.

Sinopse

kent sports <dbfilename>

O que ele mostra

$ kent sports mydata.sqlite
Database:  mydata.sqlite

Sport    Sub-sport
Running  Generic

Um banco de outro esporte relata esse esporte, e o subesporte costuma ser a metade mais informativa:

$ kent sports swim.sqlite
Database:  swim.sqlite

Sport     Sub-sport
Swimming  Lap Swimming

Combinações, não duas listas separadas. Um banco com natação em águas abertas e em piscina lista Swimming duas vezes, uma por subesporte, porque é o par que os distingue.

Para que serve

Responde rápido a uma pergunta: o que há neste banco? Isso justifica um comando próprio, porque activities imprime cada sessão, e um banco com 300 corridas leva 300 linhas para dizer que contém corrida.

É também a forma honesta de conferir um banco antes de escrever um relatório sobre ele. Um script que pressupõe um só esporte pode testar isso primeiro.

Um banco sem esportes

Um banco criado mas nunca importado imprime uma frase simples e termina bem:

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

No sports recorded.
$ echo $?
0

Um caminho inexistente é relatado como ausente e não é criado:

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

Um banco mais antigo é recusado

Como os demais comandos de leitura, este lê colunas específicas pelo nome, então um banco mais antigo do que esta compilação espera é recusado com uma explicação:

$ 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

O que ele não é

sports não conta nada. Não diz quantas atividades cada esporte tem nem quando aconteceram. Para isso, veja kent activities, que lista cada sessão com suas datas e seu esporte.

Veja também