pattern size
在使用模式搜索接口之前,您需要分配一个缓冲区,该缓冲区在 SmartEDB 中用于模式搜索导航期间的状态机。
您将缓冲区传递给 classname_indexname_pattern_search()
和 classname_indexname_pattern_next()
。
在模式搜索结束时,您有责任释放缓冲区内存。请参阅用户指南和 SDK 示例应用程序。
MCO_RET classname_indexname_pattern_size(
/*IN*/ [<type> key1 | const <type> *key1],
[/*IN*/ uint2 sizeof_key1, ]
[/*IN*/[<type> key2 | const <type> *key2],
/*IN*/ uint2 sizeof_key2, …],
/*OUT*/ uint4 *pattern_size
);
参数
key1
<type>
key1
的类型与索引 indexname
中的第一个字段的类型相对应。如果 key1
是字符或字符串类型,则 key1
包含要匹配的通配符(正则表达式)模式,例如 "foo*" 。
sizeof_key1
uint2
如果 key1
是字符或字符串类型,则此参数存在,且为 key1
的字符串长度。对于非字符/字符串类型,此参数不存在。
key2
<type>
key2
的类型与索引 indexname
中的第二个字段的类型相对应。如果 key2
是字符或字符串类型,则 key2
包含要匹配的通配符(正则表达式)模式,例如 "bar*" 。
sizeof_key2
uint2
如果 key2
是字符或字符串类型,则此参数存在,且为 key2
的字符串长度。对于非字符/字符串类型,此参数不存在。
…
索引名称的每个附加元素都由一个参数表示。
pattern_size
uint4
指向一个无符号 4 字节整数的指针,SmartEDB 会将您需要分配的缓冲区大小返回到该整数中。
返回
MCO_S_OK
游标已成功定位。