On Mon, Oct 28, 2013 at 10:48 PM, Jukka Zitting <[email protected]> wrote:
> Hi,
>
> On Mon, Oct 28, 2013 at 3:12 PM, Tobias Bocanegra <[email protected]> wrote:
>> I don't know anymore where I heard/read this, but I had the
>> assumption, that oak will no longer support properties and child nodes
>> with the same name.
>
> Yes, you're correct. However, we don't really actively enforce this
> limitation and the data structures used by our all our backends
> actually do make it possible for a node and a property to have the
> same name, so it might well be that it's in practice possible to
> create such content structures. The original idea as implemented by
> the older H2 MK was to use just a single JSON-like map for both nodes
> and properties,

FWIW: the so called H2 MK uses separate structures for properties
and child node entries.

the mk exposes a JSON-like data model, hence the shared
'namespace' for properties and child nodes. see [1].

cheers
stefan

[1] http://wiki.apache.org/jackrabbit/RepositoryMicroKernel#Data%20Model

> but that approach is troublesome given the need to
> support flat hierarchies.
>
> I think we should fix that in one way or another: either explicitly
> check for such name collisions at the storage level or alternatively
> revert the earlier decision and allow a property and a child node to
> have the same name.
>
>> If this is no longer supported, we should add it to the list of
>> changes [0] and add it as issue to [1].
>
> Right.
>
>> If the support varies by persistence implementation, we need to
>> propagate this information to the repository descriptor accordingly.
>
> It's probably cleaner if the behavior is the same regardless of the
> storage backend.
>
> BR,
>
> Jukka Zitting

Reply via email to