Bug 104522 - implement support for compound object keys in versioning
implement support for compound object keys in versioning
Product: Red Hat Web Application Framework
Classification: Retired
Component: other (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: ccm-bugs-list
Jon Orris
Depends On:
  Show dependency treegraph
Reported: 2003-09-16 13:51 EDT by Vadim Nasardinov
Modified: 2007-04-18 12:57 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2005-08-03 14:30:44 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Vadim Nasardinov 2003-09-16 13:51:43 EDT
Versioning does not currently support the versioning of object types
with compound keys:

$ p4 print \
 //core-platform/dev/src/com/arsdigita/versioning/Adapter.java#6 |
 grep -v "edit change" | head -n 203 | tail -n 9

    private static Types getType(Property prop) {
        Assert.exists(prop, Property.class);
        DataType dataType = prop.getType();
        if ( dataType.isSimple() ) {
            return Types.getType((SimpleType) dataType);
        } else {
            throw new Error("not implemented for compound types yet");

In other words, if you have something like this

    object type UserGroupLink {
        Date[1..1] created = join ...

        object key (user, group);

    association {
        UserGroupLink[0..n] groups = join ...

        User[1..1] user = join ...

    association {
        UserGroupLink[0..n] users = join ...

        Group[1..1] group = join ...

and you want to version instances of the UserGroupLink object type,
versioning will throw the error shown above.  This is because the
object key of the UserGroupLink is of type (User, Group). This is not
currently supported.  (Keys of the type (BigInteger, BigInteger) or
some such *are* supported.)

After talking to Rafi last night, I get the impression that Scott has
also run into the need to deal with compound types in much the same
way that versioning has to deal with them.  There may be other ways
for Scott to solve problems he ran into.  However, if we do end up
putting some sort of support for serialization of compound types into
publishing, any such work would probably have to be coordinated with
similar work on versioning.

See also
Comment 1 Vadim Nasardinov 2005-08-03 14:30:44 EDT

Note You need to log in before you can comment on or make changes to this bug.