2022.12.20 08:36 PM - edited 2022.12.21 12:00 AM
Hi,
\ls /dbs // I get the 4 partitioned values
"2020.08.03"
"2020.08.04"
"2020.08.05"
"2020.08.06"
"sym"
I don't understand what sym represents.
when I type cols trade, I don't see the column sym but I can still run the following statement
select sym from trade where date=2020.08.05
what's the difference between option_id and sym? I see only two 2 differences. Sym contains two more rows containing B and S ?!
sym
-----------------
B
FB20200720C230
FB20200720C240
....
S
2022.12.21 12:42 AM
The sym file contains enumerated symbols for an symbol column in any table.
The reason you can select it is that if q fails to find a column of that name it will try to use a global variable , which sym will be.
q)`:tab/ set .Q.en[`:.] ([] a:1 2 3;b:`a`b`c)
`:tab/
q)tab:get `:tab/
q)tab
a b
---
1 a
2 b
3 c
q)select sym from tab
sym
---
a
b
c
q)sym //sym is in memory
`a`b`c
q)nonsense:`one`two`three
q)select nonsense from tab //nonsense is not a column but a global variable
nonsense
--------
one
two
three
q)delete sym from `. /delete sym from memory
`.
q)tab / now any sym columns show indexes as they cannot resolve their text
a b
---
1 0
2 1
3 2
Review some documentation on enumeration and on disk data:
2022.12.21 12:42 AM
The sym file contains enumerated symbols for an symbol column in any table.
The reason you can select it is that if q fails to find a column of that name it will try to use a global variable , which sym will be.
q)`:tab/ set .Q.en[`:.] ([] a:1 2 3;b:`a`b`c)
`:tab/
q)tab:get `:tab/
q)tab
a b
---
1 a
2 b
3 c
q)select sym from tab
sym
---
a
b
c
q)sym //sym is in memory
`a`b`c
q)nonsense:`one`two`three
q)select nonsense from tab //nonsense is not a column but a global variable
nonsense
--------
one
two
three
q)delete sym from `. /delete sym from memory
`.
q)tab / now any sym columns show indexes as they cannot resolve their text
a b
---
1 0
2 1
3 2
Review some documentation on enumeration and on disk data:
EMEA
Tel: +44 (0)28 3025 2242
AMERICAS
Tel: +1 (212) 447 6700
APAC
Tel: +61 (0)2 9236 5700
KX. All Rights Reserved.
KX and kdb+ are registered trademarks of KX Systems, Inc., a subsidiary of FD Technologies plc.