db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From banda...@apache.org
Subject svn commit: r165178 [15/26] - in /incubator/derby/code/trunk: ./ java/client/ java/client/org/ java/client/org/apache/ java/client/org/apache/derby/ java/client/org/apache/derby/client/ java/client/org/apache/derby/client/am/ java/client/org/apache/derby/client/net/ java/client/org/apache/derby/client/resources/ java/client/org/apache/derby/jdbc/ tools/ant/properties/
Date Thu, 28 Apr 2005 19:05:45 GMT
Added: incubator/derby/code/trunk/java/client/org/apache/derby/client/net/FdocaConstants.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/client/org/apache/derby/client/net/FdocaConstants.java?rev=165178&view=auto
==============================================================================
--- incubator/derby/code/trunk/java/client/org/apache/derby/client/net/FdocaConstants.java (added)
+++ incubator/derby/code/trunk/java/client/org/apache/derby/client/net/FdocaConstants.java Thu Apr 28 12:05:42 2005
@@ -0,0 +1,251 @@
+/*
+
+   Derby - Class org.apache.derby.client.net.FdocaConstants
+
+   Copyright (c) 2001, 2005 The Apache Software Foundation or its licensors, where applicable.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+*/
+package org.apache.derby.client.net;
+
+class FdocaConstants
+{
+
+// PROTOCOL FD:OCA constants.
+  static final int FDOCA_TYPE_FIXEDBYTES = 0x01;
+  static final int FDOCA_TYPE_NFIXEDBYTES = 0x81;
+  static final int FDOCA_TYPE_VARBYTES = 0x02;
+  static final int FDOCA_TYPE_NVARBYTES = 0x82;
+  static final int FDOCA_TYPE_NTBYTES = 0x03;
+  static final int FDOCA_TYPE_NNTBYTES = 0x83;
+  static final int FDOCA_TYPE_PSCLBYTE = 0x07;
+  static final int FDOCA_TYPE_NPSCLBYTE = 0x87;
+  static final int FDOCA_TYPE_FIXEDCHAR = 0x10;
+  static final int FDOCA_TYPE_NFIXEDCHAR = 0x90;
+  static final int FDOCA_TYPE_VARCHAR = 0x11;
+  static final int FDOCA_TYPE_NVARCHAR = 0x91;
+  static final int FDOCA_TYPE_NTCHAR = 0x14;
+  static final int FDOCA_TYPE_NNTCHAR = 0x94;
+  static final int FDOCA_TYPE_PSCLCHAR = 0x19;
+  static final int FDOCA_TYPE_NPSCLCHAR = 0x99;
+  static final int FDOCA_TYPE_INTEGER_BE = 0x23;
+  static final int FDOCA_TYPE_NINTEGER_BE = 0xA3;
+  static final int FDOCA_TYPE_INTEGER_LE = 0x24;
+  static final int FDOCA_TYPE_NINTEGER_LE = 0xA4;
+  static final int FDOCA_TYPE_DECIMAL = 0x30;
+  static final int FDOCA_TYPE_NDECIMAL = 0xB0;
+  static final int FDOCA_TYPE_NUMERIC_CHAR = 0x32;
+  static final int FDOCA_TYPE_NNUMERIC_CHAR = 0xB2;
+  static final int FDOCA_TYPE_FLOAT_X86 = 0x47;
+  static final int FDOCA_TYPE_NFLOAT_X86 = 0xC7;
+  static final int FDOCA_TYPE_FLOAT_IEEE = 0x48;
+  static final int FDOCA_TYPE_NFLOAT_IEEE = 0xC8;
+  static final int FDOCA_TYPE_LOBBYTES = 0x50;
+  static final int FDOCA_TYPE_NLOBBYTES = 0xD0;
+  static final int FDOCA_TYPE_LOBCHAR = 0x51;
+  static final int FDOCA_TYPE_NLOBCHAR = 0xD1;
+
+  // PROTOCOL Type constants.
+  static final int PROTOCOL_TYPE_INTEGER = 0x02;
+  static final int PROTOCOL_TYPE_NINTEGER = 0x03;
+  static final int PROTOCOL_TYPE_SMALL = 0x04;
+  static final int PROTOCOL_TYPE_NSMALL = 0x05;
+  static final int PROTOCOL_TYPE_1BYTE_INT = 0x06;
+  static final int PROTOCOL_TYPE_N1BYTE_INT = 0x07;
+  static final int PROTOCOL_TYPE_FLOAT16 = 0x08;
+  static final int PROTOCOL_TYPE_NFLOAT16 = 0x09;
+  static final int PROTOCOL_TYPE_FLOAT8 = 0x0A;
+  static final int PROTOCOL_TYPE_NFLOAT8 = 0x0B;
+  static final int PROTOCOL_TYPE_FLOAT4 = 0x0C;
+  static final int PROTOCOL_TYPE_NFLOAT4 = 0x0D;
+  static final int PROTOCOL_TYPE_DECIMAL = 0x0E;
+  static final int PROTOCOL_TYPE_NDECIMAL = 0x0F;
+  static final int PROTOCOL_TYPE_NUMERIC_CHAR = 0x12;
+  static final int PROTOCOL_TYPE_NNUMERIC_CHAR = 0x13;
+  static final int PROTOCOL_TYPE_RSET_LOC = 0x14;
+  static final int PROTOCOL_TYPE_NRSET_LOC = 0x15;
+  static final int PROTOCOL_TYPE_INTEGER8 = 0x16;
+  static final int PROTOCOL_TYPE_NINTEGER8 = 0x17;
+  static final int PROTOCOL_TYPE_LOBLOC = 0x18;
+  static final int PROTOCOL_TYPE_NLOBLOC = 0x19;
+  static final int PROTOCOL_TYPE_CLOBLOC = 0x1A;
+  static final int PROTOCOL_TYPE_NCLOBLOC = 0x1B;
+  static final int PROTOCOL_TYPE_DBCSCLOBLOC = 0x1C;
+  static final int PROTOCOL_TYPE_NDBCSCLOBLOC = 0x1D;
+  static final int PROTOCOL_TYPE_DATE = 0x20;
+  static final int PROTOCOL_TYPE_NDATE = 0x21;
+  static final int PROTOCOL_TYPE_TIME = 0x22;
+  static final int PROTOCOL_TYPE_NTIME = 0x23;
+  static final int PROTOCOL_TYPE_TIMESTAMP = 0x24;
+  static final int PROTOCOL_TYPE_NTIMESTAMP = 0x25;
+  static final int PROTOCOL_TYPE_FIXBYTE = 0x26;
+  static final int PROTOCOL_TYPE_NFIXBYTE = 0x27;
+  static final int PROTOCOL_TYPE_VARBYTE = 0x28;
+  static final int PROTOCOL_TYPE_NVARBYTE = 0x29;
+  static final int PROTOCOL_TYPE_LONGVARBYTE = 0x2A;
+  static final int PROTOCOL_TYPE_NLONGVARBYTE = 0x2B;
+  static final int PROTOCOL_TYPE_NTERMBYTE = 0x2C;
+  static final int PROTOCOL_TYPE_NNTERMBYTE = 0x2D;
+  static final int PROTOCOL_TYPE_CSTR = 0x2E;
+  static final int PROTOCOL_TYPE_NCSTR = 0x2F;
+  static final int PROTOCOL_TYPE_CHAR = 0x30;
+  static final int PROTOCOL_TYPE_NCHAR = 0x31;
+  static final int PROTOCOL_TYPE_VARCHAR = 0x32;
+  static final int PROTOCOL_TYPE_NVARCHAR = 0x33;
+  static final int PROTOCOL_TYPE_LONG = 0x34;
+  static final int PROTOCOL_TYPE_NLONG = 0x35;
+  static final int PROTOCOL_TYPE_MIX = 0x3C;
+  static final int PROTOCOL_TYPE_NMIX = 0x3D;
+  static final int PROTOCOL_TYPE_VARMIX = 0x3E;
+  static final int PROTOCOL_TYPE_NVARMIX = 0x3F;
+  static final int PROTOCOL_TYPE_LONGMIX = 0x40;
+  static final int PROTOCOL_TYPE_NLONGMIX = 0x41;
+  static final int PROTOCOL_TYPE_CSTRMIX = 0x42;
+  static final int PROTOCOL_TYPE_NCSTRMIX = 0x43;
+  static final int PROTOCOL_TYPE_PSCLBYTE = 0x44;
+  static final int PROTOCOL_TYPE_NPSCLBYTE = 0x45;
+
+  // --- Override LIDs 0x50 - 0xAF
+  static final int FIRST_OVERRIDE_LID = 0x50;
+  static final int LAST_OVERRIDE_LID = 0xAF;
+
+  static final int PROTOCOL_TYPE_LOBBYTES = 0xC8;
+  static final int PROTOCOL_TYPE_NLOBBYTES = 0xC9;
+  static final int PROTOCOL_TYPE_LOBCSBCS = 0xCA;
+  static final int PROTOCOL_TYPE_NLOBCSBCS = 0xCB;
+  static final int PROTOCOL_TYPE_LOBCDBCS = 0xCC;
+  static final int PROTOCOL_TYPE_NLOBCDBCS = 0xCD;
+  static final int PROTOCOL_TYPE_LOBCMIXED = 0xCE;
+  static final int PROTOCOL_TYPE_NLOBCMIXED = 0xCF;
+
+  static final int CPT_TRIPLET_TYPE = 0x7F;      // CPT triplet type
+  static final int MDD_TRIPLET_TYPE = 0x78;      // MDD triplet type
+  static final int NGDA_TRIPLET_TYPE = 0x76;     // N-GDA triplet type
+  static final int RLO_TRIPLET_TYPE = 0x71;      // RLO triplet type
+  static final int SDA_TRIPLET_TYPE = 0x70;      // SDA triplet type
+
+  static final int SQLDTARD_LID = 0xF0;
+  static final int SQLCADTA_LID = 0xE0;
+  static final int SQLDTAGRP_LID = 0xD0;         // SQLDTAGRP LID
+  static final int NULL_LID = 0x00;
+
+  static final int INDICATOR_NULLABLE = 0x00;
+  static final int NULL_DATA = 0xFF;
+
+  static final int MAX_VARS_IN_NGDA = 84;        // Number of SQLVARs in full SQLDTAGRP
+                                                 // N-GDA or CPT
+  static final int MDD_TRIPLET_SIZE = 7;         // Size of MDD triplet
+  static final int SQLDTARD_RLO_SIZE = 6;        // size of SQLDTARD minus MDD
+  static final int SQLCADTA_RLO_SIZE = 9;        // size of SQLCDTA minus MDD
+  static final int SDA_TRIPLET_SIZE = 12;        // Size of SDA triplet
+  static final int SQLDTAGRP_SIZE = 3;           // Size of SQLDTAGRP descriptor
+  static final int CPT_SIZE = 3;                 // Size of CPT descriptor
+  static final int SQLDTAGRP_COL_DSC_SIZE = 3;   // Env. LID & len. bytes
+  static final int MDD_REST_SIZE = 5;            // Size of the MDD group minus length and type
+
+  static final int MDD_SDA_TRIPLET_SIZE = 19;
+  static final int MDD_SDA_PROTOCOLTYPE_OFFSET = 6;
+  static final int MDD_SDA_FDOCALID_OFFSET = 9;
+  static final int MDD_SDA_FDOCATYPE_OFFSET = 10;
+  static final int MDD_SDA_CCSID_OFFSET = 11;
+  static final int MDD_SDA_LENGTH_OFFSET = 17;
+
+  static final byte[] defaultMddSdaBytes = {
+    (byte)0x07, (byte)0x78, (byte)0x00, (byte)0x05,
+    (byte)0x01, (byte)0x01, (byte)0x00,              // protocol type
+    (byte)0x0C, (byte)0x70, (byte)0x00,              // fdoca triplet lid
+    (byte)0x00,                                      // fdoca field type
+    (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,  // ccsid
+    (byte)0x01, (byte)0x01,
+    (byte)0x7F, (byte)0xFF                           // length
+  };
+
+  static final byte[] MDD_SQLDTAGRP_TOSEND = {
+    (byte)0x07, (byte)0x78, (byte)0x00, (byte)0x05,
+    (byte)0x02, (byte)0x01, (byte)0xD0
+  };
+
+  static final byte[] MDD_SQLDTA_TOSEND = {
+    (byte)0x07, (byte)0x78, (byte)0x00, (byte)0x05,
+    (byte)0x03, (byte)0x01, (byte)0xE4
+  };
+
+  // Hard-coded SQLDTA RLO
+  static final byte[] SQLDTA_RLO_TOSEND = {   
+    (byte)0x06, (byte)0x71, (byte)0xE4,
+    (byte)0xD0, (byte)0x00, (byte)0x01
+  };
+
+  // Hard-coded SQLCADTA RLO
+  static final byte[] SQLCADTA_RLO_TOSEND = {  
+    (byte)0x09, (byte)0x71, (byte)0xE0,        
+    (byte)0x54, (byte)0x00, (byte)0x01,        
+    (byte)0xD0, (byte)0x00, (byte)0x01
+  };
+
+  // Hard-coded SQLDTARD RLO
+  static final byte[] SQLDTARD_RLO_TOSEND = {  
+    (byte)0X06, (byte)0X71, (byte)0xF0,        
+    (byte)0xE0, (byte)0x00, (byte)0x00         
+  };
+
+  // following code added for parseSQLDTARD prototype
+    static final int SQLDTARD_TRIPLET_TYPE_START = 0;
+    static final int SQLDTARD_TRIPLET_TYPE_END = 1;
+    static final int SQLDTARD_TRIPLET_TYPE_MDD = 2;
+    static final int SQLDTARD_TRIPLET_TYPE_SDA = 3;
+    static final int SQLDTARD_TRIPLET_TYPE_RLO = 4;
+    static final int SQLDTARD_TRIPLET_TYPE_GDA = 5;
+    static final int SQLDTARD_TRIPLET_TYPE_CPT = 6;
+
+    static final boolean[][] SQLDTARD_TRIPLET_TYPES = {
+     //   /*START*/, /*END*/, /*MDD*/, /*SDA*/, /*RLO*/, /*GDA*/, /*CPT*/    // next ->
+/*START*/ { false  , false  ,  true  ,  false ,  false ,  true  , false },
+/* END */ { false  , false  ,  false ,  false ,  false ,  false , false },
+/* MDD */ { false  , false  ,  false ,  true  ,  true  ,  true  , false },    //           |
+/* SDA */ { false  , false  ,  true  ,  false ,  false ,  false , false },    // previous  |
+/* RLO */ { false  , true   ,  true  ,  false ,  true  ,  false , false },    //          \ /
+/* GDA */ { false  , false  ,  true  ,  false ,  true  ,  false , true  },
+/* CPT */ { false  , false  ,  true  ,  false ,  true  ,  false , true }};
+
+    static final int SQLDTARD_TRIPLET_ID_START = 0;
+    static final int SQLDTARD_TRIPLET_ID_END = 1;
+    static final int SQLDTARD_TRIPLET_ID_SDA = 2;
+    static final int SQLDTARD_TRIPLET_ID_0 = 3;
+    static final int SQLDTARD_TRIPLET_ID_D0 = 4;
+    static final int SQLDTARD_TRIPLET_ID_E0 = 5;
+    static final int SQLDTARD_TRIPLET_ID_F0 = 6;
+
+    static final boolean[][] SQLDTARD_TRIPLET_IDS = {
+      //   /*START*/, /*END*/, /*SDA*/, /*0*/, /*D0*/, /*E0*/, /*F4*/ // next ->
+/*START*/  { false  , false  ,  false ,  true , true , false , false },
+/* END */  { false  , false  ,  false ,  false, false, false , false },
+/* SDA */  { false  , false  ,  false ,  true , false, false , false },
+/* 0   */  { false  , false  ,  true  ,  true , true , true  , true  },
+/* D0 */   { false  , false  ,  false ,  true , false, true  , false },
+/* E0 */   { false  , false  ,  false ,  true , false, false , true  },
+/* F4 */   { false  , true   ,  false ,  false, false, false , false }};
+
+    static final int RLO_GROUP_LID = 0;
+    static final int RLO_ELEMENT_TAKEN = 1;
+    static final int RLO_REP_FACTOR = 2;
+
+    static final int[][] RLO_SQLCADTA = {// GROUP LID , ELEM TAKEN,  REP_FACTOR
+                                        {   0x54    ,     0     ,      1},
+                                        {   0xD0    ,     0     ,      1}};
+
+    static final int[][] RLO_SQLDTARD = {// GROUP LID , ELEM TAKEN,  REP_FACTOR
+                                        {   0xE0    ,     0     ,      0}};
+
+}

Propchange: incubator/derby/code/trunk/java/client/org/apache/derby/client/net/FdocaConstants.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/client/org/apache/derby/client/net/FdocaSimpleDataArray.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/client/org/apache/derby/client/net/FdocaSimpleDataArray.java?rev=165178&view=auto
==============================================================================
--- incubator/derby/code/trunk/java/client/org/apache/derby/client/net/FdocaSimpleDataArray.java (added)
+++ incubator/derby/code/trunk/java/client/org/apache/derby/client/net/FdocaSimpleDataArray.java Thu Apr 28 12:05:42 2005
@@ -0,0 +1,121 @@
+/*
+
+   Derby - Class org.apache.derby.client.net.FdocaSimpleDataArray
+
+   Copyright (c) 2001, 2005 The Apache Software Foundation or its licensors, where applicable.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+*/
+
+package org.apache.derby.client.net;
+
+class FdocaSimpleDataArray
+{
+  //---------------------navigational members-----------------------------------
+
+  //-----------------------------state------------------------------------------
+
+  // store the protocol type. this is needed to know
+  // which protocol type the mdd override is for.
+  int protocolType_;  
+
+  // the FD:OCA field type indicator shows exactly how the data is represented
+  // in the environment.  see the FD:OCA reference for a detailed explanation of
+  // these types.
+  int fdocaFieldType_;
+
+  // this is the representation used by the DNC converters.  this is like the
+  // FD:OCA field type but the dnc converters don't use FD:OCA types as input.
+  int representation_;
+
+  // the ccsid identifies the encoding of the character data.  converting the
+  // ccsid into binary form generates the four byte representation.  The
+  // FD:OCA rules state that if the high order 16 bits of the CCSID field
+  // are zero, then the low order 16 bits are to be interpreted as a CCSID
+  int ccsid_;
+
+  // indicates the number of bytes each character takes in storage.
+  // 1 is used for character, date, time, timestamp, and numeric character fields.
+  // it must be 0 for all other types.
+  int characterSize_;
+
+  // this is used to specify mode of interpretation of FD:OCA
+  // architecture for all variable length data types (including null
+  // terminated), that as the SBCS variable character type.  The
+  // low order bit of this byte is used to control interpretation
+  // of Length Fields in SDAs for variable length types.  A '0' in that
+  // bit indicates that non-zero length field values indicate the space
+  // reserved for data and that all the space is transmitted
+  // whether or not it contains valid data.  In the case of variable
+  // length types, the first two bytes of the data itself determine
+  // the valid data length.  A '1' in this bit shows that non-zero length
+  // field values indicate the maximum value of the length fields
+  // that the data will contain.  Only enough space to contain each
+  // data value is transmitted for each value.
+  int mode_;
+
+  // this represents the maximum valid value.  when and if a group
+  // data array (GDA) triplet overrides it, the value can be reduced.
+  // For character fields with only DBCS characters, this is the length in
+  // characters (bytes/2).  For all other cases, the length is in bytes.
+  // It does not include the length of the length field (variable length
+  // types) or null indicator (nullable types).
+  //
+  int fieldLength_;
+
+  // this is a group of types which indicates how the data length are computed.
+  int typeToUseForComputingDataLength_;
+
+  //---------------------constructors/finalizer---------------------------------
+
+  FdocaSimpleDataArray (int protocolType,   
+                        int fdocaFieldType,
+                        int representation,
+                        int ccsid,
+                        int characterSize,
+                        int mode,
+                        int fieldLength,
+                        int typeToUseForComputingDataLength)
+
+  {
+    protocolType_ = protocolType;  
+    fdocaFieldType_ = fdocaFieldType;
+    representation_ = representation;
+    ccsid_ = ccsid;
+    characterSize_ = characterSize;
+    mode_ = mode;
+    fieldLength_ = fieldLength;
+    typeToUseForComputingDataLength_ = typeToUseForComputingDataLength;
+  }
+
+  public void update (int protocolType,
+                      int fdocaFieldType,
+                      int representation,
+                      int ccsid,
+                      int characterSize,
+                      int mode,
+                      int fieldLength,
+                      int typeToUseForComputingDataLength)
+  {
+    protocolType_ = protocolType;
+    fdocaFieldType_ = fdocaFieldType;
+    representation_ = representation;
+    ccsid_ = ccsid;
+    characterSize_ = characterSize;
+    mode_ = mode;
+    fieldLength_ = fieldLength;
+    typeToUseForComputingDataLength_ = typeToUseForComputingDataLength;
+  }
+
+}

Propchange: incubator/derby/code/trunk/java/client/org/apache/derby/client/net/FdocaSimpleDataArray.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java?rev=165178&view=auto
==============================================================================
--- incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java (added)
+++ incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java Thu Apr 28 12:05:42 2005
@@ -0,0 +1,490 @@
+/*
+
+   Derby - Class org.apache.derby.client.net.NetAgent
+
+   Copyright (c) 2001, 2005 The Apache Software Foundation or its licensors, where applicable.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+*/
+
+package org.apache.derby.client.net;
+
+import org.apache.derby.client.am.Agent;
+import org.apache.derby.client.am.Utils;
+import org.apache.derby.client.am.SqlException;
+import org.apache.derby.client.am.DisconnectException;
+
+public class NetAgent extends Agent
+{
+  //---------------------navigational members-----------------------------------
+
+  // All these request objects point to the same physical request object.
+  public ConnectionRequestInterface connectionRequest_;
+  public NetConnectionRequest packageRequest_;
+  public StatementRequestInterface statementRequest_;
+  public ResultSetRequestInterface resultSetRequest_;
+
+  // All these reply objects point to the same physical reply object.
+  public ConnectionReply connectionReply_;
+  public ConnectionReply packageReply_;
+  public StatementReply statementReply_;
+  public ResultSetReply resultSetReply_;
+
+  //---------------------navigational cheat-links-------------------------------
+  // Cheat-links are for convenience only, and are not part of the conceptual model.
+  // Warning:
+  //   Cheat-links should only be defined for invariant state data.
+  //   That is, the state data is set by the constructor and never changes.
+
+  // Alias for (NetConnection) super.connection
+  NetConnection netConnection_;
+
+  // Alias for (Request) super.*Request, all in one
+  // In the case of the NET implementation, these all point to the same physical request object.
+  protected Request request_;
+  public NetConnectionRequest netConnectionRequest_;
+  public NetPackageRequest netPackageRequest_;
+  public NetStatementRequest netStatementRequest_;
+  public NetResultSetRequest netResultSetRequest_;
+
+  // Alias for (Reply) super.*Reply, all in one.
+  // In the case of the NET implementation, these all point to the same physical reply object.
+  protected Reply reply_;
+  public NetConnectionReply netConnectionReply_;
+  public NetPackageReply netPackageReply_;
+  public NetStatementReply netStatementReply_;
+  public NetResultSetReply netResultSetReply_;
+
+  //-----------------------------state------------------------------------------
+
+  java.net.Socket socket_; 
+  java.io.InputStream rawSocketInputStream_;
+  java.io.OutputStream rawSocketOutputStream_;
+
+  String server_;
+  int port_;
+  public CcsidManager sourceCcsidManager_;
+  public CcsidManager targetCcsidManager_;
+  public Typdef typdef_;
+  public Typdef targetTypdef_;
+  public Typdef originalTargetTypdef_; // added to support typdef overrides
+
+  protected int svrcod_;
+
+  public int orignalTargetSqlam_ = NetConfiguration.MGRLVL_7; 
+  public int targetSqlam_ = orignalTargetSqlam_;
+
+  public SqlException exceptionOpeningSocket_ = null;
+  //---------------------constructors/finalizer---------------------------------
+  public NetAgent(NetConnection netConnection,
+                 org.apache.derby.client.am.LogWriter logWriter) throws SqlException
+  {
+    super (netConnection, logWriter);
+    this.netConnection_ = netConnection;
+  }
+
+  NetAgent (NetConnection netConnection,
+           org.apache.derby.client.am.LogWriter netLogWriter,
+           int loginTimeout,
+           String server,
+           int port) throws SqlException
+  {
+    super (netConnection, netLogWriter);
+
+    server_ = server;
+    port_ = port;
+    netConnection_ = netConnection;
+    if (server_ == null) throw new SqlException (logWriter_, "Required property \"serverName\" not set");
+
+    try {
+      socket_ = (java.net.Socket) java.security.AccessController.doPrivileged (new OpenSocketAction(server, port));
+    }
+    catch (java.security.PrivilegedActionException e) {
+      throw new SqlException(
+            logWriter_,
+            e.getException(),
+            e.getClass().getName() + " : Error opening socket to server " + server + " on port " + port + " with message : " + e.getMessage());
+    }
+
+    // Set TCP/IP Socket Properties
+    try {
+      if (exceptionOpeningSocket_ == null) {
+      socket_.setTcpNoDelay (true); // disables nagles algorithm
+      socket_.setKeepAlive (true); // PROTOCOL Manual: TCP/IP connection allocation rule #2
+      socket_.setSoTimeout (loginTimeout*1000);
+    }
+    }
+    catch (java.net.SocketException e) {
+      try { socket_.close(); } catch (java.io.IOException doNothing) {}
+      exceptionOpeningSocket_ = new SqlException (logWriter_, e,
+                                   "SocketException '" + e.getMessage() + "'");
+    }
+
+    try {
+      if (exceptionOpeningSocket_ == null) {
+      rawSocketOutputStream_ = socket_.getOutputStream();
+      rawSocketInputStream_ = socket_.getInputStream();
+    }
+    }
+    catch (java.io.IOException e) {
+      try { socket_.close(); } catch (java.io.IOException doNothing) {}
+      exceptionOpeningSocket_ = new SqlException (logWriter_, e, "unable to open stream on socket");
+    }
+
+    sourceCcsidManager_ = new EbcdicCcsidManager(); // delete these 
+    targetCcsidManager_ = sourceCcsidManager_; // delete these 
+
+    if (netConnection_.isXAConnection()) {
+      NetXAConnectionReply netXAConnectionReply_ = new NetXAConnectionReply (this, netConnection_.commBufferSize_);
+      netResultSetReply_ = (NetResultSetReply) netXAConnectionReply_;
+      netStatementReply_ = (NetStatementReply) netResultSetReply_;
+      netPackageReply_ = (NetPackageReply) netStatementReply_;
+      netConnectionReply_ = (NetConnectionReply) netPackageReply_;
+      reply_ = (Reply) netConnectionReply_;
+
+      resultSetReply_ = new ResultSetReply (this,
+                                            netResultSetReply_,
+                                            netStatementReply_,
+                                            netConnectionReply_);
+      statementReply_ = (StatementReply) resultSetReply_;
+      packageReply_ = (ConnectionReply) statementReply_;
+      connectionReply_ = (ConnectionReply) packageReply_;
+      NetXAConnectionRequest netXAConnectionRequest_ = new NetXAConnectionRequest (this, sourceCcsidManager_, netConnection_.commBufferSize_);
+      netResultSetRequest_ = (NetResultSetRequest) netXAConnectionRequest_;
+      netStatementRequest_ = (NetStatementRequest) netResultSetRequest_;
+      netPackageRequest_ = (NetPackageRequest) netStatementRequest_;
+      netConnectionRequest_ = (NetConnectionRequest) netPackageRequest_;
+      request_ = (Request) netConnectionRequest_;
+
+      resultSetRequest_ = (ResultSetRequestInterface) netResultSetRequest_;
+      statementRequest_ = (StatementRequestInterface) netStatementRequest_;
+      packageRequest_ = (NetConnectionRequest) netPackageRequest_;
+      connectionRequest_ = (ConnectionRequestInterface) netConnectionRequest_;
+    }
+    else {
+    netResultSetReply_ = new NetResultSetReply (this, netConnection_.commBufferSize_);
+    netStatementReply_ = (NetStatementReply) netResultSetReply_;
+    netPackageReply_ = (NetPackageReply) netStatementReply_;
+    netConnectionReply_ = (NetConnectionReply) netPackageReply_;
+    reply_ = (Reply) netConnectionReply_;
+
+    resultSetReply_ = new ResultSetReply (this,
+                                          netResultSetReply_,
+                                          netStatementReply_,
+                                          netConnectionReply_);
+    statementReply_ = (StatementReply) resultSetReply_;
+    packageReply_ = (ConnectionReply) statementReply_;
+    connectionReply_ = (ConnectionReply) packageReply_;
+    netResultSetRequest_ = new NetResultSetRequest (this, sourceCcsidManager_, netConnection_.commBufferSize_);
+    netStatementRequest_ = (NetStatementRequest) netResultSetRequest_;
+    netPackageRequest_ = (NetPackageRequest) netStatementRequest_;
+    netConnectionRequest_ = (NetConnectionRequest) netPackageRequest_;
+    request_ = (Request) netConnectionRequest_;
+
+    resultSetRequest_ = (ResultSetRequestInterface) netResultSetRequest_;
+    statementRequest_ = (StatementRequestInterface) netStatementRequest_;
+    packageRequest_ = (NetConnectionRequest) netPackageRequest_;
+    connectionRequest_ = (ConnectionRequestInterface) netConnectionRequest_;
+  }
+  }
+
+  protected void resetAgent_ (
+                     org.apache.derby.client.am.LogWriter netLogWriter,
+                     //CcsidManager sourceCcsidManager,
+                     //CcsidManager targetCcsidManager,
+                     int loginTimeout,
+                     String server,
+                     int port) throws SqlException
+  {
+
+    // most properties will remain unchanged on connect reset.
+    targetTypdef_ = originalTargetTypdef_;
+    svrcod_ = 0;
+
+    // Set TCP/IP Socket Properties
+    try {
+      socket_.setSoTimeout (loginTimeout*1000);
+    }
+    catch (java.net.SocketException e) {
+      try { socket_.close(); } catch (java.io.IOException doNothing) {}
+      throw new SqlException (logWriter_, e, "SocketException '" + e.getMessage() + "'");
+    }
+  }
+
+
+  void setSvrcod (int svrcod)
+  {
+    if (svrcod > svrcod_) svrcod_ = svrcod;
+  }
+
+  void clearSvrcod ()
+  {
+    svrcod_ = CodePoint.SVRCOD_INFO;
+  }
+
+  int getSvrcod()
+  {
+    return svrcod_;
+  }
+
+  public void flush_ () throws DisconnectException
+  {
+    sendRequest ();
+    reply_.initialize ();
+  }
+
+  // Close socket and its streams.
+  public void close_() throws SqlException
+  {
+    // can we just close the socket here, do we need to close streams individually 
+    SqlException accumulatedExceptions = null;
+    if (rawSocketInputStream_ != null) {
+      try {
+        rawSocketInputStream_.close();
+      }
+      catch (java.io.IOException e) {
+        // note when {6} = 0 it indicates the socket was closed.
+        // 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);
+      }
+      finally {
+        rawSocketInputStream_ = null;
+      }
+    }
+
+    if (rawSocketOutputStream_ != null) {
+      try {
+        rawSocketOutputStream_.close();
+      }
+      catch (java.io.IOException e) {
+        // note when {6} = 0 it indicates the socket was closed.
+        // 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
+        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");
+        accumulatedExceptions = Utils.accumulateSQLException (latestException, accumulatedExceptions);
+      }
+      finally {
+        rawSocketOutputStream_ = null;
+      }
+    }
+
+    if (socket_ != null) {
+      try {
+        socket_.close();
+      }
+      catch (java.io.IOException e) {
+        // again {6} = 0, indicates the socket was closed.
+        // maybe set {4} to e.getMessage().
+        // 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");
+        accumulatedExceptions = Utils.accumulateSQLException (latestException, accumulatedExceptions);
+      }
+      finally {
+        socket_ = null;
+      }
+    }
+
+    if (accumulatedExceptions != null)
+      throw accumulatedExceptions;
+  }
+
+
+  protected void sendRequest () throws DisconnectException
+  {
+    try {
+      request_.flush (rawSocketOutputStream_);
+    }
+    catch (java.io.IOException e) {
+      throwCommunicationsFailure ( 
+                                        "NetAgent.sendRequest()",
+                                        "OutputStream.flush()",
+                                        e.getMessage(),
+                                        "*");
+    }
+  }
+
+  public java.io.InputStream getInputStream () { return rawSocketInputStream_; }
+  public java.io.OutputStream getOutputStream () { return rawSocketOutputStream_; }
+
+  void setInputStream (java.io.InputStream inputStream)
+  { rawSocketInputStream_ = inputStream; }
+
+  void setOutputStream (java.io.OutputStream outputStream)
+  { rawSocketOutputStream_ = outputStream; }
+
+  public void throwCommunicationsFailure (String location,
+                                  String function,
+                                  String rc1,
+                                  String rc2) 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
+  }
+
+  // ----------------------- call-down methods ---------------------------------
+
+  public org.apache.derby.client.am.LogWriter newLogWriter_ (java.io.PrintWriter printWriter,
+                                                        int traceLevel)
+  {
+    return new NetLogWriter (printWriter, traceLevel);
+  }
+
+  protected void markChainBreakingException_ ()
+  {
+    setSvrcod (CodePoint.SVRCOD_ERROR);
+  }
+
+  public void checkForChainBreakingException_ () throws SqlException
+  {
+    int svrcod = getSvrcod();
+    clearSvrcod();
+    if (svrcod > CodePoint.SVRCOD_WARNING) // Not for SQL warning, if svrcod > WARNING, then its a chain breaker
+      super.checkForExceptions(); // throws the accumulated exceptions, we'll always have at least one.
+  }
+
+  private void writeDeferredResetConnection() throws SqlException
+  {
+    if (!netConnection_.resetConnectionAtFirstSql_) return;
+    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.");
+      de.setNextException(sqle);
+      throw de;
+    }
+  }
+
+  public void beginWriteChainOutsideUOW () throws SqlException
+  {
+    request_.initialize();
+    writeDeferredResetConnection();
+    super.beginWriteChainOutsideUOW ();
+  }
+
+  public void beginWriteChain (org.apache.derby.client.am.Statement statement) throws SqlException
+  {
+    request_.initialize();
+    writeDeferredResetConnection();
+    super.beginWriteChain (statement);
+  }
+
+  protected void endWriteChain ()
+  {
+    super.endWriteChain();
+  }
+
+  private void readDeferredResetConnection() throws SqlException
+  {
+    if (!netConnection_.resetConnectionAtFirstSql_) return;
+    try {
+      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.");
+      de.setNextException(sqle);
+      throw de;
+    }
+  }
+
+  protected void beginReadChain (org.apache.derby.client.am.Statement statement) throws SqlException
+  {
+    readDeferredResetConnection();
+    super.beginReadChain (statement);
+  }
+
+  protected void beginReadChainOutsideUOW () throws SqlException
+  {
+    readDeferredResetConnection();
+    super.beginReadChainOutsideUOW();
+  }
+
+  public void endReadChain () throws SqlException
+  {
+    super.endReadChain();
+  }
+
+
+  public String convertToStringTcpIpAddress (int tcpIpAddress)
+  {
+   StringBuffer ipAddrBytes = new StringBuffer();
+   ipAddrBytes.append ((tcpIpAddress >> 24) &  0xff);
+   ipAddrBytes.append (".");
+   ipAddrBytes.append ((tcpIpAddress >> 16) & 0xff);
+   ipAddrBytes.append (".");
+   ipAddrBytes.append ((tcpIpAddress >> 8) & 0xff);
+   ipAddrBytes.append (".");
+   ipAddrBytes.append ((tcpIpAddress) & 0xff);
+
+   return ipAddrBytes.toString();
+ }
+
+ protected int getPort()
+ {
+   return port_;
+ }
+
+}
+
+

