NestedTable.

Aug 8, 2013 at 5:19 PM
Is there a good way to determine if key is a NestedTable ?
I've been checking Row<>, but found nothing except GetTable.
Would it be possible to add IsTable property to Row<> object ?
Aug 8, 2013 at 7:53 PM
Edited Aug 8, 2013 at 7:53 PM
The fact is that in one row can be many nested tables. But Nested table root takes 64 bytes and somewhere from the 15th byte there is a static sentense "dbreeze.tiesky.com" .. having it you can find out that current 64 bytes is a root of a table.
Aug 10, 2013 at 2:49 AM
Ok let's say you have a table with random keys. Some of those keys could be nested tables.
How would you do this: loop through each key and print if it key is actually a nested table ?

What do You mean in one row can be many nested tables ? You mean in value part ?
I thought root of nested table is in key part ?
Aug 10, 2013 at 9:42 AM
Edited Aug 10, 2013 at 9:48 AM
Ok let's say you have a table with random keys. Some of those keys could be nested tables.
How would you do this: loop through each key and print if it key is actually a nested table ?
Yes, seems so, DBreeze doesn't register anywhere th fact of NestedTable creation and its place. So you read row's value, if it's 64 bytes or more and if starting from (dont remember exactly) lets's say somewhere from the 15th byte there is dbreeze.tiesky.com, then it's a nested table root
What do You mean in one row can be many nested tables ? You mean in value part ?
I thought root of nested table is in key part ?
When you create nested table, you must assign index. If index is 0 Nested table will be located from the byte[0]-byte[63]... inside of a row. If you say index is 1 then NT will be located from byte[64]-byte[127]....
It can mean that you can have in any row more then one nested tables.

Nested table is only an abstraction on top of the 64 bytes of a LianaTrie root, which we can put as byte[] in any row (starting from the index 0 or multiple 64 - so we can use index technique) and then tell to Dbreeze that there is a nested table.