[transfer-dev] No records returned: CF7 and oracle

2011-01-03 Thread pedrobl

Happy new year everyone!

I left last year with a strange problem that probably has an easy
solution which I fail to see. I'm using Coldbox, Coldspring, Transfer
and Oracle 10g. I have stumbled upon a few driver issues, and this
probably has something to do with it.

First, the table: sessions, which just has the following fields:
PersonId (CHAR 32), Token (CHAR 36).

The use case is simple, a user wants to be authenticated and doesn't
remember her password. She accesses a form where she enters her email
address, the system checks that the email exists, generates a token
using CreateUUID(), persists the session object to the database, and
sends an email with a link containing the token just created. The link
takes the user to a page where all the system has to do is search the
database for the token, and generate a user session accordingly...
pretty simple.

Second, transfer.xml:
object name=Session table=USER_SESSIONS
id name=PersonId column=PERSON_ID type=string generate=false /

property name=SessionToken type=string nullable=false
column=TOKEN /
/object

Amazingly, the record is never found. I have tried many transfer
methods, all unsuccessfully, among others:

- readByProperty: SessionToken, and the generated token.
- readByPropertyMap: the map consists of a struct with a
SessionToken key, and the token as its value.
- listByQuery: the query is simple FROM ...Session
WHERE ...Session.SessionToken=:sessionToken
- Change the TOKEN field to varchar2.

The first two return a new object, and the third returns an empty
query. I also cfdump the whole table, to check that the record exists,
and the sql sent to oracle, and all look just fine... as they do in
many other parts of the application. If I run the query generated
directly in SQLDeveloper, it works fine. I have also tried the same
code using postgresql instead of Oracle, and it works!!

Sorry for the long post. What else could I try to debug this? Any
ideas? TIA,

Pedro.

-- 
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

Try out the new Transfer ORM Custom Google Search:
http://www.google.com/cse/home?cx=002375903941309441958:2s7wbd5ocb8

You received this message because you are subscribed to the Google Groups 
transfer-dev group.
To post to this group, send email to transfer-dev@googlegroups.com
To unsubscribe from this group, send email to 
transfer-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/transfer-dev?hl=en


Re: [transfer-dev] No records returned: CF7 and oracle

2011-01-03 Thread Mark Mandel
So in the debug output - when you see the Transfer generated SQL, how many
rows does it return?

Mark

On Tue, Jan 4, 2011 at 2:35 AM, pedrobl pe...@bezunartea.net wrote:


 Happy new year everyone!

 I left last year with a strange problem that probably has an easy
 solution which I fail to see. I'm using Coldbox, Coldspring, Transfer
 and Oracle 10g. I have stumbled upon a few driver issues, and this
 probably has something to do with it.

 First, the table: sessions, which just has the following fields:
 PersonId (CHAR 32), Token (CHAR 36).

 The use case is simple, a user wants to be authenticated and doesn't
 remember her password. She accesses a form where she enters her email
 address, the system checks that the email exists, generates a token
 using CreateUUID(), persists the session object to the database, and
 sends an email with a link containing the token just created. The link
 takes the user to a page where all the system has to do is search the
 database for the token, and generate a user session accordingly...
 pretty simple.

 Second, transfer.xml:
 object name=Session table=USER_SESSIONS
 id name=PersonId column=PERSON_ID type=string generate=false /
 
 property name=SessionToken type=string nullable=false
 column=TOKEN /
 /object

 Amazingly, the record is never found. I have tried many transfer
 methods, all unsuccessfully, among others:

 - readByProperty: SessionToken, and the generated token.
 - readByPropertyMap: the map consists of a struct with a
 SessionToken key, and the token as its value.
 - listByQuery: the query is simple FROM ...Session
 WHERE ...Session.SessionToken=:sessionToken
 - Change the TOKEN field to varchar2.

 The first two return a new object, and the third returns an empty
 query. I also cfdump the whole table, to check that the record exists,
 and the sql sent to oracle, and all look just fine... as they do in
 many other parts of the application. If I run the query generated
 directly in SQLDeveloper, it works fine. I have also tried the same
 code using postgresql instead of Oracle, and it works!!

 Sorry for the long post. What else could I try to debug this? Any
 ideas? TIA,

 Pedro.

 --
 Before posting questions to the group please read:

 http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

 Try out the new Transfer ORM Custom Google Search:
 http://www.google.com/cse/home?cx=002375903941309441958:2s7wbd5ocb8

 You received this message because you are subscribed to the Google Groups
 transfer-dev group.
 To post to this group, send email to transfer-dev@googlegroups.com
 To unsubscribe from this group, send email to
 transfer-dev+unsubscr...@googlegroups.comtransfer-dev%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/transfer-dev?hl=en




-- 
E: mark.man...@gmail.com
T: http://www.twitter.com/neurotic
W: www.compoundtheory.com

cf.Objective(ANZ) - Nov 18, 19 - Melbourne Australia
http://www.cfobjective.com.au

Hands-on ColdFusion ORM Training
www.ColdFusionOrmTraining.com

-- 
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

Try out the new Transfer ORM Custom Google Search:
http://www.google.com/cse/home?cx=002375903941309441958:2s7wbd5ocb8

You received this message because you are subscribed to the Google Groups 
transfer-dev group.
To post to this group, send email to transfer-dev@googlegroups.com
To unsubscribe from this group, send email to 
transfer-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/transfer-dev?hl=en