pattern search
此函数启动模式搜索,如果成功,则在 obj 参数中返回与模式匹配的第一个对象的句柄。
MCO_RET classname_indexname_pattern_search(
/*IN*/ mco_trans_h trans,
/*IN*/ void *buf,
/*IN*/ uint4 bsize,
/*OUT*/ classname *obj,
/*IN*/ [<type> key1 | const <type> *key1],
[/*IN*/ uint2 sizeof_key1, ],
[/*IN*/[<type> key2 | const <type> *key2],
/*IN*/ uint2 sizeof_key2, …],
/*OUT*/ uint4 *pattern_size
);
参数
trans
mco_trans_h
由 mco_trans_start()
函数返回的事务句柄。
buf
void
由 classname_indexname_pattern_size()
指示大小的缓冲区。
bsize
uint4
由 classname_indexname_pattern_size()
指示的 buf 的大小。
obj
classname
与给定模式匹配的第一个对象的对象句柄。
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
游标已成功定位。
MCO_S_NOTFOUND
搜索值与类的任何对象都不匹配。