Mode d'emploi de RdbSelect

Outil de sélection pour fichier de type rdb


Selon son emploi en mode serveur ou non, qu'il permette des sélections uniques ou multiples, le module rdbselect peut avoir différentes apparences. Ainsi ses boutons et menus peuvent apparaître sur une ou plusieurs lignes. Exemples parmis d'autres:
 
 

null
 
 

null




TABLE DES MATIERES

FONCTIONS DE BASE
CRITERES DE SELECTION
CONFIGURATION AVEC FICHIER DE MACROS
TRI
SAUVETAGE
JOURNAL DE BORD
 
 

nullFONCTIONS DE BASE

Rdbselect travaille uniquement avec des fichiers de type RDB.


 

nullnull

 

S'il le choix d'un fichier d'entrée existe, le nom de la base de données doit impérativement être validée par un <Return> dans le champ d'entrée ou par un click sur "Init Data Base" avant la première opération de sélection. Ce choix n'existe pas en mode server (avec l'éditeur de pose EDP par exemple).

Rdbselect travaille sur des fichiers rdb mais aussi sur des 'pipes', on peut ainsi rajouter des commande rdb après le nom du fichier. Le pipe s'écrit selon le standard unix par exemple:

simple.rdb | compute 'code = 10' |

 


La sélection se fait avec le bouton null.

Sans autre spécifications (voir  "critères de sélection" ) rdbselect affiche le contenu entier de la base.

Une fois affichées, les lignes de la base de données peuvent être grisées à l'aide de la souris et envoyées au programme maître à l'aide du bouton null.

Lorsque c'est le programe maître qui propose une sélection. L'utilisateur confirme le choix avec null ou refuse le choix avec null.
 
 

nullCRITERES DE SELECTION

Les critères de sélection se définissent dans la fenêtre ouverte avec "commands->Criteria Selection":

nullnullnull

Dans cet exemple on remarque que les trois colonnes "hic", "dd" et "ad" sont sélectionnées pour l'affichage (voir plus haut). Les deux colonnes "v" et "hd" n'apparaissent pas sur rdbselect (elles peuvent toutefois posséder des critères de sélection).
Dans le cas présent on demande à rdbselect de sélectionner toutes les lignes de la table selon ces conditions:

 (1 <= dd <= 2)  et  (10 <= ad <= 20)

 

Le menu "Operation" permet de choisir le critère de sélection:

null
 Avec:

== strictement égal (numérique)
RegExp égalité selon un texte ou une 'regular expression' (standard awk)
le plus petit ou égal
lt strictement plus petit
ge plus grand ou égal
gt strictement plus grand
a+-b égal 'a' avec une tolérance de +/- "b"
a+-b(0<>24) idem, mais on tient compte d'un modulo 24
a+-b(-90<>+90) idem, mais on tient compte d'un modulo 90 (signé)
a+-b(0<>360) idem, mais on tient compte d'un modulo 360
MinMax inclus ou égal aux limites Min et Max 
None Pas de critères pour cette colonne

nullCONFIGURATION AVEC FICHIER DE MACROS

Rdbselect possède un fenêtre avec une vision "humaine" des sélections, par exemple:
 
 

null

 

On voit dans cet exemple 2 présélections possible écrite d'une manière plus "accessible" à l'utilisateur.
Chaque présélection peut être activée ou desactivée. Dans ce cas la présélection active est sur le 'type spectral' qui est la colonne "typsp".

Dans ce cas la fenêtre des critères a cette apparence:

null

La colonne "type" n'est pas affichée et la colonne "typsp" a un critère de sélection basé sur les 'regular expressions'.

Le fichier de macro est un fichier qui doit avoir le même nom que la base de données, mais avec l'extension ".cfg".

Il permet de définir:

  • les critères pour chaque colonne
  • le texte des présélections et la largeur des champs d'entrée
  • les colonnes à afficher ou non
  • l'ordre des colonne à l'affichage
  • la largeur (en nb de caratères) des colonnes


Pour l'exemple ci-dessus, le fichier macros est celui-ci:

#
# fichier de config pour RDBSelect
#
# Syntaxe:
#
# 
# avec :  séparateur (pas le '$")
#  : nom d'un des fonctions citées ci-dessous
#  : les arguments de cette fonction
#
# Exemple: /display/alpha
#   /undisplay/equi
#
# Fonctions à disposition:
#
# NOM  ARG1 ARG2 ARG3 ARG4 ARG5
# --------------- ------- ------- ------- ------- -------
# macro  colonne test val_A val_B texte
# display  colonne
# undisplay colonne
# undisplay_all
#
# *) macro:
#  pose le test  pour la colonne  avec
#  ses 2 arguments initialisés à  et .
#  La colonne est sélectionnées d'office (voir 'display')
#
#  Les tests à disposition sont:
#   - ==
#   - RegExp
#   - le
#   - lt
#   - ge
#   - gt
#   - a+-b
#   - a+-b (0<>24)
#   - a+-b (-90<>+90)
#   - a+-b (0<>360)
#   - MinMax
#   - None
#
#  Le texte de la macro suit la syntaxe suivante:
#
#  []
#  avec :  séparateur
#   : Texte à afficher
#   : Nb de caractères pour le champ A
#   : Nb de caractères pour le champ B
#
#   Exemple:  #No de code compris entre #8# et #8#
#  Exemples complets:
#
#  /macro/code/MinMax/1/99/#No de code compris entre #8# et #8#
#  /macro/mv/le/7//#Magnitude visuelle < #5#
#
# *) display:
#  Sélectionne la colonne  pour son affichage dans
#  une liste scrollable
#
# *) undisplay:
#  N'affiche pas la colonne 
#
# *) undisplay_all:
#  N'affiche aucune colonnes
#
# Exemple:
#  Dans une table contenant un nombre indéfini de colonnes,
#  on veut tester la magnitude et afficher uniquement
#  les colonnes "alpha", "delta" et "code":
#
# /macro/mv/gt/6//#Magnitude plus grande que #10#
# /undisplay_all
# /display/alpha
# /display/delta
# /display/code
#
/undisplay_all
/display/code
/width/code/10
/display/alphacat
/width/alphacat/8
/display/deltacat
/width/deltacat/9
/display/typesp
/width/typesp/8
/undisplay/type
/order/code/alphacat/deltacat/typsp/type/
/group
/macro/code/RegExp///#selon code: (ex: HD2310) #10#
/group
/macro/typsp/RegExp///#selon type spectral: #10#
 

 

nullTRI

Le résultat de la sélection peut être trié selon le contenu d'une colonne. Le tri est lexique. La colonne se choisit dans la fenêtre ouverte avec "Commands->Sort Selection":

nullnullnull
 
 

nullSAUVETAGE

Le résultat de la sélection peut être sauvé dans un fichier rdb. La totalité des colonnes (celles affichées et non affichées) sont présentes dans le fichier de sortie. Cette opération se choisit dans la fenêtre ouverte avec "Commands->Save Selection":

nullnullnull
 
 

nullJOURNAL DE BORD

Les commandes de sélection ainsi que les autres informations sur le travail que fait rdbselect sont écrites dans une fenêtre de log que l'on ouvre avec "commands->Log window".

nullnullnull
 
 
 

 


 

 

 

null
Comment sont déterminées les largeurs des colonnes?

C'est la plus grande largeur des contenus des 10 premières et 10 dernières lignes ou des 100 premières en cas d'utilisation d'un pipe.

 


Luc Weber, Observatoire de Genève, mai 2003