Propchange: incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetAgent.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetCallableStatement.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetCallableStatement.java?rev=165178&view=auto
==============================================================================
--- incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetCallableStatement.java (added)
+++ incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetCallableStatement.java Thu Apr 28 12:05:42 2005
@@ -0,0 +1,122 @@
+/*
+
+   Derby - Class org.apache.derby.client.net.NetCallableStatement
+
+   Copyright (c) 2001, 2005 The Apache Software Foundation or its licensors, where applicable.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+*/
+package org.apache.derby.client.net;
+
+import org.apache.derby.client.am.CallableStatement;
+import org.apache.derby.client.am.Section;
+import org.apache.derby.client.am.ColumnMetaData;
+import org.apache.derby.client.am.SqlException;
+import org.apache.derby.client.am.MaterialPreparedStatement;
+
+public class NetCallableStatement extends NetPreparedStatement
+  implements MaterialPreparedStatement
+{
+
+  CallableStatement callableStatement_;
+
+  //-----------------------------state------------------------------------------
+
+  //---------------------constructors/finalizer---------------------------------
+
+  private void initNetCallableStatement()
+  {
+    callableStatement_ = null;
+  }
+
+  // Relay constructor for all NetCallableStatement constructors
+  NetCallableStatement (CallableStatement statement,
+                       NetAgent netAgent,
+                       NetConnection netConnection) throws SqlException
+  {
+    super (statement, netAgent, netConnection);
+    initNetCallableStatement();
+    initNetCallableStatement (statement);
+  }
+
+  void resetNetCallableStatement (CallableStatement statement,
+                                 NetAgent netAgent,
+                                 NetConnection netConnection) throws SqlException
+  {
+    super.resetNetPreparedStatement(statement, netAgent, netConnection);
+    initNetCallableStatement();
+    initNetCallableStatement (statement);
+  }
+
+  private void initNetCallableStatement (CallableStatement statement
+                                        ) throws SqlException
+  {
+    callableStatement_ = statement;
+    callableStatement_.materialCallableStatement_ = this;
+
+  }
+
+
+  // Called by abstract Connection.prepareCall().newCallableStatement()
+  // for jdbc 2 callable statements with scroll attributes.
+  NetCallableStatement (NetAgent netAgent,
+                       NetConnection netConnection,
+                       String sql,
+                       int type,
+                       int concurrency,
+                       int holdability) throws SqlException
+  {
+    this (new CallableStatement (netAgent, netConnection, sql, type, concurrency, holdability),
+          netAgent,
+          netConnection);
+  }
+
+  void resetNetCallableStatement (NetAgent netAgent,
+                                 NetConnection netConnection,
+                                 String sql,
+                                 int type,
+                                 int concurrency,
+                                 int holdability) throws SqlException
+  {
+    callableStatement_.resetCallableStatement(netAgent, netConnection, sql, type, concurrency, holdability);
+    resetNetCallableStatement(callableStatement_, netAgent, netConnection);
+  }
+
+  void resetNetCallableStatement (NetAgent netAgent,
+                                 NetConnection netConnection,
+                                 String sql,
+                                 Section section) throws SqlException
+  {
+    callableStatement_.resetCallableStatement(netAgent, netConnection, sql, section);
+    resetNetCallableStatement(callableStatement_, netAgent, netConnection);
+  }
+
+
+  void resetNetCallableStatement (NetAgent netAgent,
+                                 NetConnection netConnection,
+                                 String sql,
+                                 Section section,
+                                 ColumnMetaData parameterMetaData,
+                                 ColumnMetaData resultSetMetaData) throws SqlException
+  {
+    callableStatement_.resetCallableStatement(netAgent, netConnection, sql, section, parameterMetaData, resultSetMetaData);
+    resetNetCallableStatement(callableStatement_, netAgent, netConnection);
+  }
+
+  protected void finalize () throws java.lang.Throwable
+  {
+    super.finalize();
+  }
+
+}

