<HTML>
<HEAD>
<TITLE>Re: Find</TITLE>
</HEAD>
<BODY>
<FONT FACE="Verdana, Helvetica, Arial"><SPAN STYLE='font-size:12.0px'>On 6/11/09 3:13 PM, "Thomas Flemming" <tf@ttqv.com> wrote:<BR>
<BR>
Hi Thomas,<BR>
<BR>
In C++ API we have this ...<BR>
<BR>
BTW, I always was going to ask you.<BR>
if you need speed so much ,,, then C++ is best choice.<BR>
<BR>
<BR>
// -----------------<BR>
// Search Ranges: <BR>
<BR>
/** Returns a result of search in Range {inLeftValue,inRightValue}. */<BR>
virtual BitSet_Ptr FindRange( <BR>
Const_Range_Ptr inRange,<BR>
Const_BitSet_Ptr inSelection = NULL, <BR>
ESearch inSearchPref = kPreferIndexed ) const = 0;<BR>
<BR>
/** Returns a result of search in Range {inLeftValue,inRightValue}<BR>
as ArraySet. Usefull if it is known that we will find not many<BR>
records. */<BR>
virtual ArraySet_Ptr FindRangeAsArraySet( <BR>
Const_Range_Ptr inRange,<BR>
Const_BitSet_Ptr inSelection = NULL,<BR>
ulong ioLimitCount = ulong_max, <BR>
ESearch inSearchPref = kPreferIndexed ) const = 0;<BR>
<BR>
// -----------------<BR>
// OR Searches: <BR>
<BR>
/** Returns a result of search for a given array of values.<BR>
This is very useful for searches of kind<BR>
fld in (v1, v2, v3, v4)<BR>
fld = v1 or fld = v2 or fld = v3 or ...<BR>
@param inValues - array of values. */<BR>
virtual BitSet_Ptr FindValues( <BR>
ArrayOfValues_Ptr inValues = NULL,<BR>
Const_BitSet_Ptr inSelection = NULL, <BR>
ESearch inSearchPref = kPreferIndexed ) const = 0;<BR>
<BR>
/** Returns a result of search for array of Ranges.<BR>
This is useful for queries as <BR>
(f < 0) or (f > 5 and f < 7) or (f > 9). */<BR>
virtual BitSet_Ptr FindRanges( <BR>
ArrayOfRanges_Ptr inRanges,<BR>
Const_BitSet_Ptr inSelection = NULL, <BR>
ESearch inSearchPref = kPreferIndexed ) const = 0;<BR>
<BR>
/** Another special function for OR searches. Should be used in case<BR>
we have MIXED -- values and ranges joined by OR.<BR>
f1 = 5 or f1 = 7 or (f1 > 10 and f1 < 20) */ <BR>
virtual BitSet_Ptr FindValuesAndRanges( <BR>
ArrayOfValues_Ptr inValues,<BR>
ArrayOfRanges_Ptr inRanges,<BR>
Const_BitSet_Ptr inSelection = NULL, <BR>
ESearch inSearchPref = kPreferIndexed ) const = 0;<BR>
<BR>
<BR>
<BR>
<BR>
-- <BR>
Best regards,<BR>
<BR>
Ruslan Zasukhin<BR>
VP Engineering and New Technology<BR>
Paradigma Software, Inc<BR>
<BR>
Valentina - Joining Worlds of Information <BR>
<a href="http://www.paradigmasoft.com">http://www.paradigmasoft.com</a><BR>
<BR>
[I feel the need: the need for speed]<BR>
</SPAN></FONT>
</BODY>
</HTML>