在sqlite3_create_function_v2中出现步进错误
Step error in sqlite3_create_function_v2
我使用sqlite3_create_function_v2来定义一个ngram函数。
在这种情况下,步骤被用作xFunc指针,它作为一个符号,步骤和xFunc的签名是相同的。
sqlite3_create_function_v2(this->connection, "ngram", 3, SQLITE_ANY, NULL, SqliteExtension::stepExtendNGram, NULL, NULL, NULL);
当我尝试使用步骤作为它编译的步骤,但是当我使用ngram执行命令时,它在prepare语句中失败。
sqlite3_create_function_v2(this->connection, "ngram", 3, SQLITE_ANY, NULL, NULL, SqliteExtension::stepExtendNGram, SqliteExtension::finalExtendNGram, NULL);
SqliteExtension Code,用于测试NGRAM尚未实现
void SqliteExtension::stepExtendNGram(sqlite3_context *ctx, int nArg, sqlite3_value ** val){
//3 PARAMS
std::cout << "P1 " << sqlite3_value_text(val[0]) << " P2 " << sqlite3_value_text(val[1]) << std::endl;
sqlite3_result_int(ctx, atoi((const char*) sqlite3_value_text(val[0])));
}
void SqliteExtension::finalExtendNGram(sqlite3_context *ctx){
}
Sql call select * from tbl_lista where ngram(id, "Asd", 3) > 1
第一个参数是列,第二个是比较各列的文本,第三个是N参数
我"解决"了我的问题。这不是问题,只有步骤/finalize是用于聚合函数,我需要运行所有行以返回finalize上的一个数据。ngram是针对每一行的,所以这种方法不起作用。
相关文章:
- 需要反转音频步进公式
- VSCode 中带有 C/C++ 扩展名的多行注释缩进错误
- Arduino Nano:A4988 使用串行输入时通过定时器进行步进控制不稳定
- 锁定步进pthread互斥
- 在 ODEINT 中通过 if 语句选择步进器
- boost odeint 中的受控误差步进器是否支持复杂的数据类型?
- 创建带有限幅器的步进器控件
- 班上的Arduino步进电动机指针不起作用
- 生成最多给定数字 N 的步进数字
- Boost ODEINT:具有自定义类和向量空间代数的受控步进器
- 我如何仅使用一个Arduino uno才能在同一时间和同一方向上旋转两个步进电动机
- 如何使步进电机运行,直到我按下 Arduino 上的特定键盘按钮
- Arduino Sonar和步进马达
- 这些步进回合是否等效
- 使用C++同步控制多个步进器
- 接口 C++ 以使用 Arduino 控制电机步进器
- 步骤程序?开始、结束、步进整数
- 如何使用ODEINT的标签系统为各种步进器类型做特定工作
- 通过替换模板<类步进器来要求>
- 在sqlite3_create_function_v2中出现步进错误