You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kathey Marsden (JIRA)" <ji...@apache.org> on 2007/05/03 23:36:15 UTC

[jira] Created: (DERBY-2606) Derby should print the parameters to failed statements to the derby.log when it logs the error

Derby should print the parameters to failed statements to the derby.log when it logs the error 
-----------------------------------------------------------------------------------------------

                 Key: DERBY-2606
                 URL: https://issues.apache.org/jira/browse/DERBY-2606
             Project: Derby
          Issue Type: Improvement
          Components: Services
    Affects Versions: 10.3.0.0
            Reporter: Kathey Marsden
         Assigned To: Kathey Marsden
            Priority: Minor


It would be good if when derby dumped an error to derby.log it printed the parameters for the failed statement.  Currently the default behaviour is that only the statement text will print.  Users have to set  derby.language.logStatementText=true if they want to see the parameters.  It would be useful if any errors included the parameters as well as the statement text.

To reproduce 

put derby.stream.error.logSeverityLevel=0 in your derby.properties and run this script:

 connect 'jdbc:derby:wombat;create=true';
create table t (i int);
prepare p as 'insert into t values(?)';

 execute p using 'values(1)';
execute p using 'values(10000000000000000000000000000000000000000000)';

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


[jira] Updated: (DERBY-2606) Derby should print the parameters to failed statements to the derby.log when it logs the error

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-2606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden updated DERBY-2606:
----------------------------------

    Attachment: DERBY_2606_diff.txt

attaching a patch to print parameter info to derby.log with error reporting.  I agree with Mike that there is already exposure for encrypted databases when the data is part of the statement, so I think that it should be ok to go ahead and commit this patch.   Please let me know if you have objections.  Otherwise I will commit this afternoon.  I did not add a test case because it is a little awkward to parse the log file.  If someone thinks I should add one, please let me know that too.

> Derby should print the parameters to failed statements to the derby.log when it logs the error 
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2606
>                 URL: https://issues.apache.org/jira/browse/DERBY-2606
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions: 10.3.0.0
>            Reporter: Kathey Marsden
>         Assigned To: Kathey Marsden
>            Priority: Minor
>         Attachments: d2602.java, DERBY_2606_diff.txt, DERBY_2606_stat.txt
>
>
> It would be good if when derby dumped an error to derby.log it printed the parameters for the failed statement.  Currently the default behaviour is that only the statement text will print.  Users have to set  derby.language.logStatementText=true if they want to see the parameters.  It would be useful if any errors included the parameters as well as the statement text.
> To reproduce 
> put derby.stream.error.logSeverityLevel=0 in your derby.properties and run this script:
>  connect 'jdbc:derby:wombat;create=true';
> create table t (i int);
> prepare p as 'insert into t values(?)';
>  execute p using 'values(1)';
> execute p using 'values(10000000000000000000000000000000000000000000)';

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


[jira] Updated: (DERBY-2606) Derby should print the parameters to failed statements to the derby.log when it logs the error

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-2606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden updated DERBY-2606:
----------------------------------

    Attachment: DERBY_2606_stat.txt

> Derby should print the parameters to failed statements to the derby.log when it logs the error 
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2606
>                 URL: https://issues.apache.org/jira/browse/DERBY-2606
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions: 10.3.0.0
>            Reporter: Kathey Marsden
>         Assigned To: Kathey Marsden
>            Priority: Minor
>         Attachments: d2602.java, DERBY_2606_diff.txt, DERBY_2606_stat.txt
>
>
> It would be good if when derby dumped an error to derby.log it printed the parameters for the failed statement.  Currently the default behaviour is that only the statement text will print.  Users have to set  derby.language.logStatementText=true if they want to see the parameters.  It would be useful if any errors included the parameters as well as the statement text.
> To reproduce 
> put derby.stream.error.logSeverityLevel=0 in your derby.properties and run this script:
>  connect 'jdbc:derby:wombat;create=true';
> create table t (i int);
> prepare p as 'insert into t values(?)';
>  execute p using 'values(1)';
> execute p using 'values(10000000000000000000000000000000000000000000)';

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


[jira] Updated: (DERBY-2606) Derby should print the parameters to failed statements to the derby.log when it logs the error

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-2606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden updated DERBY-2606:
----------------------------------

    Attachment: d2602.java

Attaching a better java reproduction for this issue.


