db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-1191) Some SQLExceptions, for example those generated from BrokeredStatements, do not print to derby.log even when derby.stream.error.logSeverityLevel=0
Date Tue, 18 Aug 2009 12:42:14 GMT

    [ https://issues.apache.org/jira/browse/DERBY-1191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12744485#action_12744485
] 

Knut Anders Hatlen commented on DERBY-1191:
-------------------------------------------

I agree that option 2 sounds better, but I have some comments to the patch that was committed:

1) Many of the lines mix tabs and spaces (that is, they are mixed on the same line), and some
lines exceed 80 characters

2) The error stream is automatically redirected to System.err if derby.log cannot be opened,
so the special case for printing to the console is probably not necessary

3) Checking the exact contents of the error message is likely to break in some locales, or
if the message text is changed without updating the magic string. Better to follow the getCause()
chain to look for OutOfMemoryError? Or perhaps just change the condition to se == EmbedConnection.NO_MEM?

> Some SQLExceptions, for example those generated from BrokeredStatements,  do not print
to derby.log even  when  derby.stream.error.logSeverityLevel=0
> -----------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1191
>                 URL: https://issues.apache.org/jira/browse/DERBY-1191
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.1.3.1, 10.2.1.6
>            Reporter: Kathey Marsden
>         Attachments: derby-1191_checkForTransactionInProgress_diff.txt, derby-1191_factory_hack_no_commit_diff.txt,
ReproDerby1191.java
>
>
> I found this when working on DERBY-1047.   Exceptions thrown  using 
> org.apache.derby.impl.jdbc.Util.generateCsSQLException()
> do not print to derby.log even when derby.stream.error.logSeverityLevel=0
> For example the attached repro  generates an expected exception but does not  print the
error to the log.
> java -Dderby.stream.error.logSeverityLevel=0 Derby1047
> This causes an expected exception to be thrown but it does not print to the derby.log
> 10.2.0.0 alpha
> Apache Derby
> Apache Derby Embedded JDBC Driver
> done creating  table
> COL1
> -----------
> 1
> 2
> PASS: Expected Exception can'tholdable cusror in global xact:Cannot set holdability ResultSet.HOLD_CURSORS_OVER_COMMIT
for a global transaction.
> COL1
> -----------
> 1
> 2
> 3
> The code generating the exception is in org.apache.derby.iapi.jdbc.BrokeredStatement
>   final void checkHoldability() throws SQLException {
>         int holdability = controlCheck().checkHoldCursors(resultSetHoldability);
>         if (holdability != resultSetHoldability)
>             throw Util.generateCsSQLException(SQLState.CANNOT_HOLD_CURSOR_XA);
>     }

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


Mime
View raw message