KX Community

Find answers, ask questions, and connect with our KX Community around the world.
KX Community Guidelines

Home Forums KX Academy Capstone Project Partitioned table /dbs

  • Capstone Project Partitioned table /dbs

    Posted by philsing24 on December 21, 2022 at 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

     

    philsing24 replied 6 months, 3 weeks ago 2 Members · 1 Reply
  • 1 Reply
  • rocuinneagain

    Member
    December 21, 2022 at 12:00 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 2
    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:

     

Log in to reply.