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 Re: Capstone Project Partitioned table /dbs

  • 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: