Q Language - Funciones de mantenimiento
.Q.en
.Q.enes una función diádica que ayuda a desplegar una tabla enumerando una columna de símbolo. Es especialmente útil cuando se trata de bases de datos históricas (desplegadas, tablas de particiones, etc.). -
.Q.en[`:directory;table]
dónde directory es el directorio de inicio de la base de datos histórica donde sym file se encuentra y table es la tabla a enumerar.
No se requiere la enumeración manual de tablas para guardarlas como tablas desplegadas, ya que esto se hará mediante:
.Q.en[`:directory_where_symbol_file_stored]table_name
.Q.dpft
los .Q.dpftLa función ayuda a crear tablas particionadas y segmentadas. Es una forma avanzada de.Q.en, ya que no solo muestra la tabla sino que también crea una tabla de particiones.
Hay cuatro argumentos usados en .Q.dpft -
identificador de archivo simbólico de la base de datos donde queremos crear una partición,
q valor de datos con el que vamos a particionar la tabla,
nombre del campo con el cual se aplicará el atributo parted (`p #) (generalmente` sym), y
el nombre de la tabla.
Tomemos un ejemplo para ver cómo funciona:
q)tab:([]sym:5?`msft`hsbc`samsung`ibm;time:5?(09:30:30);price:5?30.25)
q).Q.dpft[`:c:/q/;2014.08.24;`sym;`tab]
`tab
q)delete tab from `
'type
q)delete tab from `/
'type
q)delete tab from .
'type
q)delete tab from `.
`.
q)tab
'tab
Hemos eliminado la tabla tabde la memoria. Vamos a cargarlo ahora desde la base de datos.
q)\l c:/q/2014.08.24/
q)\a
,`tab
q)tab
sym time price
-------------------------------
hsbc 07:38:13 15.64201
hsbc 07:21:05 5.387037
msft 06:16:58 11.88076
msft 08:09:26 12.30159
samsung 04:57:56 15.60838
.Q.chk
.Q.chk es una función monádica cuyo único parámetro es el identificador de archivo simbólico del directorio raíz. Crea tablas vacías en una partición, cuando sea necesario, examinando los subdirectorios de cada partición en la raíz.
.Q.chk `:directory
dónde directory es el directorio de inicio de la base de datos histórica.