You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cayenne.apache.org by Dave Dombrosky <do...@gmail.com> on 2009/09/25 10:46:59 UTC
Changed PK Typecasting?
Trying to use the latest trunk code, I came across some behavior that
has changed. I used to be able to pass DataObjectUtils.objectForPK a
primary key that was a String, and Cayenne would automatically
typecast this to the real PK type (such as String -> Integer). Now it
seems like the typecasting does not occur, causing an exception on the
query with my database.
Was this change intentional? If not, I'll open a bug report with more detail.
-Dave
Re: Changed PK Typecasting?
Posted by Andrus Adamchik <an...@objectstyle.org>.
Hi Dave,
thanks for tracking this down. Now that you've mentioned a specific
commit, it all makes sense to me know. My take on this though is that
it is working correctly now, and was working before purely by
accident. So I guess I'll just add a note to the UPGRADE-NOTES.txt,
but I don't think we should roll back this behavior.
BTW going through my mailbox, I've seen the exact same PG Exception
when trying to bind a String to a boolean parameter back in July 2007.
So we are actually getting more consistent now, with all types working
the same way.
Andrus
On Oct 30, 2009, at 12:40 PM, Dave Dombrosky wrote:
> Andrus,
>
> I finally looked into this, and I found the problem. I opened up
> https://issues.apache.org/jira/browse/CAY-1298 for the bug. It's not
> a major regression, but it could be annoying for users upgrading from
> earlier versions of Cayenne.
>
> -Dave
>
> On Sun, Sep 27, 2009 at 9:34 AM, Andrus Adamchik <andrus@objectstyle.org
> > wrote:
>> I don't recall an intentional change to disable automated type
>> conversion.
>> It was not supported before, so I guess it was purely coincidental
>> that it
>> worked on a particular database with a particular driver.
>>
>> Andrus
>>
>> On Sep 25, 2009, at 11:46 AM, Dave Dombrosky wrote:
>>
>>> Trying to use the latest trunk code, I came across some behavior
>>> that
>>> has changed. I used to be able to pass
>>> DataObjectUtils.objectForPK a
>>> primary key that was a String, and Cayenne would automatically
>>> typecast this to the real PK type (such as String -> Integer).
>>> Now it
>>> seems like the typecasting does not occur, causing an exception on
>>> the
>>> query with my database.
>>>
>>> Was this change intentional? If not, I'll open a bug report with
>>> more
>>> detail.
>>>
>>> -Dave
>>>
>>
>>
>
Re: Changed PK Typecasting?
Posted by Dave Dombrosky <do...@gmail.com>.
Andrus,
I finally looked into this, and I found the problem. I opened up
https://issues.apache.org/jira/browse/CAY-1298 for the bug. It's not
a major regression, but it could be annoying for users upgrading from
earlier versions of Cayenne.
-Dave
On Sun, Sep 27, 2009 at 9:34 AM, Andrus Adamchik <an...@objectstyle.org> wrote:
> I don't recall an intentional change to disable automated type conversion.
> It was not supported before, so I guess it was purely coincidental that it
> worked on a particular database with a particular driver.
>
> Andrus
>
> On Sep 25, 2009, at 11:46 AM, Dave Dombrosky wrote:
>
>> Trying to use the latest trunk code, I came across some behavior that
>> has changed. I used to be able to pass DataObjectUtils.objectForPK a
>> primary key that was a String, and Cayenne would automatically
>> typecast this to the real PK type (such as String -> Integer). Now it
>> seems like the typecasting does not occur, causing an exception on the
>> query with my database.
>>
>> Was this change intentional? If not, I'll open a bug report with more
>> detail.
>>
>> -Dave
>>
>
>
Re: Changed PK Typecasting?
Posted by Andrus Adamchik <an...@objectstyle.org>.
I don't recall an intentional change to disable automated type
conversion. It was not supported before, so I guess it was purely
coincidental that it worked on a particular database with a particular
driver.
Andrus
On Sep 25, 2009, at 11:46 AM, Dave Dombrosky wrote:
> Trying to use the latest trunk code, I came across some behavior that
> has changed. I used to be able to pass DataObjectUtils.objectForPK a
> primary key that was a String, and Cayenne would automatically
> typecast this to the real PK type (such as String -> Integer). Now it
> seems like the typecasting does not occur, causing an exception on the
> query with my database.
>
> Was this change intentional? If not, I'll open a bug report with
> more detail.
>
> -Dave
>