Expand description
Constructor of simple q table object from a q keyed table object.
Example
#[macro_use]
extern crate kdbplus;
use kdbplus::api::*;
use kdbplus::qtype;
#[no_mangle]
pub extern "C" fn create_table2(_: K) -> K{
// Build keys
let keys=new_list(qtype::SYMBOL_LIST, 2);
let keys_slice=keys.as_mut_slice::<S>();
keys_slice[0]=enumerate(str_to_S!("time"));
keys_slice[1]=enumerate_n(str_to_S!("temperature_and_humidity"), 11);
// Build values
let values=new_list(qtype::COMPOUND_LIST, 2);
let time=new_list(qtype::TIMESTAMP_LIST, 3);
// 2003.10.10D02:24:19.167018272 2006.05.24D06:16:49.419710368 2008.08.12D23:12:24.018691392
time.as_mut_slice::<J>().copy_from_slice(&[119067859167018272_i64, 201766609419710368, 271897944018691392]);
let temperature=new_list(qtype::FLOAT_LIST, 3);
temperature.as_mut_slice::<F>().copy_from_slice(&[22.1_f64, 24.7, 30.5]);
values.as_mut_slice::<K>().copy_from_slice(&[time, temperature]);
flip(new_dictionary(keys, values))
}
#[no_mangle]
pub extern "C" fn create_keyed_table(dummy: K) -> K{
enkey(create_table2(dummy), 1)
}
#[no_mangle]
pub extern "C" fn keyed_to_simple_table(dummy: K) -> K{
unkey(create_keyed_table(dummy))
}
q)unkey: libc_api_examples 2: (`keyed_to_simple_table; 1);
q)unkey[]
time temperature
-----------------------------------------
2003.10.10D02:24:19.167018272 22.1
2006.05.24D06:16:49.419710368 24.7
2008.08.12D23:12:24.018691392 30.5