> Derby should print the parameters to failed statements to the derby.log when it logs the error 
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2606
>                 URL: https://issues.apache.org/jira/browse/DERBY-2606
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions: 10.3.0.0
>            Reporter: Kathey Marsden
>         Assigned To: Kathey Marsden
>            Priority: Minor
>         Attachments: d2602.java
>
>
> It would be good if when derby dumped an error to derby.log it printed the parameters for the failed statement.  Currently the default behaviour is that only the statement text will print.  Users have to set  derby.language.logStatementText=true if they want to see the parameters.  It would be useful if any errors included the parameters as well as the statement text.
> To reproduce 
> put derby.stream.error.logSeverityLevel=0 in your derby.properties and run this script:
>  connect 'jdbc:derby:wombat;create=true';
> create table t (i int);
> prepare p as 'insert into t values(?)';
>  execute p using 'values(1)';
> execute p using 'values(10000000000000000000000000000000000000000000)';

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


[jira] Commented: (DERBY-2606) Derby should print the parameters to failed statements to the derby.log when it logs the error

Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-2606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12493776 ] 

Kristian Waagan commented on DERBY-2606:
----------------------------------------

The patch is very simple, and the change also seems like a very useful one to me.

+1 to commit

> Derby should print the parameters to failed statements to the derby.log when it logs the error 
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2606
>                 URL: https://issues.apache.org/jira/browse/DERBY-2606
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions: 10.3.0.0
>            Reporter: Kathey Marsden
>         Assigned To: Kathey Marsden
>            Priority: Minor
>         Attachments: d2602.java, DERBY_2606_diff.txt, DERBY_2606_stat.txt
>
>
> It would be good if when derby dumped an error to derby.log it printed the parameters for the failed statement.  Currently the default behaviour is that only the statement text will print.  Users have to set  derby.language.logStatementText=true if they want to see the parameters.  It would be useful if any errors included the parameters as well as the statement text.
> To reproduce 
> put derby.stream.error.logSeverityLevel=0 in your derby.properties and run this script:
>  connect 'jdbc:derby:wombat;create=true';
> create table t (i int);
> prepare p as 'insert into t values(?)';
>  execute p using 'values(1)';
> execute p using 'values(10000000000000000000000000000000000000000000)';

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


[jira] Resolved: (DERBY-2606) Derby should print the parameters to failed statements to the derby.log when it logs the error

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-2606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden resolved DERBY-2606.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 10.3.0.0
                   10.2.2.1
                   10.1.3.2

committed to trunk, 10.1 and 10.2


> Derby should print the parameters to failed statements to the derby.log when it logs the error 
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2606
>                 URL: https://issues.apache.org/jira/browse/DERBY-2606
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions: 10.3.0.0
>            Reporter: Kathey Marsden
>         Assigned To: Kathey Marsden
>            Priority: Minor
>             Fix For: 10.1.3.2, 10.2.2.1, 10.3.0.0
>
>         Attachments: d2602.java, DERBY_2606_diff.txt, DERBY_2606_stat.txt
>
>
> It would be good if when derby dumped an error to derby.log it printed the parameters for the failed statement.  Currently the default behaviour is that only the statement text will print.  Users have to set  derby.language.logStatementText=true if they want to see the parameters.  It would be useful if any errors included the parameters as well as the statement text.
> To reproduce 
> put derby.stream.error.logSeverityLevel=0 in your derby.properties and run this script:
>  connect 'jdbc:derby:wombat;create=true';
> create table t (i int);
> prepare p as 'insert into t values(?)';
>  execute p using 'values(1)';
> execute p using 'values(10000000000000000000000000000000000000000000)';

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


[jira] Updated: (DERBY-2606) Derby should print the parameters to failed statements to the derby.log when it logs the error

Posted by "Mike Matrigali (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-2606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mike Matrigali updated DERBY-2606:
----------------------------------


I would like to see this change for as much default behavior as possible.  I find trying to support cases I often get  a database or derby.log and  need to help the user from the data there.  Having the parameters can help me help the user a lot.  For instance in a recent case posted the user is getting the following error in derby.log:

Database Class Loader started - derby.database.classpath=''
2007-05-02 17:41:59.626 GMT Thread [DefaultQuartzScheduler_Worker-1,5,main] (XID = 28872), (SESSIONID =  0), (DATABASE = /opt/jcr/repository/workspaces/default/db), (DRDAID =  null), Cleanup action starting
2007-05-02 17:41:59.626 GMT Thread [DefaultQuartzScheduler_Worker-1,5,main] (XID = 28872), (SESSIONID =  0), (DATABASE = /opt/jcr/repository/workspaces/default/db), (DRDAID =  null), Failed Statement is: select NODE_DATA from DEFAULT_NODE where  NODE_ID = ? 

