KDB+ Architecture
Q Programming Language
- Q - Message Handler (.Z Library)
- Q - Inter-Process Communication
- Q Language - Queries
- Q Language - Built-in Functions
- Q Language - Functions
- Q Language - Joins
- Q Language - Verb & Adverbs
- Q Language - Table
- Q Language - Dictionaries
- Q Language - Indexing
- Q Language - Lists
- Q Language - Temporal Data
- Q Language - Type Casting
- Q Programming Language
Q Advanced Topics
- Q Language - Maintenance Functions
- Q Language - Tables on Disk
- Q Language - Table Arithmetic
- Q Language - Functional Queries
- Q Language - Attributes
KDB+ Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Q Language - Maintenance Functions
.Q.en
.Q.en is a dyadic function which help in splaying a table by enumerating a symbol column. It is especially useful when we are deapng with historical db (splayed, partition tables etc.). −
.Q.en[`:directory;table]
where directory is the home directory of the historical database where sym file is located and table is the table to be enumerated.
Manual enumeration of tables is not required to save them as splayed tables, as this will be done by −
.Q.en[`:directory_where_symbol_file_stored]table_name
.Q.dpft
The .Q.dpft function helps in creating partitioned and segmented tables. It is advanced form of .Q.en, as it not only splays the table but also creates a partition table.
There are four arguments used in .Q.dpft −
symbopc file handle of the database where we want to create a partition,
q data value with which we are going to partition the table,
name of the field with which parted (`p#) attribute is going to be appped (usually `sym), and
the table name.
Let’s take an example to see how it works −
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
We have deleted the table tab from the memory. Let us now load it from the db
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 is a monadic function whose single parameter is the symbopc file handle of the root directory. It creates empty tables in a partition, wherever necessary, by examining each partition subdirectories in the root.
.Q.chk `:directory
where directory is the home directory of the historical database.
Advertisements