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
>