db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <Richard.Hille...@Sun.COM>
Subject Re: Duplication of first 5 characters of a SQLState
Date Mon, 07 Nov 2005 14:40:53 GMT
Hi Deepa,

Sql states are supposed to uniquely identify error conditions. To me 
these look like different errors, each of which should have its own sql 
state. Could you fix this while you're in there? It looks like there are 
four sql states whose codes are duplicated:

ij> select sql_state, count(sql_state)
from new org.apache.derby.diag.ErrorMessages() c
group by sql_state
having count(sql_state) > 1
;
SQL_&|2
-----------------
22007|2
42601|2
42815|2
XJ081|2

The duplications of 42601 and XJ081 look like mistakes to me.

The other two sql states (22007 and 42815) have 11 character codes. The 
header comment in SQLState.java explains the meaning of 5, 7, and 9 
character codes. But I don't see any explanation of these 11 character 
codes. Can anyone shed some light on this?

Thanks,
-Rick

Deepa Remesh wrote:

>For DERBY-682, I was adding SQLStates with severity >=
>session_severity to the test lang/errorCode.sql. While doing this, I
>found that the SQLState 'XJ081' appears two times in the message
>properties file with two different severity levels. Output from ij is:
>ij> select * from new org.apache.derby.diag.ErrorMessages() c where
>sql_state = 'XJ081';
>SQL_&|MESSAGE                                                         
>                                                              
>|SEVERITY
>--------------------------------------------------------------------------------------------------------------------------------------------------
>XJ081|Invalid value '{0}' passed as parameter '{1}' to method '{2}'   
>                                                               |20000
>XJ081|Conflicting create/restore/recovery attributes specified.       
>                                                               |40000
>
>SQLState.java has this:
>String INVALID_API_PARAMETER = "XJ081.S";
>String CONFLICTING_RESTORE_ATTRIBUTES = "XJ081.C";
>I checked the code and both these are exceptions are thrown from the code.
>
>The Javadoc for org.apache.derby.iapi.reference.SQLState says this:
>"If the state is seven characters long then only the first five will
>be seen by the error reporting code and exception." Can this
>duplication of first 5 characters in SQLState cause any problems?
>
>Thanks,
>Deepa
>  
>


Mime
View raw message