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

Bryan Pendleton commented on DERBY-6773:
----------------------------------------

Hmmm... Trying to code my idea, I discover that the client-side SqlException is
constructed with the Sqlca object. That is, the constructor we actually run is:

    /**
     * Create an exception for an engine generated error.
     *
     * @param logWriter object used for tracing
     * @param sqlca the SQLCA sent from the server
     */
    public SqlException(LogWriter logWriter, Sqlca sqlca) {
        this(sqlca, 0, true);
        // only set the error code for the first exception in the chain (we
        // don't know the error code for the rest)
        errorcode_ = sqlca.getErrorCode();
        if ( logWriter != null )
        {
            logWriter.traceDiagnosable(SqlException.this);
        }
    }

So I'll have to do more study to figure out how to crack open the Sqlca
and get the message arguments out of it.

> Derby throws plain SQLIntegrityConstraintViolationException
> -----------------------------------------------------------
>
>                 Key: DERBY-6773
>                 URL: https://issues.apache.org/jira/browse/DERBY-6773
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC
>    Affects Versions: 10.10.2.0
>         Environment: Windows 7 x86_64, Java 1.6.0.45
>            Reporter: Jochen Wiedmann
>            Assignee: Abhinav Gupta
>            Priority: Minor
>         Attachments: CallSuper.diff, DERBY6733Repro.java, SamePackage.diff, 
> SharedException.diff, ant -verbose build all.txt
>
>
> If a unique constraint is violated by an insert statement, then Derby throws 
> an SQLIntegrityConstraintViolationException. The error message contains, in 
> particular, the constraint name and the table name.
> To distinguish between cases with various constraints, Derby should instead 
> throw a subclass of SQLIntegrityConstraintViolationException, with methods 
> like getConstraintName(), and getTableName().
> See also https://hibernate.atlassian.net/browse/HHH-9516.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to