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:test.Stat..084820]
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
<andru..bjectstyle.org> 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
> > <andru..bjectstyle.org> 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 <blacknex..mail.com>
> > > >
> > > 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
> > > > >
> > > >
> > > <andru..bjectstyle.org> 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
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> >
> >
>
>
This archive was generated by hypermail 2.0.0 : Fri Apr 25 2008 - 10:02:33 EDT