Propchange: incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetCallableStatement.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetConfiguration.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetConfiguration.java?rev=165178&view=auto
==============================================================================
--- incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetConfiguration.java (added)
+++ incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetConfiguration.java Thu Apr 28 12:05:42 2005
@@ -0,0 +1,214 @@
+/*
+
+   Derby - Class org.apache.derby.client.net.NetConfiguration
+
+   Copyright (c) 2001, 2005 The Apache Software Foundation or its licensors, where applicable.
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+*/
+package org.apache.derby.client.net;
+import org.apache.derby.client.am.Version;
+
+public class NetConfiguration
+{
+  // ---------------------------------------------------------------------------
+
+  static final int INITIAL_CAPACITY = 10; // initial size of the Vector for the input parameters
+
+  // Value to use when padding non-character data in ddm objects.
+  public static final byte NON_CHAR_DDM_DATA_PAD_BYTE = 0x00;
+
+  static final int CURSOR_NOT_OPEN = 0;
+  static final int CURSOR_OPEN = 1;
+  static final int CURSOR_CLOSE_ONLY = 2;
+
+  // Number of bytes in the DDM header.
+  static final int DDMHDR_LENGTH = 4;
+
+  // Number of bytes in the DSS header.
+  static final int DSSHDR_LENGTH = 6;
+
+  // Maximum size of External Name.
+  static final int EXTNAM_MAXSIZE = 255;
+
+  // Minimum agent level required by protocol.
+  static final int MIN_AGENT_MGRLVL = 3;
+
+  // Minimum communications tcpip manager level required by protocol.
+  static final int MIN_CMNTCPIP_MGRLVL = 5;
+
+  // Minimum LU6.2 Conversational Communications Manager
+  static final int MIN_CMNAPPC_MGRLVL = 3;
+
+  // Minimum rdb manager level required by protocol.
+  static final int MIN_RDB_MGRLVL = 3;
+
+  // Minimum secmgr manager level required by protocol.
+  static final int MIN_SECMGR_MGRLVL = 5;
+
+  // Minimum sqlam manager level required by protocol.
+  static final int MIN_SQLAM_MGRLVL = 4;
+
+  // Minimum xa manager level required by protocol.
+  static final int MIN_XAMGR_MGRLVL = 7;
+
+  // Minimum secmgr manager level required by protocol.
+  static final int MIN_SYNCPTMGR_MGRLVL = 5;
+
+  // Minimum sqlam manager level required by protocol.
+  static final int MIN_RSYNCMGR_MGRLVL = 5;
+
+  // Maximun Password size.
+  static final int PASSWORD_MAXSIZE = 255;
+
+  // Fixed PRDDTA application id fixed length.
+  public static final int PRDDTA_APPL_ID_FIXED_LEN = 20;
+
+  // PRDDTA Accounting Suffix Length byte offset.
+  static final int PRDDTA_ACCT_SUFFIX_LEN_BYTE = 55;
+
+  // PRDDTA Max Accounting Suffix Length.
+  static final int PRDDTA_MAX_ACCT_SUFFIX_LEN = 199;
+
+  // PRDDTA Length byte offset.
+  static final int PRDDTA_LEN_BYTE = 0;
+
+  // Maximum PRDDTA size.
+  static final int PRDDTA_MAXSIZE = 255;
+
+  // PRDDTA platform id.
+  public static final String PRDDTA_PLATFORM_ID = "JVM               ";
+
+  // Fixed PRDDTA user id fixed length.
+  public static final int PRDDTA_USER_ID_FIXED_LEN = 8;
+
+  // Identifier Length for fixed length rdb name
+	public static final int PKG_IDENTIFIER_FIXED_LEN = 18;
+
+  // Maximum RDB Identifier Length 
+  static final int PKG_IDENTIFIER_MAX_LEN = 255;
+
+  // Fixed pkgcnstkn length
+  public static final int PKGCNSTKN_FIXED_LEN = 8;
+
+  // Maximum length of a security token.
+  // Anything greater than 32763 bytes of SECTKN would require extended length DDMs.
+  // This seems like an impossible upper bound limit right now so set
+  // max to 32763 and cross bridge later.
+  static final int SECTKN_MAXSIZE = 32763;  // this was 255
+
+  // Server class name of the ClientDNC product.
+  static final String SRVCLSNM_JVM = "QDERBY/JVM";
+
+  // Maximum size of SRVNAM Name.
+  static final int SRVNAM_MAXSIZE = 255;
+
+  // Manager is NA or not usued.
+  static final int MGRLVL_NA = 0;
+
+  // Manager Level 3 constant.
+  static final int MGRLVL_3 = 0x03;
+
+  // Manager Level 4 constant.
+  static final int MGRLVL_4 = 0x04;
+
+  // Manager Level 5 constant.
+  static final int MGRLVL_5 = 0x05;
+
+  // Manager level 6 constant.
+  static final int MGRLVL_6 = 0x06;
+
+  // Manager Level 7 constant.
+  static final public int MGRLVL_7 = 0x07;
+
+  // Indicates the DCE security mechanism.
+  static final int SECMEC_DCESEC = 0x01;
+
+  // Indicates encrypted userid, password,
+  // new password security mechanism.
+  static final int SECMEC_EUSRIDNWPWD = 0x0A;
+
+  // Indicates userid/encrypted password security mechanism.
+  public static final int SECMEC_EUSRIDPWD = 0x09;
+
+  // Indicates userid only security mechanism.
+  public static final int SECMEC_USRIDONL = 0x04;
+
+  // Indicates userid/encrypted password security mechanism.
+  public static final int SECMEC_USRENCPWD = 0x07;
+
+  // Indicates userid/new password security mechanism.
+  static final int SECMEC_USRIDNWPWD = 0x05;
+
+  // Indicates userid/password security mechanism.
+  public static final int SECMEC_USRIDPWD = 0x03;
+
+
+  //Indicates Encrypted userid and Encrypted Security-sensitive Data security mechanism
+  public static final int SECMEC_EUSRIDDTA = 0x0C;
+
+  //Indicates Encrypted userid,Encrypted password and Encrypted Security-sensitive Data security mechanism
+  public static final int SECMEC_EUSRPWDDTA = 0x0D;
+
+  // list of security mechanisms supported by this driver
+  static final int[] SECMGR_SECMECS = {NetConfiguration.SECMEC_EUSRIDPWD,
+                                         NetConfiguration.SECMEC_USRENCPWD,
+                                         NetConfiguration.SECMEC_USRIDPWD,
+                                         NetConfiguration.SECMEC_USRIDONL,
+                                         NetConfiguration.SECMEC_EUSRIDDTA,
+                                         NetConfiguration.SECMEC_EUSRPWDDTA};
+
+
+  // IEEE ASCII constant.
+  public static final String SYSTEM_ASC = "QTDSQLASC";
+
+  // JVM constant.
+  static final String SYSTEM_JVM = "QTDSQLJVM";
+
+  // Maximum size of User Name.
+  static final int USRID_MAXSIZE = 255;
+
+  // Product id of the ClientDNC.
+  public static String PRDID;
+
+  // The server release level of this product.
+  // It will be prefixed with PRDID
+	static  String SRVRLSLV;
+
+  // Initialize PRDID and SRVRLSLV
+  static {
+	int majorVersion = Version.getMajorVersion();
+	int minorVersion = Version.getMinorVersion();
+	int protocolMaintVersion = Version.getProtocolMaintVersion();
+
+	// PRDID format as Network Server expects  it: DNCMMmx
+	// MM = major version
+	// mm = minor version
+	// x = protocol MaintenanceVersion
+	
+	String prdId = "DNC";
+	if (majorVersion < 10)
+	  prdId += "0";
+	prdId += majorVersion;
+	
+	if (minorVersion < 10)
+	  prdId += "0";
+
+	prdId += minorVersion;	  
+	prdId += protocolMaintVersion;
+	PRDID = prdId;
+	SRVRLSLV = prdId + "/" + Version.getDriverVersion();
+  }
+
+}

Propchange: incubator/derby/code/trunk/java/client/org/apache/derby/client/net/NetConfiguration.java
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message