I think it should be CapsStrategy.LOWER. 

Andrus

On May 13, 2011, at 6:02 PM, Andrew Willerding wrote:

> I inserted the select.setColumnNamesCapitalization(CapsStrategy.UPPER); into 
> the code and now both MySQL and DB2 return the null data items.
> 
> 
> 
> On 05/13/2011 10:26 AM, Andrew Willerding wrote:
>> I am a very casual but committed user of Cayenne so my knowledge of Cayenne 
>> is not very deep ;-)  I was drawn to its use because I disliked the XML 
>> configurations necessary in other ORM frameworks.  I hope I'm helping and 
>> not hindering it's continued development.
>> 
>> Here's the trace with MySQL.  The columns are definitely lower case in this 
>> situation.  I will try the setColumnNameCapitalization method to see if it 
>> makes the improvement to DB2 without jeopardizing MySQL.
>> 
>> 
>> 
>> 2011-05-13 08:40:53,311 [http-8084-1] INFO  
>> org.apache.cayenne.access.QueryLogger - Select * from SurveyResultDetails 
>> where survey_id = 1 and question in (Select question from SurveyQuestions, 
>> SurveyQuestionTypes where SurveyQuestionTypes.id = 5 and 
>> SurveyQuestions.question_type_id = 5) order by result, survey_dts
>> 2011-05-13 08:40:53,317 [http-8084-1] INFO  
>> org.apache.cayenne.access.QueryLogger - === returned 3 rows. - took 6 ms.
>> 2011-05-13 08:40:53,318 [http-8084-1] INFO  
>> org.apache.cayenne.access.QueryLogger - +++ transaction committed.
>> SurveyResultDetails item=org.apache.cayenne.DataRow@3b1674f0[values={id=50, 
>> result=0, caller_id=5001110410145147, survey_dts=Sun Apr 10 14:53:17 EDT 
>> 2011, rec_msg=101453001, question=12, lang=EN, survey_id=1, note=}, 
>> version=-9223372036854775804, replaces=-9223372036854775808]
>> SurveyResultDetails item=org.apache.cayenne.DataRow@3f5756de[values={id=60, 
>> result=0, caller_id=5001110410151543, survey_dts=Sun Apr 10 15:17:11 EDT 
>> 2011, rec_msg=101517001, question=12, lang=EN, survey_id=1, note=}, 
>> version=-9223372036854775803, replaces=-9223372036854775808]
>> SurveyResultDetails item=org.apache.cayenne.DataRow@7f08294e[values={id=88, 
>> result=0, caller_id=5001110410161501, survey_dts=Sun Apr 10 16:16:46 EDT 
>> 2011, rec_msg=101616001, question=12, lang=EN, survey_id=1, note=}, 
>> version=-9223372036854775802, replaces=-9223372036854775808]
>> 
>> 
>> 
>> 
>> On 05/13/2011 10:14 AM, Andrus Adamchik wrote:
>>> Sorry I may have not made it clear, but the point of this exercise was not 
>>> to produce data rows, but to uncover and debug the differences between 
>>> MySQL and DB2. So could you print out the data rows (like you did below) 
>>> for BOTH databases and check the differences.
>>> 
>>> More specifically I am trying to determine whether you need to use 
>>> 'setColumnNamesCapitalization' per
>>> 
>>> http://cayenne.apache.org/doc30/advanced-sqltemplate.html
>>> 
>>> Andrus
>>> 
>>> 
>>> On May 13, 2011, at 4:21 PM, Andrew Willerding wrote:
>>> 
>>>> That worked to retrieve a DataRow object.  The data is there now.  Is 
>>>> there some way to convert this now into a usable cayenne data object 
>>>> without pulling the columns out of the HashMap one column at a time?  Or 
>>>> is there an underlying bug that is at the root why this is works for MySQL 
>>>> but not for DB2 V7?
>>>> 
>>>> 2011-05-13 08:43:45,595 [http-8080-1] INFO  
>>>> org.apache.cayenne.access.QueryLogge
>>>> r - Select * from SurveyResultDetails where survey_id = 1 and question in 
>>>> (Selec
>>>> t question from SurveyQuestions, SurveyQuestionTypes where 
>>>> SurveyQuestionTypes.i
>>>> d = 5 and SurveyQuestions.question_type_id = 5) order by result, survey_dts
>>>> 2011-05-13 08:43:45,796 [http-8080-1] INFO  
>>>> org.apache.cayenne.access.QueryLogge
>>>> r - === returned 10 rows. - took 201 ms.
>>>> 2011-05-13 08:43:45,796 [http-8080-1] INFO  
>>>> org.apache.cayenne.access.QueryLogge
>>>> r - +++ transaction committed.
>>>> SurveyResultDetails 
>>>> item=org.apache.cayenne.DataRow@1533c8[values={SURVEY_DTS=Su
>>>> n Apr 10 14:53:17 EDT 2011, REC_MSG=101453001, RESULT=0, QUESTION=12, 
>>>> ID=50, NOT
>>>> E=null, CALLER_ID=5001110410145147, LANG=EN, SURVEY_ID=1}, 
>>>> version=-922337203685
>>>> 4775804, replaces=-9223372036854775808]
>>>> SurveyResultDetails 
>>>> item=org.apache.cayenne.DataRow@1faa614[values={SURVEY_DTS=S
>>>> un Apr 10 15:17:11 EDT 2011, REC_MSG=101517001, RESULT=0, QUESTION=12, 
>>>> ID=60, NO
>>>> TE=null, CALLER_ID=5001110410151543, LANG=EN, SURVEY_ID=1}, 
>>>> version=-92233720368
>>>> 54775803, replaces=-9223372036854775808]
>>>> 
>>>> On 05/13/2011 06:48 AM, Andrus Adamchik wrote:
>>>>> I can suggest a test:
>>>>> 
>>>>> select.setFetchingDataRows(true)
>>>>> 
>>>>> and then print and compare the results between 2 DB's.
>>>>> 
>>>>> Andrus
>>>>> 
>>>> 
>> 
>> 
> 
> 
> -- 
> Andrew Willerding
> Callista CTI
> 
> ph: 416 444-9702 x9455
> fx: 416 444-9732
> cell: 416 712-2323
> www: http://www.callistacti.com
> 
> 

Reply via email to