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
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
bc)
: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
ab
c q)nonsense:one
twothree 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: