Учебники

Q Language — Функции обслуживания

.Q.en — это двоичная функция, которая помогает в развертывании таблицы путем перечисления символьного столбца. Это особенно полезно, когда мы имеем дело с историческими БД (splayed, таблицы разделов и т. Д.).

.Q.en[`:directory;table]

где каталог — это домашний каталог базы данных истории, в которой находится файл sym, а таблица — это таблица для перечисления.

Ручное перечисление таблиц не требуется для сохранения их в виде таблиц с расширением, так как это будет сделано с помощью —

.Q.en[`:directory_where_symbol_file_stored]table_name

.Q.dpft

Функция .Q.dpft помогает в создании секционированных и сегментированных таблиц. Это расширенная форма .Q.en , поскольку она не только отображает таблицу, но и создает таблицу разделов.

В .Q.dpft используются четыре аргумента :

  • символьный дескриптор файла базы данных, в которой мы хотим создать раздел,

  • q значение данных, с которым мы собираемся разбить таблицу,

  • имя поля, с которым будет применен атрибут parted (`p #) (обычно` sym), и

  • имя таблицы.

символьный дескриптор файла базы данных, в которой мы хотим создать раздел,

q значение данных, с которым мы собираемся разбить таблицу,

имя поля, с которым будет применен атрибут parted (`p #) (обычно` sym), и

имя таблицы.

Давайте рассмотрим пример, чтобы увидеть, как это работает —

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

Мы удалили вкладку таблицы из памяти. Давайте теперь загрузим его из БД

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 — это монадическая функция, единственным параметром которой является символьный дескриптор файла корневого каталога. Он создает пустые таблицы в разделе, где это необходимо, путем изучения каждого подкаталога раздела в корневом каталоге.

.Q.chk `:directory

где каталог — домашний каталог исторической базы данных.