Support for long (64 bit) element id?

34 views
Skip to first unread message

Jack Dunham

unread,
Feb 13, 2013, 7:00:56 PM2/13/13
to cleo-ty...@googlegroups.com
It seems that cleo is built on the premise of a int (32 bit) element-id. In order to support a long element-id, I would need to create a "LongElement" (similar to cleo.search.Element) and make a "Long" version of any of the implementation classes I would need which parameterized with type <E extends Element> (not to mention add classes to Krati).

All of this seems like a lot of effort just to support long element ids (to the point that cleo might be a non-starter) -- but maybe I'm missing something?

Thanks in advance. 

Jingwei

unread,
Feb 19, 2013, 2:01:43 PM2/19/13
to cleo-ty...@googlegroups.com
Hi Jack,

You are right that cleo is built on the premise of an int (32 bit) element-id. This choice is more of implementation rather than design. Internally, integer ids can be partitioned into parallell arrays for fast access. If you have long element ids, I think you can work around by mapping long ids to integer ids for any given partition in any sensible way you can think of. 

Say, you hash long ids into different partitions. Within each partition, you figure out a way to map long ids to integer ids. Then you are all set.

Cheers.

abhishe...@greenclouds.in

unread,
May 6, 2013, 5:35:45 AM5/6/13
to cleo-ty...@googlegroups.com
Why Just Long, I want to store mongoId as Id, and all are unique.
Please implement this part too, that whatever will be the type <T>,
 if it is unique and immutable, use it as element id.

It will solve more real world problems then.

Jingwei

unread,
May 6, 2013, 12:45:17 PM5/6/13
to cleo-ty...@googlegroups.com
It is an open source project. It will be great if you could send a pull request which implements this feature.

Thanks.
Reply all
Reply to author
Forward
0 new messages