[ 
https://issues.apache.org/jira/browse/OPENJPA-1585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12848152#action_12848152
 ] 

Pinaki Poddar commented on OPENJPA-1585:
----------------------------------------

1. How about adding these useful trace statements to SQL=TRACE level itself 
instead of having an extra channel.
2. The trace messages use non-localized hard coded Strings. Generally that is 
not done for other parts of the code base.

> Additional trace to relate SQL pushdowns with entity action or JPQL query
> -------------------------------------------------------------------------
>
>                 Key: OPENJPA-1585
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1585
>             Project: OpenJPA
>          Issue Type: Improvement
>    Affects Versions: 2.0.0
>            Reporter: Catalina Wei
>            Assignee: Catalina Wei
>            Priority: Trivial
>             Fix For: 2.0.0
>
>         Attachments: OPENJPA-1585.patch
>
>
> Additional trace can help users understand and relate query or entity actions 
> with SQL pushdowns:
> 1.  why SQL pushdown has JOINs that are generated, a trace dumping out eager 
> relations for the generated SQL is very helpful.
> 2. a JPQL or a simple em.find() generated caused more than one SQL requests.
> 3. entity instance actions (INSERT, UPDATE, DELETE) generated SQL
> Examples:
> 1. JOIN is generated because of the eager relation 'entitya':
> 4891  p1  TRACE  [main] openjpa.Query - Executing query: select s from 
> CascadeB s
> 4906  p1  TRACE  [main] openjpa.jdbc.Extra - Eager relations: 
> [test.entities.CascadeB.entitya]
> 5141  p1  TRACE  [main] openjpa.jdbc.SQL - <t 26882784, conn 9493> executing 
> prepstmnt 25862088 SELECT t0.id, t1.id, t1.name, t0.name FROM CascadeB t0 
> LEFT OUTER JOIN CascadeA t1 ON t0.ENTITYA_ID = t1.id 
> 2. flush for new instance of entity action:
> 7250  p1  TRACE  [main] openjpa.jdbc.Extra - flush: 
> org.apache.openjpa.kernel.PNewState for oid=1
> 7250  p1  TRACE  [main] openjpa.jdbc.SQL -: INSERT INTO BasicA (age,id,name) 
> VALUES (?,?,?) [1,1,name1]
> 2: loading relation 'entitya':
> 7734  p1  TRACE  [main] openjpa.jdbc.Extra - load field: 'entitya' for oid=1 
> class test.entities.BasicB
> 7734  p1  TRACE  [main] openjpa.jdbc.Extra - find: oid=1 class 
> test.entities.BasicA
> 7734  p1  TRACE  [main] openjpa.jdbc.Extra - getInitializeStateResult: oid=1 
> class test.entities.BasicA
> 7969  pdq1  TRACE  [main] openjpa.jdbc.SQL - <t 26882784, conn 3125250> 
> executing prepstmnt 28008463 SELECT t0.name FROM BasicA t0 WHERE t0.id = ?  
> optimize for 1 row [params=(int) 1]

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to