2002-11-30 Tim Coleman <tim@timcoleman.com>
authorTim Coleman <tim@mono-cvs.ximian.com>
Sat, 30 Nov 2002 21:26:53 +0000 (21:26 -0000)
committerTim Coleman <tim@mono-cvs.ximian.com>
Sat, 30 Nov 2002 21:26:53 +0000 (21:26 -0000)
* list:
* Mono.Data.Tds.Protocol/TdsPacketColumnNamesResult:
* Mono.Data.Tds.Protocol/TdsPacketTableNameResult:
Remove these classes, since they are essentially just
ArrayLists.
* Mono.Data.Tds.Protocol/Tds.cs:
* Mono.Data.Tds.Protocol/Tds42.cs:
* Mono.Data.Tds.Protocol/Tds50.cs:
* Mono.Data.Tds.Protocol/Tds70.cs:
Make ProcessSubPacket return an enum instead of instantiating
useless classes.  Remove the TdsPacketColumnNamesResult
and TdsPacketTableNameResult in favour of ArrayLists.
* Mono.Data.Tds.Protocol/TdsPacketColumnInfoResult.cs:
Add a Count property.

svn path=/trunk/mcs/; revision=9294

mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds.cs
mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds42.cs
mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds50.cs
mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds70.cs
mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsPacketColumnInfoResult.cs
mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsPacketColumnNamesResult.cs [deleted file]
mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsPacketTableNameResult.cs [deleted file]
mcs/class/Mono.Data.Tds/list

