I just did a simple test using the enum PK in a relationship.  I
inserted, queried, and deleted an object pointing to the reference
table.  All worked fine except one cosmetic glitch:

SELECT t0.state_fk, t0.first_name, t0.last_name, t0.pk FROM test_peeps
t0, test_enums t1 WHERE t0.state_fk = t1.state AND (t1.state = ?)
[bind: 1->state:[EMAIL PROTECTED]

The bind should show the actual enum value.  This is with M3, though.

With the current trunk:

SELECT t0.state_fk, t0.first_name, t0.last_name, t0.pk FROM test_peeps
t0, test_enums t1 WHERE t0.state_fk = t1.state AND (t1.state = ?)
[bind: 1->state:VA=7]

So, the state gets cleaned up in the current build, which is what I
was hoping since I had changed the enum logging code (the 7 is the
ordinal position and the value it would be if mapped to an integer in
the DB).  Switching to the extended enumerations gives:

SELECT t0.state_fk, t0.first_name, t0.last_name, t0.pk FROM test_peeps
t0, test_enums t1 WHERE t0.state_fk = t1.state AND (t1.state = ?)
[bind: 1->state:VIRGINIA='VA']

So ... I'm thinking it is OK.



On Thu, Apr 24, 2008 at 10:19 AM, Andrus Adamchik
<[EMAIL PROTECTED]> wrote:
> That's the thing - I opened that Jira as a note to self without doing
> immediate deeper investigation. So now I don't recall the exact details. :-)
>
>  As for relationships, ideally it should work ... of course ... But since FK
> is not an ObjAttribute, it may get translated incorrectly when a related
> to-one fault ObjectId is instantiated. That would be a bug of course.
>
>  Andrus
>
>
>
>  On Apr 24, 2008, at 5:14 PM, Michael Gentry wrote:
>
>
> > I didn't try doing a relationship using the enum in the join.  Did
> > you?  I can try that, too, but I believe all of the translation code
> > goes through the same routines, so it should work there, too.
> >
> > Thanks,
> >
> > /dev/mrg
> >
> >
> > On Thu, Apr 24, 2008 at 10:11 AM, Andrus Adamchik
> > <[EMAIL PROTECTED]> wrote:
> >
> > > Yeah, your example works in all combinations of M3/trunk and Extended
> enum
> > > vs. Java enum... I guess there was some other thing in my project (that
> I
> > > since remapped as String) that made it blow... I can think of two things
> -
> > > relationships and inheritance. I am pretty sure inheritance wasn't
> involved.
> > > So it was probably an issue similar to this:
> > >
> > > https://issues.apache.org/cayenne/browse/CAY-1034
> > >
> > > I guess we can close CAY-1014 and see if we can improve relationship
> > > validation...
> > >
> > > Andrus
> > >
> > >
> > >
> > >
> > > On Apr 24, 2008, at 4:35 PM, Michael Gentry wrote:
> > >
> > >
> > > > Hmm, I used the ExtendedEnumerations which aren't in M3.  When I
> > > > changed my State class to look like:
> > > >
> > > > public enum State
> > > > {
> > > > AL, AK, AR, AZ, DC, MD, TN, VA;
> > > > }
> > > >
> > > > It still worked with M3.
> > > >
> > > >
> > > > On Thu, Apr 24, 2008 at 9:22 AM, Michael Gentry <[EMAIL PROTECTED]>
> > > >
> > > wrote:
> > >
> > > >
> > > >
> > > > > Sorry, already sent the attachment.  Nothing sensitive in it, though
> > > > > (custom test db/table).
> > > > >
> > > > > Let me see if I have M3 lying around and I'll try it.
> > > > >
> > > > > /dev/mrg
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Thu, Apr 24, 2008 at 9:19 AM, Andrus Adamchik
> > > > >
> > > >
> > > <[EMAIL PROTECTED]> wrote:
> > >
> > > >
> > > > >
> > > > >
> > > > > > Sure, or you can attach it to CAY-1014 if you don't have any
> sensitive
> > > > > >
> > > > >
> > > >
> > > info
> > >
> > > >
> > > > >
> > > > > > in it.
> > > > > >
> > > > > > Wonder if my related fix had any effect on this? Could you try it
> with
> > > > > >
> > > > >
> > > >
> > > M3
> > >
> > > >
> > > > >
> > > > > > if possible?
> > > > > >
> > > > > > Thanks,
> > > > > > Andrus
> > > > > >
> > > > > >
> > > > > >
> > > > > > On Apr 24, 2008, at 4:16 PM, Michael Gentry wrote:
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > > Andrus, I'm going to send you a test I just did via e-mail since
> the
> > > > > > > list doesn't support attachments.  Enums as PKs worked for me.
> What
> > > > > > > issue were you seeing?
> > > > > > >
> > > > > > > Thanks,
> > > > > > >
> > > > > > > /dev/mrg
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> >
> >
>
>

Reply via email to