Linguagem Q - Funções de Manutenção

.Q.en

.Q.ené uma função diádica que ajuda a espalhar uma tabela enumerando uma coluna de símbolo. É especialmente útil quando estamos lidando com banco de dados histórico (splayed, tabelas de partição etc.). -

.Q.en[`:directory;table]

Onde directory é o diretório inicial do banco de dados histórico onde sym file está localizado e table é a tabela a ser enumerada.

A enumeração manual das tabelas não é necessária para salvá-las como tabelas distribuídas, pois isso será feito por -

.Q.en[`:directory_where_symbol_file_stored]table_name

.Q.dpft

o .Q.dpftfunção ajuda na criação de tabelas particionadas e segmentadas. É uma forma avançada de.Q.en, já que não apenas distribui a tabela, mas também cria uma tabela de partição.

Existem quatro argumentos usados ​​em .Q.dpft -

  • identificador de arquivo simbólico do banco de dados onde queremos criar uma partição,

  • q valor de dados com o qual vamos particionar a tabela,

  • nome do campo com o qual o atributo parted (`p #) será aplicado (geralmente` sym), e

  • o nome da tabela.

Vamos dar um exemplo para ver como 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

Nós deletamos a tabela tabda memória. Vamos agora carregá-lo do banco de dados

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 é uma função monádica cujo único parâmetro é o identificador de arquivo simbólico do diretório raiz. Ele cria tabelas vazias em uma partição, sempre que necessário, examinando cada subdiretório de partição na raiz.

.Q.chk `:directory

Onde directory é o diretório inicial do banco de dados histórico.