index 6925321b53c4d04960298abc8b56cf9793a68039..a1cccce45ffaeab42c4939dde9e59ad0309cb1ba 100644 (file)
@@ -41,9 +41,10 @@ namespace Mono.Data.Tds.Protocol {
 
                bool doneProc;
                TdsPacketRowResult currentRow = null;
-               TdsPacketColumnNamesResult columnNames;
                TdsPacketColumnInfoResult columnInfo;
-               TdsPacketTableNameResult tableNames;
+
+               ArrayList tableNames;
+               ArrayList columnNames;
 
                TdsMetaParameterCollection parameters;
 
@@ -75,7 +76,7 @@ namespace Mono.Data.Tds.Protocol {
                        get { return language; }
                }
 
-               protected TdsPacketColumnNamesResult ColumnNames {
+               protected ArrayList ColumnNames {
                        get { return columnNames; }
                }
 
@@ -181,23 +182,11 @@ namespace Mono.Data.Tds.Protocol {
 
                public void Disconnect ()
                {
-                       TdsPacketResult result = null;
-
                        comm.StartPacket (TdsPacketType.Logoff);
                        comm.Append ((byte) 0);
                        comm.SendPacket ();     
 
-                       bool done = false;
-                       do {
-                               result = ProcessSubPacket ();
-                               if (result != null) {
-                                       switch (result.GetType ().ToString ()) {
-                                       case "Mono.Data.Tds.Protocol.TdsPacketEndTokenResult" :
-                                               done = !((TdsPacketEndTokenResult) result).MoreResults;
-                                               break;
-                                       }
-                               }
-                       } while (!done);
+                       SkipToEnd ();
                }
 
                public void Execute (string sql)
@@ -228,6 +217,7 @@ namespace Mono.Data.Tds.Protocol {
                protected void ExecuteQuery (string sql, int timeout, bool wantResults)
                {
                        moreResults = true;
+                       doneProc = false;
                        messages.Clear ();
                        outputParameters.Clear ();
 
@@ -244,58 +234,54 @@ namespace Mono.Data.Tds.Protocol {
                {
                        if (!moreResults)
                                return false;
-                       TdsPacketResult result = null;
+
+                       TdsPacketSubType subType;
 
                        bool done = false;
+
                        while (!done) {
-                               result = ProcessSubPacket ();
-
-                               if (result != null) {
-                                       switch (result.GetType ().ToString ()) {
-                                       case "Mono.Data.Tds.Protocol.TdsPacketColumnNamesResult" :
-                                               columnNames = (TdsPacketColumnNamesResult) result;
-                                               break;
-                                       case "Mono.Data.Tds.Protocol.TdsPacketColumnInfoResult" :
-                                               columnInfo = (TdsPacketColumnInfoResult) result;
-                                               if (comm.Peek () != (byte) TdsPacketSubType.TableName) {
-                                                       return true;
-                                               }
-                                               break;
-                                       case "Mono.Data.Tds.Protocol.TdsPacketRowResult" :
-                                               currentRow = (TdsPacketRowResult) result;
-                                               break;
-                                       case "Mono.Data.Tds.Protocol.TdsPacketTableNameResult" :
-                                               tableNames = (TdsPacketTableNameResult) result;
-                                               break;
-                                       case "Mono.Data.Tds.Protocol.TdsPacketEndTokenResult" :
-                                               done = !moreResults;
-                                               //done = !((TdsPacketEndTokenResult) result).MoreResults;
-                                               break;
-                                       }
+                               subType = ProcessSubPacket ();
+                               switch (subType) {
+                               case TdsPacketSubType.ColumnInfo:
+                               case TdsPacketSubType.ColumnMetadata: 
+                               case TdsPacketSubType.RowFormat: 
+                                       done = (Comm.Peek () != (byte) TdsPacketSubType.TableName);
+                                       break;
+                               case TdsPacketSubType.TableName:
+                                       done = true;
+                                       break;
+                               default:
+                                       done = !moreResults;
+                                       break;
                                }
                        }
 
-                       return false;
+                       return moreResults;
                }
 
                public bool NextRow ()
                {
-                       TdsPacketResult result = null;
+                       TdsPacketSubType subType;
                        bool done = false;
+                       bool result = false;
+
                        do {
-                               result = ProcessSubPacket ();
-                               if (result != null) {
-                                       switch (result.GetType ().ToString ()) {
-                                       case "Mono.Data.Tds.Protocol.TdsPacketRowResult" :
-                                               currentRow = (TdsPacketRowResult) result;
-                                               return true;
-                                       case "Mono.Data.Tds.Protocol.TdsPacketEndTokenResult" :
-                                               return false;
-                                       }
+                               subType = ProcessSubPacket ();
+                               switch (subType) {
+                               case TdsPacketSubType.Row:
+                                       result = true;
+                                       done = true;
+                                       break;
+                               case TdsPacketSubType.Done:
+                               case TdsPacketSubType.DoneProc:
+                               case TdsPacketSubType.DoneInProc:
+                                       result = false;
+                                       done = true;
+                                       break;
                                }
                        } while (!done);
 
-                       return false;
+                       return result;
                }
 
                public virtual string Prepare (string sql, TdsMetaParameterCollection parameters)
@@ -305,8 +291,7 @@ namespace Mono.Data.Tds.Protocol {
 
                public void SkipToEnd ()
                {
-                       while (moreResults)
-                               NextResult ();
+                       while (NextResult ()) { /* DO NOTHING */ }
                }
 
                public virtual void Unprepare (string statementId) 
@@ -337,16 +322,6 @@ namespace Mono.Data.Tds.Protocol {
                        return new TdsInternalErrorMessageEventArgs (new TdsInternalError (theClass, lineNumber, message, number, procedure, server, source, state));
                }
 
-               private void FinishQuery (bool wasCancelled, bool moreResults)
-               {
-                       if (!moreResults) 
-                               queryInProgress = false;
-                       if (wasCancelled)
-                               cancelsProcessed += 1;
-                       if (messages.Count > 0 && !moreResults) 
-                               OnTdsInfoMessage (CreateTdsInfoMessageEvent (messages));
-               }
-
                private object GetColumnValue (TdsColumnType colType, bool outParam)
                {
                        return GetColumnValue (colType, outParam, -1);
@@ -781,20 +756,18 @@ namespace Mono.Data.Tds.Protocol {
                        }
                }
 
-               protected TdsPacketRowResult LoadRow ()
+               protected void LoadRow ()
                {
-                       TdsPacketRowResult result = new TdsPacketRowResult ();
+                       currentRow = new TdsPacketRowResult ();
 
                        int i = 0;
                        foreach (TdsSchemaInfo schema in columnInfo) {
                                object o = GetColumnValue ((TdsColumnType) schema["ColumnType"], false, i);
-                               result.Add (o);
-                               if (o is TdsBigDecimal && result.BigDecimalIndex < 0) 
-                                       result.BigDecimalIndex = i;
+                               currentRow.Add (o);
+                               if (o is TdsBigDecimal && currentRow.BigDecimalIndex < 0) 
+                                       currentRow.BigDecimalIndex = i;
                                i += 1;
                        }
-
-                       return result;
                }
 
                internal static int LookupBufferSize (TdsColumnType columnType)
@@ -849,9 +822,8 @@ namespace Mono.Data.Tds.Protocol {
                        }
                }
 
-               protected TdsPacketColumnInfoResult ProcessColumnDetail ()
+               protected void ProcessColumnDetail ()
                {
-                       TdsPacketColumnInfoResult result = columnInfo;
                        int len = GetSubPacketLength ();
                        byte[] values = new byte[3];
                        int columnNameLength;
@@ -879,23 +851,21 @@ namespace Mono.Data.Tds.Protocol {
                                        byte index = (byte) (values[0] - (byte) 1);
                                        byte tableIndex = (byte) (values[1] - (byte) 1);
 
-                                       result [index]["IsExpression"] = ((values[2] & (byte) TdsColumnStatus.IsExpression) != 0);
-                                       result [index]["IsKey"] = ((values[2] & (byte) TdsColumnStatus.IsKey) != 0);
+                                       columnInfo [index]["IsExpression"] = ((values[2] & (byte) TdsColumnStatus.IsExpression) != 0);
+                                       columnInfo [index]["IsKey"] = ((values[2] & (byte) TdsColumnStatus.IsKey) != 0);
 
                                        if ((values[2] & (byte) TdsColumnStatus.Rename) != 0)
-                                               result [index]["BaseColumnName"] = baseColumnName;
-                                       result [index]["BaseTableName"] = tableNames [tableIndex];
+                                               columnInfo [index]["BaseColumnName"] = baseColumnName;
+                                       columnInfo [index]["BaseTableName"] = tableNames [tableIndex];
                                }
                        }
-
-                       return result;
                }
 
                protected abstract TdsPacketColumnInfoResult ProcessColumnInfo ();
 
-               protected TdsPacketColumnNamesResult ProcessColumnNames ()
+               protected void ProcessColumnNames ()
                {
-                       TdsPacketColumnNamesResult result = new TdsPacketColumnNamesResult ();
+                       columnNames = new ArrayList ();
 
                        int totalLength = comm.GetTdsShort ();
                        int bytesRead = 0;
@@ -905,43 +875,44 @@ namespace Mono.Data.Tds.Protocol {
                                int columnNameLength = comm.GetByte ();
                                string columnName = comm.GetString (columnNameLength);
                                bytesRead = bytesRead + 1 + columnNameLength;
-                               result.Add (columnName);
+                               columnNames.Add (columnName);
                                i += 1;
                        }
-
-                       return result;
                }
 
                [MonoTODO ("Make sure counting works right, especially with multiple resultsets.")]
                protected TdsPacketEndTokenResult ProcessEndToken (TdsPacketSubType type)
                {
-                       byte status = comm.GetByte ();
-                       comm.GetByte ();
+                       byte status = Comm.GetByte ();
+                       Comm.Skip (1);
                        byte op = comm.GetByte ();
-                       comm.GetByte ();
+                       Comm.Skip (1);
+
                        int rowCount = comm.GetTdsInt ();
+
                        if (op == (byte) 0xc1) 
                                rowCount = 0;
                        if (type == TdsPacketSubType.DoneInProc) 
                                rowCount = -1;
 
                        TdsPacketEndTokenResult result = new TdsPacketEndTokenResult (type, status, rowCount);
-
                        if (type == TdsPacketSubType.DoneProc)  {
                                doneProc = true;
                                if (result.RowCount > 0)
                                        recordsAffected += result.RowCount;
                        }
-                       else if (type == TdsPacketSubType.Done) 
-                               moreResults = result.MoreResults;
-                       //moreResults = result.MoreResults;
-
-                       FinishQuery (result.Cancelled, result.MoreResults);
+                       moreResults = result.MoreResults;
 
+                       if (!result.MoreResults) 
+                               queryInProgress = false;
+                       if (result.Cancelled)
+                               cancelsProcessed += 1;
+                       if (messages.Count > 0 && !moreResults) 
+                               OnTdsInfoMessage (CreateTdsInfoMessageEvent (messages));
                        return result;
                }
 
-               protected TdsPacketResult ProcessEnvironmentChange ()
+               protected void ProcessEnvironmentChange ()
                {
                        int len = GetSubPacketLength ();
                        TdsEnvPacketSubType type = (TdsEnvPacketSubType) comm.GetByte ();
@@ -984,11 +955,9 @@ namespace Mono.Data.Tds.Protocol {
                                comm.Skip (len - 1);
                                break;
                        }
-
-                       return new TdsPacketResult (TdsPacketSubType.EnvironmentChange);
                }
 
-               protected TdsPacketResult ProcessLoginAck ()
+               protected void ProcessLoginAck ()
                {
                        GetSubPacketLength ();
 
@@ -1015,8 +984,6 @@ namespace Mono.Data.Tds.Protocol {
                        }
 
                        connected = true;
-
-                       return new TdsPacketResult (TdsPacketSubType.LoginAck);
                }
 
                protected void OnTdsErrorMessage (TdsInternalErrorMessageEventArgs e)
@@ -1067,7 +1034,7 @@ namespace Mono.Data.Tds.Protocol {
                                messages.Add (new TdsInternalError (theClass, lineNumber, message, number, procedure, server, source, state));
                }
 
-               protected TdsPacketOutputParam ProcessOutputParam ()
+               protected void ProcessOutputParam ()
                {
                        GetSubPacketLength ();
                        comm.GetString (comm.GetByte () & 0xff);
@@ -1077,13 +1044,6 @@ namespace Mono.Data.Tds.Protocol {
                        object value = GetColumnValue (colType, true);
 
                        outputParameters.Add (value);
-                       return null;
-               }
-
-               protected TdsPacketResult ProcessProcId ()
-               {
-                       comm.Skip (8);
-                       return new TdsPacketResult (TdsPacketSubType.ProcId);
                }
 
                protected TdsPacketRetStatResult ProcessReturnStatus ()
@@ -1099,10 +1059,9 @@ namespace Mono.Data.Tds.Protocol {
                        string id = Comm.GetString (Comm.GetByte ());
                }
 
-               protected virtual TdsPacketResult ProcessSubPacket ()
+               protected virtual TdsPacketSubType ProcessSubPacket ()
                {
                        TdsPacketResult result = null;
-                       moreResults = false;
 
                        TdsPacketSubType subType = (TdsPacketSubType) comm.GetByte ();
 
@@ -1120,7 +1079,7 @@ namespace Mono.Data.Tds.Protocol {
                                ProcessDynamic ();
                                break;
                        case TdsPacketSubType.EnvironmentChange:
-                               result = ProcessEnvironmentChange ();
+                               ProcessEnvironmentChange ();
                                break;
                        case TdsPacketSubType.Info:  // TDS 4.2/7.0
                        case TdsPacketSubType.EED:   // TDS 5.0
@@ -1128,16 +1087,16 @@ namespace Mono.Data.Tds.Protocol {
                                ProcessMessage (subType);
                                break;
                        case TdsPacketSubType.Param:
-                               result = ProcessOutputParam ();
+                               ProcessOutputParam ();
                                break;
                        case TdsPacketSubType.LoginAck:
-                               result = ProcessLoginAck ();
+                               ProcessLoginAck ();
                                break;
                        case TdsPacketSubType.ReturnStatus :
                                result = ProcessReturnStatus ();
                                break;
                        case TdsPacketSubType.ProcId:
-                               result = ProcessProcId ();
+                               Comm.Skip (8);
                                break;
                        case TdsPacketSubType.Done:
                        case TdsPacketSubType.DoneProc:
@@ -1145,19 +1104,19 @@ namespace Mono.Data.Tds.Protocol {
                                result = ProcessEndToken (subType);
                                break;
                        case TdsPacketSubType.ColumnName:
-                               result = ProcessProcId ();
-                               result = ProcessColumnNames ();
+                               Comm.Skip (8);
+                               ProcessColumnNames ();
                                break;
-                       case TdsPacketSubType.ColumnInfo: // TDS 4.2
+                       case TdsPacketSubType.ColumnInfo:      // TDS 4.2
                        case TdsPacketSubType.ColumnMetadata:  // TDS 7.0
                        case TdsPacketSubType.RowFormat:       // TDS 5.0
-                               result = ProcessColumnInfo ();
+                               columnInfo = ProcessColumnInfo ();
                                break;
                        case TdsPacketSubType.ColumnDetail:
-                               result = ProcessColumnDetail ();
+                               ProcessColumnDetail ();
                                break;
                        case TdsPacketSubType.TableName:
-                               result = ProcessTableName ();
+                               ProcessTableName ();
                                break;
                        case TdsPacketSubType.ColumnOrder:
                                comm.Skip (comm.GetTdsShort ());
@@ -1168,18 +1127,16 @@ namespace Mono.Data.Tds.Protocol {
                                result = new TdsPacketControlResult ();
                                break;
                        case TdsPacketSubType.Row:
-                               result = LoadRow ();
+                               LoadRow ();
                                break;
-                       default:
-                               return null;
                        }
 
-                       return result;
+                       return subType;
                }
 
-               protected TdsPacketTableNameResult ProcessTableName ()
+               protected void ProcessTableName ()
                {
-                       TdsPacketTableNameResult result = new TdsPacketTableNameResult ();
+                       tableNames = new ArrayList ();
                        int totalLength = comm.GetTdsShort ();
                        int position = 0;
                        int len;
@@ -1193,9 +1150,8 @@ namespace Mono.Data.Tds.Protocol {
                                        len = comm.GetByte ();
                                        position += len + 1;
                                }
-                               result.Add (comm.GetString (len));
+                               tableNames.Add (comm.GetString (len));
                        }       
-                       return result;
                }
 
                protected void SetCharset (string charset)
index 9cafa5e01babe6ebe651cfea82d251cec0e669ea..96af143c6e1e72ec78ef02d85e22d55217c4b7c1 100644 (file)
@@ -191,13 +191,9 @@ namespace Mono.Data.Tds.Protocol {
 
                        Comm.SendPacket ();
 
-                       TdsPacketResult result;
-                       bool done = false;
+                       MoreResults = true;
+                       SkipToEnd ();
 
-                       while (!done) {
-                               result = ProcessSubPacket ();
-                               done = (result is TdsPacketEndTokenResult);
-                       }
                        return IsConnected;
                }
 
index 789d10d18fb71ccb9fc405d7a033b40a9fcb8195..98ee9bf7c236ecb5067ff78a4d5af9e24dfa4f21 100644 (file)
@@ -252,11 +252,9 @@ namespace Mono.Data.Tds.Protocol {
 
                        Comm.SendPacket ();
 
-                       bool done = false;
-                       while (!done) {
-                               TdsPacketResult result = ProcessSubPacket ();
-                               done = (result is TdsPacketEndTokenResult);
-                       }
+                       MoreResults = true;
+                       SkipToEnd ();
+
                        return IsConnected;
                }
 
index 082b8d46ed6eae5ca3a85efbb62c11ff5294f2ec..53ef17d904bf637077f07397c116f1d2871abebc 100644 (file)
@@ -210,11 +210,9 @@ namespace Mono.Data.Tds.Protocol {
 
                         TdsPacketResult result;
 
-                       bool done = false;
-                       while (!done) {
-                               result = ProcessSubPacket ();
-                               done = (result is TdsPacketEndTokenResult);
-                       }
+                       MoreResults = true;
+                       SkipToEnd ();
+
                        return IsConnected;
                }
 
index c476e0c9d64bce26e9e95ee5bd92c57a77f9d5a6..62d7b677cdf10fa15fb991bd974bcee1837e352b 100644 (file)
@@ -36,6 +36,10 @@ namespace Mono.Data.Tds.Protocol {
                        set { list[index] = value; }
                }
 
+               public int Count {
+                       get { return list.Count; }
+               }
+
                #endregion // Properties
 
                #region Methods
diff --git a/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsPacketColumnNamesResult.cs b/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsPacketColumnNamesResult.cs
deleted file mode 100644 (file)
index a9b5fc7..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// Mono.Data.Tds.Protocol.TdsPacketColumnNamesResult.cs
-//
-// Author:
-//   Tim Coleman (tim@timcoleman.com)
-//
-// Copyright (C) Tim Coleman, 2002
-//
-
-using System.Collections;
-
-namespace Mono.Data.Tds.Protocol {
-       public class TdsPacketColumnNamesResult : TdsPacketResult, IEnumerable
-       {
-               #region Fields
-
-               ArrayList list;
-
-               #endregion // Fields
-
-               #region Constructors
-
-               public TdsPacketColumnNamesResult ()
-                       : base (TdsPacketSubType.ColumnName)
-               {
-                       this.list = new ArrayList ();
-               }
-
-               #endregion // Constructors
-
-               #region Properties
-
-               public string this[int index] {
-                       get { return (string) list[index]; }
-                       set { list[index] = value; }
-               }
-
-               #endregion // Properties
-
-               #region Methods
-
-               public int Add (string columnName)
-               {
-                       return list.Add (columnName);
-               }
-
-               public IEnumerator GetEnumerator ()
-               {
-                       return list.GetEnumerator ();
-               }
-
-               #endregion // Methods
-       }
-}
diff --git a/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsPacketTableNameResult.cs b/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsPacketTableNameResult.cs
deleted file mode 100644 (file)
index 088ea20..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// Mono.Data.Tds.Protocol.TdsPacketTableNameResult.cs
-//
-// Author:
-//   Tim Coleman (tim@timcoleman.com)
-//
-// Copyright (C) Tim Coleman, 2002
-//
-
-using System;
-using System.Collections;
-
-namespace Mono.Data.Tds.Protocol {
-       public class TdsPacketTableNameResult : TdsPacketResult, IEnumerable
-       {
-               #region Fields
-
-               ArrayList list = new ArrayList ();
-
-               #endregion // Fields
-
-               #region Constructors
-
-               public TdsPacketTableNameResult ()
-                       : base (TdsPacketSubType.TableName)
-               {
-               }
-
-               #endregion // Constructors
-
-               #region Properties
-
-               public string this [int index] {
-                       get { return (string) list [index]; }
-                       set { list [index] = value; }
-               }
-
-               #endregion // Properties
-
-               #region Methods
-
-               public int Add (string tableName)
-               {
-                       return list.Add (tableName);    
-               }       
-
-               IEnumerator IEnumerable.GetEnumerator ()
-               {
-                       return list.GetEnumerator ();
-               }
-
-               #endregion // Methods
-       }
-}
index 5386875172c1e710bd32056e06991a8bbd24a937..90ce25210d0623d26380a65b5d486578a6253217 100644 (file)
@@ -22,7 +22,6 @@ Mono.Data.Tds.Protocol/TdsInternalInfoMessageEventArgs.cs
 Mono.Data.Tds.Protocol/TdsInternalInfoMessageEventHandler.cs
 Mono.Data.Tds.Protocol/TdsMessage.cs
 Mono.Data.Tds.Protocol/TdsPacketColumnInfoResult.cs
-Mono.Data.Tds.Protocol/TdsPacketColumnNamesResult.cs
 Mono.Data.Tds.Protocol/TdsPacketColumnOrderResult.cs
 Mono.Data.Tds.Protocol/TdsPacketControlResult.cs
 Mono.Data.Tds.Protocol/TdsPacketEndTokenResult.cs
@@ -31,7 +30,6 @@ Mono.Data.Tds.Protocol/TdsPacketResult.cs
 Mono.Data.Tds.Protocol/TdsPacketRetStatResult.cs
 Mono.Data.Tds.Protocol/TdsPacketRowResult.cs
 Mono.Data.Tds.Protocol/TdsPacketSubType.cs
-Mono.Data.Tds.Protocol/TdsPacketTableNameResult.cs
 Mono.Data.Tds.Protocol/TdsPacketType.cs
 Mono.Data.Tds.Protocol/TdsPacketUnknown.cs
 Mono.Data.Tds.Protocol/TdsSchemaInfo.cs