Find

Ruslan Zasukhin sunshine at public.kherson.ua
Thu Jun 11 12:49:26 CDT 2009


On 6/11/09 3:13 PM, "Thomas Flemming" <tf at ttqv.com> wrote:

Hi Thomas,

In C++ API we have this ...

BTW, I always was going to ask you.
    if you need speed so much ,,, then C++ is best choice.


    // -----------------
    // Search Ranges:

                            /** Returns a result of search in Range
{inLeftValue,inRightValue}. */
virtual    BitSet_Ptr            FindRange(
                                Const_Range_Ptr     inRange,
                                Const_BitSet_Ptr     inSelection = NULL,
                                ESearch                inSearchPref =
kPreferIndexed  ) const = 0;
    
                            /** Returns a result of search in Range
{inLeftValue,inRightValue}
                                 as ArraySet. Usefull if it is known that we
will find not many
                                 records. */
virtual    ArraySet_Ptr        FindRangeAsArraySet(
                                Const_Range_Ptr     inRange,
                                Const_BitSet_Ptr     inSelection = NULL,
                                ulong                ioLimitCount =
ulong_max, 
                                ESearch                inSearchPref =
kPreferIndexed  ) const = 0;
                   
    // -----------------
    // OR Searches:

                            /** Returns a result of search for a given array
of values.
                                This is very useful for searches of kind
                                        fld in (v1, v2, v3, v4)
                                        fld = v1 or fld = v2 or fld = v3 or
...
                                @param inValues - array of values. */
virtual BitSet_Ptr            FindValues(
                                ArrayOfValues_Ptr     inValues = NULL,
                                Const_BitSet_Ptr     inSelection = NULL,
                                ESearch                inSearchPref =
kPreferIndexed  ) const = 0;

                            /** Returns a result of search for array of
Ranges.
                                This is useful for queries as
                                    (f < 0) or (f > 5 and f < 7) or (f > 9).
*/
virtual    BitSet_Ptr            FindRanges(
                                ArrayOfRanges_Ptr     inRanges,
                                Const_BitSet_Ptr     inSelection = NULL,
                                ESearch                inSearchPref =
kPreferIndexed  ) const = 0;

                            /** Another special function for OR searches.
Should be used in case
                                we have MIXED -- values and ranges joined by
OR.
                                    f1 = 5 or f1 = 7 or (f1 > 10 and f1 <
20) */ 
virtual    BitSet_Ptr            FindValuesAndRanges(
                                ArrayOfValues_Ptr     inValues,
                                ArrayOfRanges_Ptr     inRanges,
                                Const_BitSet_Ptr     inSelection = NULL,
                                ESearch                inSearchPref =
kPreferIndexed  ) const = 0;




-- 
Best regards,

Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc

Valentina - Joining Worlds of Information
http://www.paradigmasoft.com

[I feel the need: the need for speed]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macserve.net/pipermail/valentina/attachments/20090611/fb336f3c/attachment.html 


More information about the Valentina mailing list