What I would like to say  to the user is to make a copy of the db, and run this exact query to determine if the error is 
persistent or runtime, but without the parameter there is no way to know which row is the problem.  I am not even sure
if check table will find this kind of error. 

Also note that if params were not being used then the data would have shown up in the log, so if we are concerned about 
data showing up in derby.log then I believe there is an existing problem.  I think that if derby is allowed to print statements it should print the params also.  Maybe we need some other option whether it is allowed to print statements at all.  

> Derby should print the parameters to failed statements to the derby.log when it logs the error 
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2606
>                 URL: https://issues.apache.org/jira/browse/DERBY-2606
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions: 10.3.0.0
>            Reporter: Kathey Marsden
>         Assigned To: Kathey Marsden
>            Priority: Minor
>
> It would be good if when derby dumped an error to derby.log it printed the parameters for the failed statement.  Currently the default behaviour is that only the statement text will print.  Users have to set  derby.language.logStatementText=true if they want to see the parameters.  It would be useful if any errors included the parameters as well as the statement text.
> To reproduce 
> put derby.stream.error.logSeverityLevel=0 in your derby.properties and run this script:
>  connect 'jdbc:derby:wombat;create=true';
> create table t (i int);
> prepare p as 'insert into t values(?)';
>  execute p using 'values(1)';
> execute p using 'values(10000000000000000000000000000000000000000000)';

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


[jira] Commented: (DERBY-2606) Derby should print the parameters to failed statements to the derby.log when it logs the error

Posted by "Daniel John Debrunner (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/DERBY-2606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12493534 ] 

Daniel John Debrunner commented on DERBY-2606:
----------------------------------------------

For encrypted databases this would be an issue because the error log is not encrypted, so having user values appear in the log in clear could be undesirable.

> Derby should print the parameters to failed statements to the derby.log when it logs the error 
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2606
>                 URL: https://issues.apache.org/jira/browse/DERBY-2606
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions: 10.3.0.0
>            Reporter: Kathey Marsden
>         Assigned To: Kathey Marsden
>            Priority: Minor
>
> It would be good if when derby dumped an error to derby.log it printed the parameters for the failed statement.  Currently the default behaviour is that only the statement text will print.  Users have to set  derby.language.logStatementText=true if they want to see the parameters.  It would be useful if any errors included the parameters as well as the statement text.
> To reproduce 
> put derby.stream.error.logSeverityLevel=0 in your derby.properties and run this script:
>  connect 'jdbc:derby:wombat;create=true';
> create table t (i int);
> prepare p as 'insert into t values(?)';
>  execute p using 'values(1)';
> execute p using 'values(10000000000000000000000000000000000000000000)';

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


[jira] Closed: (DERBY-2606) Derby should print the parameters to failed statements to the derby.log when it logs the error

Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/DERBY-2606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kathey Marsden closed DERBY-2606.
---------------------------------


> Derby should print the parameters to failed statements to the derby.log when it logs the error 
> -----------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2606
>                 URL: https://issues.apache.org/jira/browse/DERBY-2606
>             Project: Derby
>          Issue Type: Improvement
>          Components: Services
>    Affects Versions: 10.3.0.0
>            Reporter: Kathey Marsden
>         Assigned To: Kathey Marsden
>            Priority: Minor
>             Fix For: 10.1.3.2, 10.2.2.1, 10.3.0.0
>
>         Attachments: d2602.java, DERBY_2606_diff.txt, DERBY_2606_stat.txt
>
>
> It would be good if when derby dumped an error to derby.log it printed the parameters for the failed statement.  Currently the default behaviour is that only the statement text will print.  Users have to set  derby.language.logStatementText=true if they want to see the parameters.  It would be useful if any errors included the parameters as well as the statement text.
> To reproduce 
> put derby.stream.error.logSeverityLevel=0 in your derby.properties and run this script:
>  connect 'jdbc:derby:wombat;create=true';
> create table t (i int);
> prepare p as 'insert into t values(?)';
>  execute p using 'values(1)';
> execute p using 'values(10000000000000000000000000000000000000000000)';

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