Collection Object -- I need to know your needs.

Ruslan Zasukhin sunshine at public.kherson.ua
Tue Aug 1 13:09:29 CDT 2006


On 7/31/06 9:42 PM, "Shaun Wexler" <dev at macfoh.com> wrote:

Hi Shaun,
Hi Philip, 

> FWIW, I am creating an EOF layer in VX for highly-efficient object
> access, without any intervening SQL.

Shaun, I did expect to hear from you on this issues :-)
I hope you have monitor also letters on Valentina list

I have told already that you guys both are moving in the same directions.
I recommend to make discussion all together. We already have NDA with Shaun,
if required may be Philip can enter into NDA with you and Paradigma.

It is good to try do this discussion as public as possible, other guys can
participate. It is pity that Ed Kleban now missing (busy on other
tasks)...very clever man on data structures and algorithm.

If something should be private we can talk on vdevelopers list.
Again, it can be good to make some are in WIKI to write ideas and points
there...WIKI is nice for such things to grow.

Let me know please what you think.


> On Jul 30, 2006, at 11:55 PM, Philip Mötteli wrote:
> 
>> Yes  :-), if I understand that right, this is just one pointer to
>> one object? But I have an undefined number of such pointers. Kind
>> of a BLOB of OIDs.
> 
> A BLOB of OIDs is called a "bag", CFBag, which is an unordered array
> that allows duplicate values (OID's).

> A NSSet is an unordered array of UNIQUE values; no two OID's are the same.

Yes good point. 

> A NSCountedSet is similar to a bag; a ref-counted NSSet.

> CoreFoundation and Foundation  collection classes are toll-free-bridged, and
> use the same abstract  structure for their objects, however they are
> class-clusters and use  various concrete subclasses for their underlying
> implementations; you  ONLY access them thru their abstract base class methods.

> You can store a set of RecID from a single table as a BLOB, using a
> BitSet, but in most cases (especially for small sets), it will cost O
> (n) to lock & walk the existing array for insertion and removal, to
> maintain an actual set manually.

Hmm, I think BitSet is not good for this. Better use ArraySet.
Actually more correct to say:
        array of ulongs.


Shaun, now return to above my text. I see that Valentina still can get few
new features to much better fit into job that you and Philip want to do.

For example, right now, yes you CAN store array of ulongs into BLOB.
But you have no way build index on this ulong values.

As workaround can be store them into TEXT field as coma separated values,
and mark this as IndexByWords...Also assign in Collator - order as numbers.
But this is already looks somehow less efficient.

You see?

So I think you and Philip should try find such issues and push us to add
them into Valentina...

I understand of course that you develop commercial product, and need fast
time, so are forced to use what you have right now...but still I need have
info from you both WHAT IS REQUIRED to make Valentina better.

Tell me your dreams in regard to db engine!


-- 
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]




More information about the Valentina mailing list