You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by da...@apache.org on 2006/05/03 01:10:48 UTC
svn commit: r399078 [1/2] - in /db/derby/code/trunk:
java/build/org/apache/derbyBuild/ java/client/org/apache/derby/client/am/
java/client/org/apache/derby/client/net/ java/engine/org/apache/derby/loc/
java/shared/org/apache/derby/shared/common/referen...
Author: davidvc
Date: Tue May 2 16:10:44 2006
New Revision: 399078
URL: http://svn.apache.org/viewcvs?rev=399078&view=rev
Log:
DERBY-846: Internationalze NetAgent to NetDatabaseMetadata40 in org.apache.derby.client.net
Modified:
db/derby/code/trunk/java/build/org/apache/derbyBuild/splitmessages.java
db/derby/code/trunk/java/client/org/apache/derby/client/am/DisconnectException.java
db/derby/code/trunk/java/client/org/apache/derby/client/am/SQLExceptionFactory40.java
db/derby/code/trunk/java/client/org/apache/derby/client/am/SqlException.java
db/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java
db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection.java
db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection40.java
db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnectionReply.java
db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnectionRequest.java
db/derby/code/trunk/java/client/org/apache/derby/client/net/NetCursor.java
db/derby/code/trunk/java/client/org/apache/derby/client/net/NetDatabaseMetaData40.java
db/derby/code/trunk/java/client/org/apache/derby/client/net/NetResultSet40.java
db/derby/code/trunk/java/client/org/apache/derby/client/net/Reply.java
db/derby/code/trunk/java/client/org/apache/derby/client/net/Request.java
db/derby/code/trunk/java/engine/org/apache/derby/loc/messages_en.properties
db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/MessageId.java
db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/SQLState.java
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/badConnection.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/secureUsers.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/secureUsers1.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/testSecMec.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/testij.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/users.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/users2.out
db/derby/code/trunk/tools/java/javacc.jar
db/derby/code/trunk/tools/testing/i18nTestGenerator/clientPrologue.txt
db/derby/code/trunk/tools/testing/i18nTestGenerator/genClient1.sed
db/derby/code/trunk/tools/testing/i18nTestGenerator/genClient2.sed
Modified: db/derby/code/trunk/java/build/org/apache/derbyBuild/splitmessages.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/build/org/apache/derbyBuild/splitmessages.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/build/org/apache/derbyBuild/splitmessages.java (original)
+++ db/derby/code/trunk/java/build/org/apache/derbyBuild/splitmessages.java Tue May 2 16:10:44 2006
@@ -101,6 +101,8 @@
clientMessageIds.add(SQLState.LANG_INVALID_SQL_IN_BATCH);
clientMessageIds.add(SQLState.CLIENT_RESULT_SET_NOT_OPEN);
clientMessageIds.add(SQLState.CANT_CONVERT_UNICODE_TO_EBCDIC);
+ clientMessageIds.add(SQLState.SECMECH_NOT_SUPPORTED);
+ clientMessageIds.add(SQLState.DRDA_COMMAND_NOT_IMPLEMENTED);
}
public static void main(String[] args) throws Exception {
@@ -203,17 +205,20 @@
/**
* Determine if this is a message that the client is using
*
- * We assume all message ids starting with "XJ" or "J" are client messages
- * (even though many of them may not be, it saves the coder the effort
- * of explicitly adding each XJ or J shared message, and covers 90% of the
- * shared messages
+ * There are some classes of ids that we assume are client messages
+ * (see code below for the definitive list).
*
* All other shared message ids should be added to the static array
* clientMessageIds, defined at the top of this class
*/
static boolean isClientMessage(String messageId)
{
- if ( messageId.startsWith("XJ") || messageId.startsWith("J") )
+ // Look for message ids that we assume are likely to be used
+ // on the client. These ones don't need to be explicitly added
+ // to clientMessageIds
+ if ( messageId.startsWith("XJ") || messageId.startsWith("J") ||
+ messageId.startsWith("XN") || messageId.startsWith("58") ||
+ messageId.startsWith("57") || messageId.startsWith("08"))
{
return true;
}
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/DisconnectException.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/am/DisconnectException.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/am/DisconnectException.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/am/DisconnectException.java Tue May 2 16:10:44 2006
@@ -21,20 +21,55 @@
package org.apache.derby.client.am;
public class DisconnectException extends SqlException {
- public DisconnectException(Agent agent, ClientMessageId msgid, SqlCode sqlcode) {
- super(agent != null ? agent.logWriter_ : null, msgid, sqlcode);
- }
-
- public DisconnectException(Agent agent, ClientMessageId msgid) {
- super(agent != null ? agent.logWriter_ : null, msgid,
- SqlCode.disconnectError);
+ public DisconnectException(Agent agent, ClientMessageId msgid,
+ Object[] args, SqlCode sqlcode, Throwable t) {
+ super(agent != null ? agent.logWriter_ : null, msgid,
+ args, sqlcode, t);
// make the call to close the streams and socket.
if (agent != null) {
agent.disconnectEvent();
}
}
+
+ public DisconnectException(Agent agent, ClientMessageId msgid,
+ Object[] args, SqlCode sqlcode) {
+ this(agent, msgid, args, sqlcode, (Throwable)null);
+ }
+
+ public DisconnectException(Agent agent, ClientMessageId msgid, SqlCode sqlcode) {
+ this(agent, msgid, (Object[]) null, sqlcode);
+ }
+
+
+ public DisconnectException(Agent agent, ClientMessageId msgid,
+ Object[] args) {
+ this(agent, msgid, args, SqlCode.disconnectError);
+ }
+
+ public DisconnectException(Agent agent, ClientMessageId msgid,
+ Object[] args, Throwable t) {
+ this(agent, msgid, args, SqlCode.disconnectError, (Throwable)t);
+ }
+
+ public DisconnectException(Agent agent, ClientMessageId msgid,
+ Object arg1, Throwable t) {
+ this(agent, msgid, new Object[] { arg1 }, t);
+ }
+
+ public DisconnectException(Agent agent, ClientMessageId msgid) {
+ this(agent, msgid, (Object[])null);
+ }
+
+ public DisconnectException(Agent agent, ClientMessageId msgid, Object arg1) {
+ this(agent, msgid, new Object[] { arg1 });
+ }
+ public DisconnectException(Agent agent, ClientMessageId msgid, Object arg1,
+ Object arg2) {
+ this(agent, msgid, new Object[] { arg1, arg2 });
+ }
+
// Old constructors for backward compatibility until all classes
// have been internationalized
public DisconnectException(Agent agent, String reason, SqlState sqlstate, SqlCode sqlcode) {
@@ -58,7 +93,7 @@
}
public DisconnectException(Agent agent) {
- this(agent, null, SqlState.undefined);
+ this(agent, (String)null, SqlState.undefined);
}
public DisconnectException(java.lang.Throwable throwable, Agent agent) {
@@ -78,5 +113,3 @@
setNextException(e);
}
}
-
-
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/SQLExceptionFactory40.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/am/SQLExceptionFactory40.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/am/SQLExceptionFactory40.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/am/SQLExceptionFactory40.java Tue May 2 16:10:44 2006
@@ -20,6 +20,7 @@
package org.apache.derby.client.am;
import org.apache.derby.shared.common.reference.SQLState;
+import org.apache.derby.shared.common.error.ExceptionSeverity;
import java.sql.SQLDataException;
import java.sql.SQLException;
@@ -36,25 +37,32 @@
public class SQLExceptionFactory40 extends SQLExceptionFactory {
+ // Important DRDA SQL States, from DRDA v3 spec, Section 8.2
+ // We have to consider these as well as the standard SQLState classes
+ // when choosing the right exception subclass
+ private static final String DRDA_CONVERSATION_TERMINATED = "58009";
+ private static final String DRDA_COMMAND_NOT_SUPPORTED = "58014";
+ private static final String DRDA_OBJECT_NOT_SUPPORTED = "58015";
+ private static final String DRDA_PARAM_NOT_SUPPORTED = "58016";
+ private static final String DRDA_VALUE_NOT_SUPPORTED = "58017";
+ private static final String DRDA_SQLTYPE_NOT_SUPPORTED = "56084";
+ private static final String DRDA_CONVERSION_NOT_SUPPORTED = "57017";
+ private static final String DRDA_REPLY_MSG_NOT_SUPPORTED = "58018";
+
/**
* creates jdbc4.0 SQLException and its subclass based on sql state
- * 0A java.sql.SQLFeatureNotSupportedException
- * 08 java.sql.SQLTransientConnectionException
- * 22 java.sql.SQLDataException
- * 28 java.sql.SQLInvalidAuthorizationSpecException
- * 40 java.sql.SQLTransactionRollbackException
- * 42 java.sql.SQLSyntaxErrorException
*
* @param message description of the
* @param sqlState
* @param errCode derby error code
*/
public SQLException getSQLException (String message, String sqlState,
- int errCode) {
+ int errCode) {
SQLException ex = null;
if (sqlState == null) {
ex = new SQLException(message, sqlState, errCode);
- } else if (sqlState.startsWith(SQLState.CONNECTIVITY_PREFIX)) {
+ } else if (sqlState.startsWith(SQLState.CONNECTIVITY_PREFIX) ||
+ errCode >= ExceptionSeverity.SESSION_SEVERITY) {
//none of the sqlstate supported by derby belongs to
//NonTransientConnectionException
ex = new SQLTransientConnectionException(message, sqlState, errCode);
@@ -66,12 +74,20 @@
} else if (sqlState.startsWith(SQLState.AUTHORIZATION_PREFIX)) {
ex = new SQLInvalidAuthorizationSpecException(message, sqlState,
errCode);
- } else if (sqlState.startsWith(SQLState.TRANSACTION_PREFIX)) {
+ } else if (sqlState.startsWith(SQLState.TRANSACTION_PREFIX) ||
+ errCode >= ExceptionSeverity.TRANSACTION_SEVERITY ) {
ex = new SQLTransactionRollbackException(message, sqlState,
errCode);
} else if (sqlState.startsWith(SQLState.LSE_COMPILATION_PREFIX)) {
ex = new SQLSyntaxErrorException(message, sqlState, errCode);
- } else if (sqlState.startsWith (SQLState.UNSUPPORTED_PREFIX)) {
+ } else if (
+ sqlState.startsWith (SQLState.UNSUPPORTED_PREFIX) ||
+ sqlState.equals(DRDA_COMMAND_NOT_SUPPORTED) ||
+ sqlState.equals(DRDA_OBJECT_NOT_SUPPORTED) ||
+ sqlState.equals(DRDA_PARAM_NOT_SUPPORTED) ||
+ sqlState.equals(DRDA_VALUE_NOT_SUPPORTED) ||
+ sqlState.equals(DRDA_SQLTYPE_NOT_SUPPORTED) ||
+ sqlState.equals(DRDA_REPLY_MSG_NOT_SUPPORTED) ) {
ex = new SQLFeatureNotSupportedException(message, sqlState,
errCode);
} else {
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/am/SqlException.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/am/SqlException.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/am/SqlException.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/am/SqlException.java Tue May 2 16:10:44 2006
@@ -136,9 +136,14 @@
* from the message severity
*/
public SqlException(LogWriter logWriter, ClientMessageId msgid, Object[] args,
- SqlCode sqlcode) {
- this(logWriter, msgid, args);
+ SqlCode sqlcode, Throwable t) {
+ this(logWriter, msgid, args, t);
this.errorcode_ = sqlcode.getCode();
+ }
+
+ public SqlException(LogWriter logWriter, ClientMessageId msgid, Object[] args,
+ SqlCode sqlcode) {
+ this(logWriter, msgid, args, sqlcode, (Throwable)null);
}
public SqlException(LogWriter logWriter, ClientMessageId msgid, SqlCode sqlcode) {
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java Tue May 2 16:10:44 2006
@@ -25,9 +25,14 @@
import org.apache.derby.client.am.Agent;
import org.apache.derby.client.am.DisconnectException;
import org.apache.derby.client.am.SqlException;
+import org.apache.derby.client.am.ClientMessageId;
import org.apache.derby.client.am.Utils;
import org.apache.derby.shared.common.sanity.SanityManager;
+import org.apache.derby.shared.common.reference.SQLState;
+import org.apache.derby.shared.common.reference.MessageId;
+import org.apache.derby.shared.common.i18n.MessageUtil;
+
public class NetAgent extends Agent {
//---------------------navigational members-----------------------------------
@@ -107,14 +112,19 @@
port_ = port;
netConnection_ = netConnection;
if (server_ == null) {
- throw new DisconnectException(this, "Required property \"serverName\" not set");
+ throw new DisconnectException(this,
+ new ClientMessageId(SQLState.CONNECT_REQUIRED_PROPERTY_NOT_SET),
+ "serverName");
}
try {
socket_ = (java.net.Socket) java.security.AccessController.doPrivileged(new OpenSocketAction(server, port));
} catch (java.security.PrivilegedActionException e) {
throw new DisconnectException(this,
- e.getClass().getName() + " : Error opening socket to server " + server + " on port " + port + " with message : " + e.getException().getMessage());
+ new ClientMessageId(SQLState.CONNECT_UNABLE_TO_CONNECT_TO_SERVER),
+ new Object[] { e.getClass().getName(), server, new Integer(port),
+ e.getException().getMessage() },
+ e.getException());
}
// Set TCP/IP Socket Properties
@@ -130,7 +140,8 @@
} catch (java.io.IOException doNothing) {
}
exceptionOpeningSocket_ = new DisconnectException(this,
- "SocketException '" + e.getMessage() + "'");
+ new ClientMessageId(SQLState.CONNECT_SOCKET_EXCEPTION),
+ e.getMessage(), e);
}
try {
@@ -143,7 +154,9 @@
socket_.close();
} catch (java.io.IOException doNothing) {
}
- exceptionOpeningSocket_ = new DisconnectException(this, "unable to open stream on socket '"+e.getMessage() + "'");
+ exceptionOpeningSocket_ = new DisconnectException(this,
+ new ClientMessageId(SQLState.CONNECT_UNABLE_TO_OPEN_SOCKET_STREAM),
+ e.getMessage(), e);
}
sourceCcsidManager_ = new EbcdicCcsidManager(); // delete these
@@ -221,7 +234,9 @@
socket_.close();
} catch (java.io.IOException doNothing) {
}
- throw new SqlException(logWriter_, e, "SocketException '" + e.getMessage() + "'");
+ throw new SqlException(logWriter_,
+ new ClientMessageId(SQLState.SOCKET_EXCEPTION),
+ e.getMessage(), e);
}
}
@@ -257,17 +272,9 @@
// this should be ok since we are going to go an close the socket
// immediately following this call.
// changing {4} to e.getMessage() may require pub changes
- accumulatedExceptions =
- new SqlException(logWriter_, e, "A communication error has been detected. " +
- "Communication protocol being used: {0}. " +
- "Communication API being used: {1}. " +
- "Location where the error was detected: {2}. " +
- "Communication function detecting the error: {3}. " +
- "Protocol specific error codes(s) {4}, {5}, {6}. " +
- "TCP/IP " + "SOCKETS " + "Agent.close() " +
- "InputStream.close() " + e.getMessage() + " " + "* " + "0");
- //"08001",
- //-30081);
+ accumulatedExceptions = new SqlException(logWriter_,
+ new ClientMessageId(SQLState.COMMUNICATION_ERROR),
+ e.getMessage(), e);
} finally {
rawSocketInputStream_ = null;
}
@@ -282,15 +289,8 @@
// immediately following this call.
// changing {4} to e.getMessage() may require pub changes
SqlException latestException = new SqlException(logWriter_,
- e,
- "A communication error has been detected. " +
- "Communication protocol being used: {0}. " +
- "Communication API being used: {1}. " +
- "Location where the error was detected: {2}. " +
- "Communication function detecting the error: {3}. " +
- "Protocol specific error codes(s) {4}, {5}, {6}. " +
- "TCP/IP " + "SOCKETS " + "Agent.close() " +
- "OutputStream.close() " + e.getMessage() + " " + "* " + "0");
+ new ClientMessageId(SQLState.COMMUNICATION_ERROR),
+ e.getMessage(), e);
accumulatedExceptions = Utils.accumulateSQLException(latestException, accumulatedExceptions);
} finally {
rawSocketOutputStream_ = null;
@@ -306,15 +306,8 @@
// do this for now and but may need to modify or
// add this to the message pubs.
SqlException latestException = new SqlException(logWriter_,
- e,
- "A communication error has been detected. " +
- "Communication protocol being used: {0}. " +
- "Communication API being used: {1}. " +
- "Location where the error was detected: {2}. " +
- "Communication function detecting the error: {3}. " +
- "Protocol specific error codes(s) {4}, {5}, {6}. " +
- "TCP/IP " + "SOCKETS " + "Agent.close() " +
- "Socket.close() " + e.getMessage() + " " + "* " + "0");
+ new ClientMessageId(SQLState.COMMUNICATION_ERROR),
+ e.getMessage(), e);
accumulatedExceptions = Utils.accumulateSQLException(latestException, accumulatedExceptions);
} finally {
socket_ = null;
@@ -385,10 +378,7 @@
try {
request_.flush(rawSocketOutputStream_);
} catch (java.io.IOException e) {
- throwCommunicationsFailure("NetAgent.sendRequest()",
- "OutputStream.flush()",
- e.getMessage(),
- "*");
+ throwCommunicationsFailure(e);
}
}
@@ -408,25 +398,18 @@
rawSocketOutputStream_ = outputStream;
}
- public void throwCommunicationsFailure(String location,
- String function,
- String rc1,
- String rc2) throws org.apache.derby.client.am.DisconnectException {
+ public void throwCommunicationsFailure(Throwable cause)
+ throws org.apache.derby.client.am.DisconnectException {
//org.apache.derby.client.am.DisconnectException
//accumulateReadExceptionAndDisconnect
// note when {6} = 0 it indicates the socket was closed.
// need to still validate any token values against message publications.
- accumulateChainBreakingReadExceptionAndThrow(new org.apache.derby.client.am.DisconnectException(this,
- "A communication error has been detected. " +
- "Communication protocol being used: " + location + ". " +
- "Communication API being used: " + function + ". " +
- "Location where the error was detected: " + rc1 + ". " +
- "Communication function detecting the error: " + rc2 + ". " +
- "Protocol specific error codes(s) " +
- "TCP/IP SOCKETS ")); // hardcode tokens 0 and 1
- //"08001")); //derby code -30081, don't send 08001 now either
+ accumulateChainBreakingReadExceptionAndThrow(
+ new org.apache.derby.client.am.DisconnectException(this,
+ new ClientMessageId(SQLState.COMMUNICATION_ERROR),
+ cause.getMessage(), cause));
}
-
+
// ----------------------- call-down methods ---------------------------------
public org.apache.derby.client.am.LogWriter newLogWriter_(java.io.PrintWriter printWriter,
@@ -454,7 +437,8 @@
try {
netConnection_.writeDeferredReset();
} catch (SqlException sqle) {
- DisconnectException de = new DisconnectException(this, "An error occurred during a deferred connect reset and the connection has been terminated. See chained exceptions for details.");
+ DisconnectException de = new DisconnectException(this,
+ new ClientMessageId(SQLState.CONNECTION_FAILED_ON_DEFERRED_RESET));
de.setNextException(sqle);
throw de;
}
@@ -484,7 +468,8 @@
netConnection_.readDeferredReset();
checkForExceptions();
} catch (SqlException sqle) {
- DisconnectException de = new DisconnectException(this, "An error occurred during a deferred connect reset and the connection has been terminated. See chained exceptions for details.");
+ DisconnectException de = new DisconnectException(this,
+ new ClientMessageId(SQLState.CONNECTION_FAILED_ON_DEFERRED_RESET));
de.setNextException(sqle);
throw de;
}
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection.java Tue May 2 16:10:44 2006
@@ -27,13 +27,22 @@
import org.apache.derby.client.am.PreparedStatement;
import org.apache.derby.client.am.ProductLevel;
import org.apache.derby.client.am.SqlException;
+import org.apache.derby.client.am.ClientMessageId;
+import org.apache.derby.shared.common.reference.MessageId;
+import org.apache.derby.shared.common.i18n.MessageUtil;
import org.apache.derby.client.am.Statement;
import org.apache.derby.client.am.Utils;
import org.apache.derby.jdbc.ClientBaseDataSource;
import org.apache.derby.jdbc.ClientDataSource;
import org.apache.derby.jdbc.ClientDriver;
+import org.apache.derby.shared.common.reference.SQLState;
+
public class NetConnection extends org.apache.derby.client.am.Connection {
+
+ // Use this to get internationalized strings...
+ protected static MessageUtil msgutil =
+ new MessageUtil(SqlException.CLIENT_MESSAGE_RESOURCE_NAME);
protected NetAgent netAgent_;
@@ -332,7 +341,8 @@
String password,
ClientBaseDataSource ds) throws SqlException {
if (inUnitOfWork_) {
- throw new SqlException(logWriter, "Connection reset is not allowed when inside a unit of work.");
+ throw new SqlException(logWriter,
+ new ClientMessageId(SQLState.NET_CONNECTION_RESET_NOT_ALLOWED_IN_UNIT_OF_WORK));
}
}
@@ -398,7 +408,9 @@
break;
default:
- throw new SqlException(agent_.logWriter_, "security mechanism '" + securityMechanism + "' not supported");
+ throw new SqlException(agent_.logWriter_,
+ new ClientMessageId(SQLState.SECMECH_NOT_SUPPORTED),
+ new Integer(securityMechanism));
}
} catch (java.lang.Throwable e) { // if *anything* goes wrong, make sure the connection is destroyed
// always mark the connection closed in case of an error.
@@ -428,7 +440,7 @@
throw exceptionToBeThrown;
}
}
-
+
protected void flowSimpleConnect() throws SqlException {
netAgent_ = (NetAgent) super.agent_;
constructExtnam();
@@ -457,7 +469,9 @@
exceptionToBeThrown = (SqlException) e;
} else // any other exceptions will be wrapped by an SqlException first
{
- exceptionToBeThrown = new SqlException(agent_.logWriter_, e, "Unexpected throwable caught " + e.toString());
+ exceptionToBeThrown = new SqlException(agent_.logWriter_,
+ new ClientMessageId(SQLState.JAVA_EXCEPTION),
+ e.getClass().getName(), e.getMessage(), e);
}
try {
@@ -510,7 +524,9 @@
setDeferredResetPassword(password);
return true;
default:
- throw new SqlException(agent_.logWriter_, "security mechanism '" + securityMechanism + "' not supported");
+ throw new SqlException(agent_.logWriter_,
+ new ClientMessageId(SQLState.SECMECH_NOT_SUPPORTED),
+ new Integer(securityMechanism));
}
} catch (SqlException sqle) { // this may not be needed because on method up the stack
open_ = false; // all reset exceptions are caught and wrapped in disconnect exceptions
@@ -887,7 +903,8 @@
// will be surfaced by endReadChain
// agent_.accumulateChainBreakingReadExceptionAndThrow (
// new DisconnectException (agent_,"secmec not supported ","0000", -999));
- agent_.accumulateReadException(new SqlException(agent_.logWriter_, "secmec not supported"));
+ agent_.accumulateReadException(new SqlException(agent_.logWriter_,
+ new ClientMessageId(SQLState.NET_SECKTKN_NOT_RETURNED)));
}
}
}
@@ -975,27 +992,36 @@
private void checkDatabaseName() throws SqlException {
// netAgent_.logWriter may not be initialized yet
if (databaseName_ == null) {
- throw new SqlException(agent_.logWriter_, "Required property \"databaseName\" not set");
+ throw new SqlException(agent_.logWriter_,
+ new ClientMessageId(SQLState.CONNECT_REQUIRED_PROPERTY_NOT_SET),
+ "databaseName");
}
}
private void checkUserLength(String user) throws SqlException {
int usridLength = user.length();
if ((usridLength == 0) || (usridLength > NetConfiguration.USRID_MAXSIZE)) {
- throw new SqlException(netAgent_.logWriter_, "userid length, " + usridLength + ", is not allowed.");
+ throw new SqlException(netAgent_.logWriter_,
+ new ClientMessageId(SQLState.CONNECT_USERID_LENGTH_OUT_OF_RANGE),
+ new Integer(usridLength),
+ new Integer(NetConfiguration.USRID_MAXSIZE));
}
}
private void checkPasswordLength(String password) throws SqlException {
int passwordLength = password.length();
if ((passwordLength == 0) || (passwordLength > NetConfiguration.PASSWORD_MAXSIZE)) {
- throw new SqlException(netAgent_.logWriter_, "password length, " + passwordLength + ", is not allowed.");
+ throw new SqlException(netAgent_.logWriter_,
+ new ClientMessageId(SQLState.CONNECT_PASSWORD_LENGTH_OUT_OF_RANGE),
+ new Integer(passwordLength),
+ new Integer(NetConfiguration.PASSWORD_MAXSIZE));
}
}
private void checkUser(String user) throws SqlException {
if (user == null) {
- throw new SqlException(netAgent_.logWriter_, "null userid not supported");
+ throw new SqlException(netAgent_.logWriter_,
+ new ClientMessageId(SQLState.CONNECT_USERID_ISNULL));
}
checkUserLength(user);
}
@@ -1003,7 +1029,8 @@
private void checkUserPassword(String user, String password) throws SqlException {
checkUser(user);
if (password == null) {
- throw new SqlException(netAgent_.logWriter_, "null password not supported");
+ throw new SqlException(netAgent_.logWriter_,
+ new ClientMessageId(SQLState.CONNECT_PASSWORD_ISNULL));
}
checkPasswordLength(password);
}
@@ -1029,7 +1056,9 @@
// throw an exception if not supported (not on list).
if (!secmecSupported) {
- throw new SqlException(agent_.logWriter_, "Security mechananism specified by app not supported by connection");
+ throw new SqlException(agent_.logWriter_,
+ new ClientMessageId(SQLState.SECMECH_NOT_SUPPORTED),
+ new Integer(securityMechanism));
}
}
@@ -1047,37 +1076,48 @@
switch (secchkcd) {
case CodePoint.SECCHKCD_01: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: security mechanism not supported"); //"08001", -30082);
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_SECMECH_NOT_SUPPORTED));
case CodePoint.SECCHKCD_10: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: password missing.");
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_PASSWORD_MISSING));
case CodePoint.SECCHKCD_12: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: userid missing.");
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_USERID_MISSING));
case CodePoint.SECCHKCD_13: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: userid invalid.");
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_USERID_OR_PASSWORD_INVALID));
case CodePoint.SECCHKCD_14: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: userid revoked.");
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_USERID_REVOKED));
case CodePoint.SECCHKCD_15: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: new password invalid.");
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_NEW_PASSWORD_INVALID));
case CodePoint.SECCHKCD_0A: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: local security service non-retryable error.");
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_SECSVC_NONRETRYABLE_ERR));
case CodePoint.SECCHKCD_0B: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: SECTKN missing on ACCSEC when it is required or it is invalid");
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_SECTKN_MISSING_OR_INVALID));
case CodePoint.SECCHKCD_0E: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: password expired.");
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_PASSWORD_EXPIRED));
case CodePoint.SECCHKCD_0F: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: password invalid.");
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_USERID_OR_PASSWORD_INVALID));
default: // ERROR SVRCOD
return new SqlException(agent_.logWriter_,
- "Connection authorization failure occurred. Reason: not specified.");
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil.getTextMessage(MessageId.CONN_NOT_SPECIFIED));
}
}
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection40.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection40.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection40.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnection40.java Tue May 2 16:10:44 2006
@@ -281,8 +281,9 @@
try {
return interfaces.cast(this);
} catch (ClassCastException cce) {
- throw new SqlException(null,new ClientMessageId(SQLState.UNABLE_TO_UNWRAP),
- interfaces).getSQLException();
+ throw new SqlException(null,
+ new ClientMessageId(SQLState.UNABLE_TO_UNWRAP),
+ interfaces).getSQLException();
}
}
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnectionReply.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnectionReply.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnectionReply.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnectionReply.java Tue May 2 16:10:44 2006
@@ -26,12 +26,20 @@
import org.apache.derby.client.am.ConnectionCallbackInterface;
import org.apache.derby.client.am.DisconnectException;
import org.apache.derby.client.am.SqlException;
-import org.apache.derby.client.am.SqlState;
+import org.apache.derby.client.am.ClientMessageId;
import org.apache.derby.client.am.Sqlca;
import java.io.UnsupportedEncodingException;
+import org.apache.derby.shared.common.reference.SQLState;
+import org.apache.derby.shared.common.reference.MessageId;
+import org.apache.derby.shared.common.i18n.MessageUtil;
+
+
public class NetConnectionReply extends Reply
implements ConnectionReplyInterface {
+ private static MessageUtil msgutil_
+ = new MessageUtil(SqlException.CLIENT_MESSAGE_RESOURCE_NAME);
+
NetConnectionReply(NetAgent netAgent, int bufferSize) {
super(netAgent, bufferSize);
}
@@ -831,11 +839,8 @@
netAgent_.setSvrcod(svrcod);
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "Execution failed due to a distribution protocol error that caused " +
- "deallocation of the conversation. " +
- "The requested command encountered an unarchitected and implementation " +
- "specific condition for which there was no architected message.",
- SqlState._58009));
+ new ClientMessageId(SQLState.DRDA_CONNECTION_TERMINATED),
+ msgutil_.getTextMessage(MessageId.CONN_DRDA_CMDCHKRM)));
}
@@ -907,12 +912,10 @@
checkRequiredObjects(svrcodReceived, rdbnamReceived);
netAgent_.setSvrcod(svrcod);
- agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "Execution failed due to a distribution protocol error that caused " +
- "deallocation of the conversation. " +
- "The access relational database command was not issued prior to " +
- "a command requesting RDB services. ",
- SqlState._58009));
+ agent_.accumulateChainBreakingReadExceptionAndThrow(
+ new DisconnectException(agent_,
+ new ClientMessageId(SQLState.DRDA_CONNECTION_TERMINATED),
+ msgutil_.getTextMessage(MessageId.CONN_DRDA_RDBNACRM)));
}
// RDB Not Found Reply Message indicates that the target
@@ -970,10 +973,8 @@
netAgent_.setSvrcod(svrcod);
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "The application server rejected establishment of the connection. " +
- "An attempt was made to access a database, " +
- netConnection.databaseName_ + ", which was not found.",
- SqlState._08004));
+ new ClientMessageId(SQLState.NET_DATABASE_NOT_FOUND),
+ netConnection.databaseName_));
}
@@ -1032,9 +1033,8 @@
netAgent_.setSvrcod(svrcod);
netAgent_.accumulateReadException(new SqlException(agent_.logWriter_,
- "The application server rejected establishment of the connection. " +
- "The user is not authorized to access the database.",
- SqlState._08004));
+ new ClientMessageId(SQLState.NET_CONNECT_AUTH_FAILED),
+ msgutil_.getTextMessage(MessageId.CONN_USER_NOT_AUTHORIZED_TO_DB)));
}
// Data Stream Syntax Error Reply Message indicates that the data
@@ -1198,11 +1198,8 @@
netAgent_.setSvrcod(svrcod);
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "Execution failed due to a distribution protocol error that caused " +
- "deallocation of the conversation. " +
- "The access relational database command cannot be issued because an " +
- "RDB is already currently accessed.",
- SqlState._58009));
+ new ClientMessageId(SQLState.DRDA_CONNECTION_TERMINATED),
+ msgutil_.getTextMessage(MessageId.CONN_DRDA_RDBACCRM)));
}
// RDB Access Failed Reply Message specifies that the relational
@@ -1697,10 +1694,8 @@
netAgent_.setSvrcod(svrcod);
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "The DDM command is not supported. " +
- "Unsupported DDM command code point: " +
- "0x" + Integer.toHexString(codpnt),
- SqlState._58014));
+ new ClientMessageId(SQLState.DRDA_DDM_COMMAND_NOT_SUPPORTED),
+ Integer.toHexString(codpnt)));
}
// Abnormal End Unit of Work Condition Reply Message indicates
@@ -2785,17 +2780,15 @@
protected void doObjnsprmSemantics(int codePoint) throws DisconnectException {
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "The DDM object is not supported. " +
- "Unsupported DDM object code point: 0x" + Integer.toHexString(codePoint),
- SqlState._58015));
+ new ClientMessageId(SQLState.DRDA_DDM_OBJECT_NOT_SUPPORTED),
+ Integer.toHexString(codePoint)));
}
// Also called by NetStatementReply.
protected void doPrmnsprmSemantics(int codePoint) throws DisconnectException {
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "The DDM parameter is not supported. " +
- "Unsupported DDM parameter code point: 0x" + Integer.toHexString(codePoint),
- SqlState._58016));
+ new ClientMessageId(SQLState.DRDA_DDM_PARAM_NOT_SUPPORTED),
+ Integer.toHexString(codePoint)));
}
// Also called by NetStatementReply
@@ -2808,10 +2801,8 @@
// special case the FDODTA codepoint not to disconnect.
if (codePoint == CodePoint.FDODTA) {
agent_.accumulateReadException(new SqlException(agent_.logWriter_,
- "The DDM parameter value is not supported. " +
- "DDM parameter code point having unsupported value : 0x" + Integer.toHexString(codePoint) +
- ". An input host variable may not be within the range the server supports.",
- SqlState._58017));
+ new ClientMessageId(SQLState.DRDA_DDM_PARAMVAL_NOT_SUPPORTED),
+ Integer.toHexString(codePoint)));
return;
}
@@ -2841,9 +2832,8 @@
break;
}
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "There is no available conversion for the source code page, " + cpValue +
- ", to the target code page, " + value + "."));
- //"57017", -332));
+ new ClientMessageId(SQLState.DRDA_NO_AVAIL_CODEPAGE_CONVERSION),
+ new Integer(cpValue), value));
return;
}
// the problem isn't with one of the ccsid values so...
@@ -2851,18 +2841,14 @@
// Returning more information would
// require rearranging this code a little.
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "The DDM parameter value is not supported. " +
- "DDM parameter code point having unsupported value : 0x" + Integer.toHexString(codePoint),
- SqlState._58017));
-
+ new ClientMessageId(SQLState.DRDA_DDM_PARAMVAL_NOT_SUPPORTED),
+ Integer.toHexString(codePoint)));
}
void doDtamchrmSemantics() throws DisconnectException {
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "Execution failed due to a distribution protocol error that caused " +
- "deallocation of the conversation. " +
- "A Data Descriptor Mismatch Error was detected.",
- SqlState._58009));
+ new ClientMessageId(SQLState.DRDA_CONNECTION_TERMINATED),
+ msgutil_.getTextMessage(MessageId.CONN_DRDA_DTARMCHRM)));
}
// Messages
@@ -2881,12 +2867,8 @@
// is producted for SQL CONNECT statement.
private void doMgrlvlrmSemantics(String manager, String level) throws DisconnectException {
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "Execution failed due to a distribution protocol error that will " +
- "affect the successful execution of subsequent DDM commands or SQL statements. " +
- "A connection could not be established to the database because " +
- "manager " + manager + " at level " + level + " is not supported.",
- SqlState._58010));
-
+ new ClientMessageId(SQLState.DRDA_MGRLVLRM),
+ manager, level));
}
private void doMgrlvlrmSemantics(int manager, int level) throws DisconnectException {
@@ -2963,11 +2945,9 @@
// we may need to map the conversation protocol error code, prccnvcd, to some kind
// of reason code. For now just return the prccnvcd as the reason code
agent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(agent_,
- "Execution failed due to a distribution protocol error that caused " +
- "deallocation of the conversation. " +
- "A PROTOCOL Conversational Protocol Error was detected. " +
- "Reason: 0x" + Integer.toHexString(conversationProtocolErrorCode),
- SqlState._58009));
+ new ClientMessageId(SQLState.DRDA_CONNECTION_TERMINATED),
+ msgutil_.getTextMessage(MessageId.CONN_DRDA_PRCCNVRM,
+ Integer.toHexString(conversationProtocolErrorCode))));
}
// SQL Diagnostics Condition Token Array - Identity 0xF7
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnectionRequest.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnectionRequest.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnectionRequest.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetConnectionRequest.java Tue May 2 16:10:44 2006
@@ -24,7 +24,9 @@
import javax.transaction.xa.Xid;
import org.apache.derby.client.am.SqlException;
+import org.apache.derby.client.am.ClientMessageId;
import org.apache.derby.client.am.Utils;
+import org.apache.derby.shared.common.reference.SQLState;
public class NetConnectionRequest extends Request implements ConnectionRequestInterface {
NetConnectionRequest(NetAgent netAgent, CcsidManager ccsidManager, int bufferSize) {
@@ -477,9 +479,8 @@
if (rdbnamLength <= NetConfiguration.PKG_IDENTIFIER_MAX_LEN) {
writeScalarString(CodePoint.RDBNAM, rdbnam);
} else {
- throw new SqlException(netAgent_.logWriter_, "Length of the Relational Database Name, " +
- rdbnam +
- ", exceeds maximum size allowed for PROTOCOL Connection.");// +
+ throw new SqlException(netAgent_.logWriter_,
+ new ClientMessageId(SQLState.NET_DBNAME_TOO_LONG), rdbnam);
}
//"at SQLAM level " + netAgent_.targetSqlam_);
}
@@ -487,7 +488,8 @@
private void buildSECTKN(byte[] sectkn) throws SqlException {
if (sectkn.length > NetConfiguration.SECTKN_MAXSIZE) {
- throw new SqlException(netAgent_.logWriter_, "bug check: sectkn too long");
+ throw new SqlException(netAgent_.logWriter_,
+ new ClientMessageId(SQLState.NET_SECTKN_TOO_LONG));
}
writeScalarBytes(CodePoint.SECTKN, sectkn);
}
@@ -495,7 +497,8 @@
private void buildUSRID(String usrid) throws SqlException {
int usridLength = usrid.length();
if ((usridLength == 0) || (usridLength > NetConfiguration.USRID_MAXSIZE)) {
- throw new SqlException(netAgent_.logWriter_, "userid length, " + usridLength + ", is not allowed.");
+ throw new SqlException(netAgent_.logWriter_,
+ new ClientMessageId(SQLState.NET_USERID_TOO_LONG));
}
writeScalarString(CodePoint.USRID, usrid);
@@ -504,7 +507,8 @@
private void buildPASSWORD(String password) throws SqlException {
int passwordLength = password.length();
if ((passwordLength == 0) || (passwordLength > NetConfiguration.PASSWORD_MAXSIZE)) {
- throw new SqlException(netAgent_.logWriter_, "password length, " + passwordLength + ", is not allowed.");
+ throw new SqlException(netAgent_.logWriter_,
+ new ClientMessageId(SQLState.NET_PASSWORD_TOO_LONG));
}
if (netAgent_.logWriter_ != null) {
// remember the position of password in order to
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetCursor.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetCursor.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetCursor.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetCursor.java Tue May 2 16:10:44 2006
@@ -26,12 +26,15 @@
import org.apache.derby.client.am.DisconnectException;
import org.apache.derby.client.am.SignedBinary;
import org.apache.derby.client.am.SqlException;
+import org.apache.derby.client.am.ClientMessageId;
import org.apache.derby.client.am.SqlWarning;
import org.apache.derby.client.am.Types;
import org.apache.derby.client.am.SqlCode;
import org.apache.derby.shared.common.reference.SQLState;
import org.apache.derby.shared.common.sanity.SanityManager;
+import org.apache.derby.shared.common.reference.SQLState;
+
public class NetCursor extends org.apache.derby.client.am.Cursor {
NetResultSet netResultSet_;
@@ -797,7 +800,8 @@
}
netAgent_.accumulateChainBreakingReadExceptionAndThrow(new DisconnectException(netAgent_,
- "parseSQLDIAGGRP not yet implemented"));
+ new ClientMessageId(SQLState.DRDA_COMMAND_NOT_IMPLEMENTED),
+ "parseSQLDIAGGRP"));
}
private String parseVCS(Typdef typdefInEffect) throws DisconnectException, SqlException {
@@ -830,9 +834,11 @@
try {
s = new String(dataBuffer_, position_, length, encoding);
} catch (java.io.UnsupportedEncodingException e) {
- netAgent_.accumulateChainBreakingReadExceptionAndThrow(new org.apache.derby.client.am.DisconnectException(e,
- netAgent_,
- "encoding not supported!!"));
+ netAgent_.accumulateChainBreakingReadExceptionAndThrow(
+ new org.apache.derby.client.am.DisconnectException(
+ netAgent_,
+ new ClientMessageId(SQLState.NET_ENCODING_NOT_SUPPORTED),
+ e));
}
position_ += length;
@@ -1038,7 +1044,8 @@
if (sqlcode < 0) {
sqlException = new SqlException(agent_.logWriter_, netResultSet_.queryTerminatingSqlca_);
} else {
- sqlException = new SqlException(agent_.logWriter_, "Query processing has been terminated due to error on the server.");
+ sqlException = new SqlException(agent_.logWriter_,
+ new ClientMessageId(SQLState.NET_QUERY_PROCESSING_TERMINATED));
}
try {
netResultSet_.closeX(); // the auto commit logic is in closeX()
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetDatabaseMetaData40.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetDatabaseMetaData40.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetDatabaseMetaData40.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetDatabaseMetaData40.java Tue May 2 16:10:44 2006
@@ -76,8 +76,9 @@
try {
return interfaces.cast(this);
} catch (ClassCastException cce) {
- throw new SqlException(null,new ClientMessageId(SQLState.UNABLE_TO_UNWRAP),
- interfaces).getSQLException();
+ throw new SqlException(null,
+ new ClientMessageId(SQLState.UNABLE_TO_UNWRAP),
+ interfaces).getSQLException();
}
}
}
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/NetResultSet40.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetResultSet40.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/NetResultSet40.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/NetResultSet40.java Tue May 2 16:10:44 2006
@@ -174,8 +174,9 @@
try {
return interfaces.cast(this);
} catch (ClassCastException cce) {
- throw new SqlException(null,new ClientMessageId(SQLState.UNABLE_TO_UNWRAP),
- interfaces).getSQLException();
+ throw new SqlException(null,
+ new ClientMessageId(SQLState.UNABLE_TO_UNWRAP),
+ interfaces).getSQLException();
}
}
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/Reply.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/net/Reply.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/Reply.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/Reply.java Tue May 2 16:10:44 2006
@@ -26,7 +26,11 @@
import org.apache.derby.client.am.SignedBinary;
import org.apache.derby.client.am.SqlException;
+import org.apache.derby.client.am.DisconnectException;
import org.apache.derby.client.am.SqlState;
+import org.apache.derby.client.am.ClientMessageId;
+
+import org.apache.derby.shared.common.reference.SQLState;
public class Reply {
protected org.apache.derby.client.am.Agent agent_;
@@ -167,10 +171,7 @@
// oops, we shouldn't expose the agent's input stream here, collapse this into a read method on the agent
actualBytesRead = netAgent_.getInputStream().read(buffer_, count_, buffer_.length - count_);
} catch (java.io.IOException ioe) {
- netAgent_.throwCommunicationsFailure("Reply.fill()",
- "InputStream.read()",
- ioe.getMessage(),
- "*");
+ netAgent_.throwCommunicationsFailure(ioe);
} finally {
if (agent_.loggingEnabled()) {
((NetLogWriter) netAgent_.logWriter_).traceProtocolFlow(buffer_,
@@ -189,10 +190,11 @@
if (actualBytesRead == -1) {
if (totalBytesRead < minimumBytesNeeded) {
- netAgent_.throwCommunicationsFailure("Reply.fill()",
- "InputStream.read()",
- "insufficient data",
- "*");
+ netAgent_.accumulateChainBreakingReadExceptionAndThrow(
+ new DisconnectException(netAgent_,
+ new ClientMessageId(SQLState.NET_INSUFFICIENT_DATA),
+ new Integer(minimumBytesNeeded),
+ new Integer(totalBytesRead)));
}
}
return totalBytesRead;
Modified: db/derby/code/trunk/java/client/org/apache/derby/client/net/Request.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/client/org/apache/derby/client/net/Request.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/client/org/apache/derby/client/net/Request.java (original)
+++ db/derby/code/trunk/java/client/org/apache/derby/client/net/Request.java Tue May 2 16:10:44 2006
@@ -339,10 +339,7 @@
try {
sendBytes(netAgent_.getOutputStream());
} catch (java.io.IOException ioe) {
- netAgent_.throwCommunicationsFailure("Request.writeScalarStream(...,InputStream)",
- "OutputStream.flush()",
- ioe.getMessage(),
- "*");
+ netAgent_.throwCommunicationsFailure(ioe);
}
} else {
System.arraycopy(encryptedBytes, 0, bytes_, offset_, encryptedBytesLength);
@@ -364,10 +361,7 @@
try {
sendBytes(netAgent_.getOutputStream());
} catch (java.io.IOException ioe) {
- netAgent_.throwCommunicationsFailure("Request.writeScalarStream(...,InputStream)",
- "OutputStream.flush()",
- ioe.getMessage(),
- "*");
+ netAgent_.throwCommunicationsFailure(ioe);
}
} else {
int leftlength = encryptedBytesLength + 2;
@@ -661,10 +655,7 @@
try {
sendBytes(netAgent_.getOutputStream());
} catch (java.io.IOException ioe) {
- netAgent_.throwCommunicationsFailure("Request.writeScalarStream(...,InputStream)",
- "OutputStream.flush()",
- ioe.getMessage(),
- "*");
+ netAgent_.throwCommunicationsFailure(ioe);
}
} else {
System.arraycopy(encryptedBytes, 0, bytes_, offset_, encryptedBytesLength);
@@ -685,10 +676,7 @@
try {
sendBytes(netAgent_.getOutputStream());
} catch (java.io.IOException ioe) {
- netAgent_.throwCommunicationsFailure("Request.writeScalarStream(...,InputStream)",
- "OutputStream.flush()",
- ioe.getMessage(),
- "*");
+ netAgent_.throwCommunicationsFailure(ioe);
}
} else {
int leftlength = encryptedBytesLength + 2;
@@ -739,10 +727,7 @@
}
sendBytes(netAgent_.getOutputStream());
} catch (java.io.IOException e) {
- netAgent_.throwCommunicationsFailure("Request.writeScalarStream(...,InputStream)",
- "OutputStream.flush()",
- e.getMessage(),
- "*");
+ netAgent_.throwCommunicationsFailure(e);
}
}
@@ -782,10 +767,7 @@
try {
sendBytes(netAgent_.getOutputStream());
} catch (java.io.IOException ioe) {
- netAgent_.throwCommunicationsFailure("Request.writeScalarStream(...,InputStream)",
- "OutputStream.flush()",
- ioe.getMessage(),
- "*");
+ netAgent_.throwCommunicationsFailure(ioe);
}
}
dssLengthLocation_ = offset_;
Modified: db/derby/code/trunk/java/engine/org/apache/derby/loc/messages_en.properties
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/engine/org/apache/derby/loc/messages_en.properties?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/loc/messages_en.properties (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/loc/messages_en.properties Tue May 2 16:10:44 2006
@@ -259,6 +259,21 @@
40XT7=Operation is not supported in an internal transaction.
#
+# 57,58 - DRDA errors with SQLStates required by the spec
+
+# 58009 is a generic message
+# MAKE SURE YOU INTERNATIONALIZE THE REASON STRING AS WELL - Use the JXXX
+# codes below. Add constants for the JXXX codes in reference.MessageId.java
+58009.C=A network protocol error was encountered and the connection has been terminated: {0}
+58010.C=A network protocol error was encountered. A connection could not be established because the manager {0} at level {1} is not supported by the server.
+58014.C=The DDM command 0x{0} is not supported. The connection has been terminated.
+58015.C=The DDM object 0x{0} is not supported. The connection has been terminated.
+58016.C=The DDM parameter 0x{0} is not supported. The connection has been terminated.
+58017.C=The DDM parameter value 0x{0} is not supported. An input host variable may not be within the range the server supports. The connection has been terminated.
+57017.C=There is no available conversion for the source code page, {0}, to the target code page, {1}. The connection has been terminated.
+
+
+#
#java/com/ibm/db2j/internalUtil
# Id Parse Errors XCXA0-XCXAZ
# Db Class Path Parse Errors XCXB0-XCXBZ
@@ -1200,7 +1215,15 @@
XJ210.S=The load module name for the stored procedure on the server is not found.
XJ211.S=Non-recoverable chain-breaking exception occurred during batch processing. The batch is terminated non-atomically.
-
+#XN - Network level messages
+XN001.S=Connection reset is not allowed when inside a unit of work.
+XN002.U=secktn was not returned.
+XN003.C=A connection could not be established because the database name ''{0}'' is larger than the maximum length allowed by the network protocol.
+XN004.C=A connection could not be established because the security token is larger than the maximum allowed by the network protocol.
+XN005.C=A connection could not be established because the user id has a length of zero or is larger than the maximum allowed by the network protocol.
+XN006.C=A connection could not be established because the password has a length of zero or is larger than the maximum allowed by the network protocol.
+XN007.C=The connection was terminated because the encoding is not supported.
+XN008.S=Query processing has been terminated due to an error on the server.
# 0A - SQLState class indicating feature not supported
0A000.S=Feature not implemented: {0}.
@@ -1208,6 +1231,8 @@
0A000.S.2=JDBC method {0} is not supported by the server. Please upgrade the server.
0A000.S.3=resultSetHoldability property {0} not supported
0A000.S.4=cancel() not supported by the server.
+0A000.S.5=Security mechanism ''{0}'' is not supported.
+0A000.C.6=The DRDA command {0} is not currently implemented. The connection has been terminated.
XJ004.C=Database ''{0}'' not found.
@@ -1217,8 +1242,16 @@
08003=No current connection.
08003.C.1=getConnection() is not valid on a closed PooledConnection.
08003.C.2=Lob method called after connection was closed
+
+# NOTE - the {0} parameter needs to be internationalized too. Don't
+# just put in a hardcoded string in your exception code.
08004=Connection refused : {0}
+# NOTE - the {0} reason needs to be internationalized too. Don't
+# just put in a hardcoded string in your exception code.
+08004.C.1=Connection authentication failure occurred. Reason: {0}.
+08004.C.2=The connection was refused because the database {0} was not found.
+
XJ028.C=The URL ''{0}'' is not properly formed.
XJ040.C=Failed to start database ''{0}'', see the next exception for details.
XJ041.C=Failed to create database ''{0}'', see the next exception for details.
@@ -1228,8 +1261,21 @@
XXXXX.C.6=Normal database session close.
+08001.C.1=Required property {0} not set.
+08001.C.2={0} : Error connecting to server {1} on port {2} with message {3}.
+08001.C.3=SocketException: ''{0}''
+08001.C.4=Unable to open stream on socket: ''{0}''.
+08001.C.5=User id length ({1}) is outside the range of 1 to {2}.
+08001.C.6=Password length ({1}) is outside the range of 1 to {2}.
+08001.C.7=User id can not be null.
+08001.C.8=Password can not be null.
+
08006.D=Database ''{0}'' shutdown.
08006.C.1=An error occurred during connect reset and the connection has been terminated. See chained exceptions for details.
+08006.C.2=SocketException: ''{0}''
+08006.C.3=A communications error has been detected: {0}.
+08006.C.4=An error occurred during a deferred connect reset and the connection has been terminated. See chained exceptions for details.
+08006.C.5=Insufficient data while reading from the network - expected a minimum of {0} bytes and received only {1} bytes. The connection has been terminated.
XJ015.M=Derby system shutdown.
@@ -1348,6 +1394,23 @@
J107=Error for batch element #
J108=Security manager does not permit access to system property {0}.
J109=Detected an improper TCP/IP client configuration. Unable to determine the IP address of your local host: ''{0}''. Make sure your client machine has a properly configured IP address.
+J110=security mechanism not supported
+J111=password missing
+J112=userid missing
+J113=userid or password invalid
+J114=userid revoked
+J115=new password invalid
+J116=local security service non-retryable error
+J117=SECTKN missing on ACCSEC when it is required or it is invalid
+J118=password expired
+J120=not specified
+J121=the user is not authorized to access the database
+J122=a command requesting services of the database was issued prior to the command requesting access to database (ACCRDB)
+J123=the requested command encountered an unarchitected and implementation-specific condition for which there was no architected message
+J124=the access relational database (ACCRDB) command cannot be issued because the database is already currently accessed
+J125=a Data Descriptor Mismatch Error was detected.
+J126=a conversational protocol error was detected. Reason: 0x{0}.
+J127=parseSQLDIAGGRP is not yet implemented
# Authentication
Modified: db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/MessageId.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/MessageId.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/MessageId.java (original)
+++ db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/MessageId.java Tue May 2 16:10:44 2006
@@ -1,6 +1,6 @@
/*
- Derby - Class org.apache.derby.iapi.reference.MessageId
+ Derby - Class org.apache.derby.shared.common.reference.MessageId
Copyright 2000, 2004 The Apache Software Foundation or its licensors, as applicable.
@@ -125,6 +125,22 @@
String CONN_NETWORK_SERVER_CLASS_LOAD = "J101"; // Cannot load the network server constructor
String CONN_NETWORK_SERVER_START_EXCEPTION = "J102";
String CONN_NETWORK_SERVER_SHUTDOWN_EXCEPTION = "J103";
+ String CONN_SECMECH_NOT_SUPPORTED = "J110";
+ String CONN_PASSWORD_MISSING = "J111";
+ String CONN_USERID_MISSING = "J112";
+ String CONN_USERID_OR_PASSWORD_INVALID = "J113";
+ String CONN_USERID_REVOKED = "J114";
+ String CONN_NEW_PASSWORD_INVALID = "J115";
+ String CONN_SECSVC_NONRETRYABLE_ERR = "J116";
+ String CONN_SECTKN_MISSING_OR_INVALID = "J117";
+ String CONN_PASSWORD_EXPIRED = "J118";
+ String CONN_NOT_SPECIFIED = "J120";
+ String CONN_USER_NOT_AUTHORIZED_TO_DB = "J121";
+ String CONN_DRDA_RDBNACRM = "J122";
+ String CONN_DRDA_CMDCHKRM = "J123";
+ String CONN_DRDA_RDBACCRM = "J124";
+ String CONN_DRDA_DTARMCHRM = "J125";
+ String CONN_DRDA_PRCCNVRM = "J126";
/*
** Authentication
Modified: db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/SQLState.java
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/SQLState.java?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/SQLState.java (original)
+++ db/derby/code/trunk/java/shared/org/apache/derby/shared/common/reference/SQLState.java Tue May 2 16:10:44 2006
@@ -1354,6 +1354,9 @@
String JDBC_METHOD_NOT_SUPPORTED_BY_SERVER = "0A000.S.2";
String UNSUPPORTED_HOLDABILITY_PROPERTY = "0A000.S.3";
String CANCEL_NOT_SUPPORTED_BY_SERVER = "0A000.S.4";
+ String SECMECH_NOT_SUPPORTED = "0A000.S.5";
+ String DRDA_COMMAND_NOT_IMPLEMENTED = "0A000.C.6";
+
@@ -1508,6 +1511,16 @@
String STORED_PROC_LOAD_MODULE_NOT_FOUND = "XJ210.S";
String BATCH_CHAIN_BREAKING_EXCEPTION = "XJ211.S";
+ //XN - Network-level messages
+ String NET_CONNECTION_RESET_NOT_ALLOWED_IN_UNIT_OF_WORK = "XN001.S";
+ String NET_SECKTKN_NOT_RETURNED = "XN002.U";
+ String NET_DBNAME_TOO_LONG = "XN003.C";
+ String NET_SECTKN_TOO_LONG = "XN004.C";
+ String NET_USERID_TOO_LONG = "XN005.C";
+ String NET_PASSWORD_TOO_LONG = "XN006.C";
+ String NET_ENCODING_NOT_SUPPORTED = "XN007.C";
+ String NET_QUERY_PROCESSING_TERMINATED = "XN008.S";
+
// Used by server for scrollable updatable insensitive result sets
// to transmit updated state to client. Internal, not seen by user.
// Has no message in messages.properties as it is never printed.
@@ -1537,7 +1550,12 @@
// Connection exceptions - SQL State class 08
//following are database severity
String NO_CURRENT_CONNECTION = "08003";
+
+ // 08004 SQL State means the server rejected the connection request
String LOGIN_FAILED = "08004";
+ String NET_CONNECT_AUTH_FAILED = "08004.C.1";
+ String NET_DATABASE_NOT_FOUND = "08004.C.2";
+
// There can be multiple causes for 08003, which according
// to SQL2003 spec means "connection does not exist"
// We use a suffix to distinguish them. Because of the suffix
@@ -1546,7 +1564,32 @@
String LOB_METHOD_ON_CLOSED_CONNECTION = "08003.C.2";
// 08006 means connection exception - connection failure
- String CONNECTION_FAILED_ON_RESET = "08006.C.1";
+ String CONNECTION_FAILED_ON_RESET = "08006.C.1";
+ // Use this version of SOCKET_EXCEPTION any time *except* when trying to
+ // establish a connection, as the SQLState is different. When trying
+ // to establish a connection, use CONNECT_SOCKET_EXCEPTION.
+ String SOCKET_EXCEPTION = "08006.C.2";
+ String COMMUNICATION_ERROR = "08006.C.3";
+ String CONNECTION_FAILED_ON_DEFERRED_RESET = "08006.C.4";
+ String NET_INSUFFICIENT_DATA = "08006.C.5";
+
+ // 08001 is specifically about the SQL client not being able to establish
+ // a connection with the server. Should only be used for errors that
+ // occur upon attempting to open a connection.
+ // NOTE that if the server *rejects* the connection, that's a different
+ // SQLState- 08004'
+ String CONNECT_REQUIRED_PROPERTY_NOT_SET = "08001.C.1";
+ String CONNECT_UNABLE_TO_CONNECT_TO_SERVER = "08001.C.2";
+ // Use this version of socket exception occurs when trying to establish
+ // a connection to the server, as the SQL State 08001 indicates failure
+ // to establish a connection. If you aren't trying to connect, just
+ // use SOCKET_EXCEPTION
+ String CONNECT_SOCKET_EXCEPTION = "08001.C.3";
+ String CONNECT_UNABLE_TO_OPEN_SOCKET_STREAM = "08001.C.4";
+ String CONNECT_USERID_LENGTH_OUT_OF_RANGE = "08001.C.5";
+ String CONNECT_PASSWORD_LENGTH_OUT_OF_RANGE = "08001.C.6";
+ String CONNECT_USERID_ISNULL = "08001.C.7";
+ String CONNECT_PASSWORD_ISNULL = "08001.C.8";
// system severity
String SHUTDOWN_DATABASE = "08006.D";
@@ -1589,8 +1632,15 @@
/*
** Messages whose SQL states are proscribed by DRDA
*/
- String DRDA_NO_AUTOCOMMIT_UNDER_XA = "2D521.S.1";
- String DRDA_INVALID_XA_STATE_ON_COMMIT_OR_ROLLBACK = "2D521.S.2";
+ String DRDA_NO_AUTOCOMMIT_UNDER_XA = "2D521.S.1";
+ String DRDA_INVALID_XA_STATE_ON_COMMIT_OR_ROLLBACK = "2D521.S.2";
+ String DRDA_CONNECTION_TERMINATED = "58009.C";
+ String DRDA_MGRLVLRM = "58010.C";
+ String DRDA_DDM_COMMAND_NOT_SUPPORTED = "58014.C";
+ String DRDA_DDM_OBJECT_NOT_SUPPORTED = "58015.C";
+ String DRDA_DDM_PARAM_NOT_SUPPORTED = "58016.C";
+ String DRDA_DDM_PARAMVAL_NOT_SUPPORTED = "58017.C";
+ String DRDA_NO_AVAIL_CODEPAGE_CONVERSION = "57017.C";
/*
** org.apache.derby.database.UserUtility
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/badConnection.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/badConnection.out?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/badConnection.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/badConnection.out Tue May 2 16:10:44 2006
@@ -3,13 +3,13 @@
SQLState is: 08004
vendorCode is: -4499
nextException is: null
-reason is: The application server rejected establishment of the connection. An attempt was made to access a database, testbase, which was not found.
+reason is: The connection was refused because the database testbase was not found.
Database not Found (RDBNFNRM)
passed SQLException all the way to client, then thrown by client...
SQLState is: 08004
vendorCode is: -4499
nextException is: null
-reason is: The application server rejected establishment of the connection. An attempt was made to access a database, notthere, which was not found.
+reason is: The connection was refused because the database notthere was not found.
Invalid Attribute value (RDBAFLRM)
passed SQLException all the way to client, then thrown by client...
SQLState is: XJ05B
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/secureUsers.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/secureUsers.out?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/secureUsers.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/secureUsers.out Tue May 2 16:10:44 2006
@@ -81,7 +81,7 @@
ij> connect 'guestSchemeDB;user=system;password=manager;shutdown=true';
ERROR 08006: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08006, SQLERRMC: Database 'guestSchemeDB' shutdown.
ij> connect 'derbySchemeDB;user=system;password=manager;shutdown=true';
-ERROR (no SQLState): Connection authorization failure occurred. Reason: userid invalid.
+ERROR 08004: Connection authentication failure occurred. Reason: userid or password invalid.
ij> connect 'simpleSchemeDB;user=system;password=manager;shutdown=true';
ERROR 08006: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08006, SQLERRMC: Database 'simpleSchemeDB' shutdown.
ij> disconnect all;
@@ -127,9 +127,9 @@
ij(CONNECTION11)> connect 'derbySchemeDB;user=martin;password=obfuscateIt';
ij(CONNECTION12)> -- Invalid ones:
connect 'derbySchemeDB;user=Jamie;password=theHooligan';
-ERROR (no SQLState): Connection authorization failure occurred. Reason: userid invalid.
+ERROR 08004: Connection authentication failure occurred. Reason: userid or password invalid.
ij(CONNECTION12)> connect 'derbySchemeDB;user=francois;password=paceesalute';
-ERROR (no SQLState): Connection authorization failure occurred. Reason: userid invalid.
+ERROR 08004: Connection authentication failure occurred. Reason: userid or password invalid.
ij(CONNECTION12)> show connections;
CONNECTION0 - jdbc:derby://xxxFILTERED_HOSTNAMExxx:1527/wombat;create=true
CONNECTION1 - jdbc:derby://xxxFILTERED_HOSTNAMExxx:1527/wombat
@@ -155,9 +155,9 @@
connect 'simpleSchemeDB;user=Jamie;password=theHooligan';
ERROR 04501: DERBY SQL error: SQLCODE: -1, SQLSTATE: 04501, SQLERRMC: Database connection refused.
ij(CONNECTION15)> connect 'simpleSchemeDB;user=dan;password=makeItFaster';
-ERROR (no SQLState): Connection authorization failure occurred. Reason: userid invalid.
+ERROR 08004: Connection authentication failure occurred. Reason: userid or password invalid.
ij(CONNECTION15)> connect 'simpleSchemeDB;user=francois;password=corsica';
-ERROR (no SQLState): Connection authorization failure occurred. Reason: userid invalid.
+ERROR 08004: Connection authentication failure occurred. Reason: userid or password invalid.
ij(CONNECTION15)> show connections;
CONNECTION0 - jdbc:derby://xxxFILTERED_HOSTNAMExxx:1527/wombat;create=true
CONNECTION1 - jdbc:derby://xxxFILTERED_HOSTNAMExxx:1527/wombat
@@ -181,7 +181,7 @@
No connections available.
ij> -- Database shutdown - check user - should fail
connect 'derbySchemeDB;shutdown=true';
-ERROR (no SQLState): Connection authorization failure occurred. Reason: userid invalid.
+ERROR 08004: Connection authentication failure occurred. Reason: userid or password invalid.
ij> show connections;
No connections available.
ij> -- Database shutdown - check user - should succeed
@@ -197,7 +197,7 @@
No connections available.
ij> -- Derby system shutdown - check user - should fail
connect ';user=jamie;password=LetMeIn;shutdown=true';
-ERROR (no SQLState): Connection authorization failure occurred. Reason: userid invalid.
+ERROR 08004: Connection authentication failure occurred. Reason: userid or password invalid.
ij> disconnect all;
ij> -- Derby system shutdown - check user - should succeed
connect ';user=system;password=manager;shutdown=true';
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/secureUsers1.out
URL: http://svn.apache.org/viewcvs/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/secureUsers1.out?rev=399078&r1=399077&r2=399078&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/secureUsers1.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/secureUsers1.out Tue May 2 16:10:44 2006
@@ -31,7 +31,7 @@
ERROR 08006: DERBY SQL error: SQLCODE: -1, SQLSTATE: 08006, SQLERRMC: Database 'ldapSchemeDB' shutdown.
ij> disconnect all;
ij> connect 'ldapSchemeDB;user=mamta;password=yeeHaLdap';
-ERROR (no SQLState): Connection authorization failure occurred. Reason: userid invalid.
+ERROR 08004: Connection authentication failure occurred. Reason: userid or password invalid.
ij> show connections;
No connections available.
ij> disconnect all;