如何为KDB +使用char数组创建批量对象

皮埃尔·拉卡夫(Pierre Lacave)

我需要通过C接口将大量的K对象发送到KDB。目前,我所有的字符串都作为符号发送,这并不理想。

我想用标准char数组替换所有符号

对于Symbols,我是这样做的

// table_def:([] name: `symbol$())

K m_data = ktn(0, 1); // 1 column
kK(m_data)[0] = ktn(KS, 100); // 100 rows in bulk

for (unsigned i = 0; i < 100; i++) {
    kS(kK(m_data)[0])[i] = ss("abc");
}

但是不确定如何为char数组创建Bulk结构,这是我尝试的方法。

// table_def:([] name: `char$())

K m_data = ktn(0, 1); // 1 column
kK(m_data)[0] = ktn(KC, 100); // 100 rows in bulk

for (unsigned i = 0; i < 100; i++) {
    kS(kK(m_data)[0])[i] = ss("abc"); // this fail with a `type error
    kC(kK(m_data)[0])[i] = kp("abc"); // this fail because kC expect a char not a char*

任何帮助,将不胜感激

李·肯特

kdb中的字符串列被认为是常规类型(char列表的列表)。

q)type each flip ([]a:string`aa`bb;b:"ab")
a| 0       <-- string column
b| 10      <-- char column

所以你的kdb表定义应该是

// table_def:([] name: ())

您先前的定义期望列值是原子字符(这不是您想要的),因此我相信是“类型错误”。

因此,在C代码中创建K对象时,第一列中的数据类型应为混合类型:

kK(m_data)[0] = ktn(0, 100);

在此处,为每行创建值:

kK(kK(m_data)[0])[i] = kp("abc");

您可以尝试上述方法,看看效果如何吗?目前没有有效的示例:(

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为存储对象的数组创建循环?

来自分类Dev

如何为原型使用对象创建?

来自分类Dev

如何为固定大小的char数组创建类型别名?

来自分类Dev

如何为Numpy数组创建切片对象?

来自分类Dev

如何为数组中创建的对象分配和获取值?

来自分类Dev

如何使用文字创建包含数组的对象

来自分类Dev

如何使用for循环创建对象数组

来自分类Dev

如何使用.map从对象数组创建数组数组?

来自分类Dev

如何在kdb +中批量上传

来自分类Dev

如何使用数组中的嵌套对象创建对象

来自分类Dev

如何使用不同的对象在javascript中创建对象数组?

来自分类Dev

如何使用malloc在NASM程序集中创建新的char数组

来自分类Dev

如何为创建循环

来自分类Dev

如何根据ID或对象数组使用Laravel 4.1执行批量删除?

来自分类Dev

如何为单个对象创建不同的接口?

来自分类Dev

如何为对象的ArrayList创建toString方法?

来自分类Dev

如何为WebView创建包装对象

来自分类Dev

如何为对象集合创建接口?

来自分类Dev

如何为对象创建自动div?

来自分类Dev

如何为更新操作创建表单对象?

来自分类Dev

如何为任何对象创建 JobParameterBuilder?

来自分类Dev

如何为类数组对象分配值?

来自分类Dev

如何为嵌套的对象数组添加验证

来自分类Dev

如何为Mandrill API创建动态数组

来自分类Dev

如何为ProvidedType数组创建类型?

来自分类Dev

如何为矩阵创建结构数组

来自分类Dev

如何为该数组序列创建“ for”循环?

来自分类Dev

如何为参数哈希创建数组

来自分类Dev

如何为SOAP调用创建PHP数组?