egor7
egor7

Reputation: 4940

Table cols definition

There are a bunch of tricks used in kdb+ to work with keyed/splayed/partitioned and simple tables. I see lots of .Q functions which work as a facade for these varieties. One of them is cols. Could you help me please with one of the cases - what the 11h= case stands for?

cols
k){$[
  .Q.qp x:.Q.v x; / If partitioned
  .Q.pf,!+x;      /   add "partitioned field" to table cols
  98h=@x;         / If simple table
  !+x;            /   just table cols (convert to dict of lists, get keys)
  11h=@!x;        / ?
  !x;
  !+0!x           / (keys-dict)!(data-dict): remove keys, get table cols
  ]}

Upvotes: 0

Views: 92

Answers (1)

terrylynch
terrylynch

Reputation: 13657

It's for dictionaries:

q)cols`a`b`c!1 2 3
`a`b`c

Where the type (@) of the key (!) is a list of symbols (11h)

Upvotes: 1

Related Questions