[pgsqlclient-checkins] pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient PgDbClient.cs,1.2
Status: Inactive
Brought to you by:
carlosga_fb
Update of /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient In directory sc8-pr-cvs1:/tmp/cvs-serv32240 Modified Files: PgDbClient.cs PgOutputPacket.cs PgResponsePacket.cs PgType.cs PgTypeCollection.cs Log Message: Added changes for better handling of postgres datatypes at protocol implementation layer Index: PgDbClient.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgDbClient.cs,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** PgDbClient.cs 17 Oct 2003 15:14:05 -0000 1.21 --- PgDbClient.cs 17 Oct 2003 18:23:02 -0000 1.22 *************** *** 650,696 **** types = new PgTypeCollection(); ! types.Add(16 , "bool" , DbType.Boolean , Type.GetType("System.Boolean") , 0, 1, 1, false); ! types.Add(17 , "bytea" , DbType.Binary , Type.GetType("System.Array") , 0, 1, 0, false); ! types.Add(18 , "char" , DbType.StringFixedLength, Type.GetType("System.String"), 0, 0, 0, false); ! types.Add(19 , "name" , DbType.String , Type.GetType("System.String") , 0, 0, 0, false); ! types.Add(20 , "int8" , DbType.Int64 , Type.GetType("System.Int64") , 0, 1, 8, false); ! types.Add(21 , "int2" , DbType.Int16 , Type.GetType("System.Int16") , 0, 1, 2, false); ! types.Add(22 , "int2vector", DbType.Binary , Type.GetType("System.Array") , 21, 1, 2, true); ! types.Add(23 , "int4" , DbType.Int32 , Type.GetType("System.Int32") , 0, 1, 4, false); ! types.Add(24 , "regproc" , DbType.String , Type.GetType("System.String") , 0, 0, 0, false); ! types.Add(25 , "text" , DbType.String , Type.GetType("System.String") , 0, 0, 0, false); ! types.Add(26 , "oid" , DbType.Int32 , Type.GetType("System.Int32") , 0, 1, 4, false); ! types.Add(30 , "oidvector", DbType.Binary , Type.GetType("System.Array") , 26, 1, 4, true); ! types.Add(600 , "point" , DbType.Binary , Type.GetType("System.Array") , 701, 1, 16, false); ! types.Add(601 , "lseg" , DbType.Binary , Type.GetType("System.Array") , 600, 1, 32, false); ! types.Add(602 , "path" , DbType.String , Type.GetType("System.String") , 0, 0, -1, false); ! types.Add(603 , "box" , DbType.Binary , Type.GetType("System.Array") , 600, 1, 32, false); ! types.Add(604 , "polygon" , DbType.String , Type.GetType("System.String") , 0, 0, -1, false); ! types.Add(628 , "line" , DbType.Binary , Type.GetType("System.Array") , 701, 1, 32, false); ! types.Add(718 , "circle" , DbType.String , Type.GetType("System.String") , 0, 1, 24, false); ! types.Add(700 , "float4" , DbType.Single , Type.GetType("System.Single") , 0, 1, 4, false); ! types.Add(701 , "float8" , DbType.Double , Type.GetType("System.Double") , 0, 1, 8, false); ! // types.Add(705 , "unknown" , DbType.Object , Type.GetType("System.Object") , 0, 0, 0, false); ! types.Add(790 , "money" , DbType.Currency , Type.GetType("System.Decimal") , 0, 1, 4, false); ! types.Add(829 , "macaddr" , DbType.String , Type.GetType("System.String") , 0, 0, 6, false); ! types.Add(869 , "inet" , DbType.String , Type.GetType("System.String") , 0, 0, 0, false); ! types.Add(1005 , "_int2" , DbType.Binary , Type.GetType("System.Array") , 21, 1, 2, false); ! types.Add(1007 , "_int4" , DbType.Binary , Type.GetType("System.Array") , 23, 1, 4, false); ! types.Add(1016 , "_int8" , DbType.Binary , Type.GetType("System.Array") , 20, 1, 8, false); ! types.Add(1009 , "_text" , DbType.Binary , Type.GetType("System.Array") , 25, 1, 0, false); ! types.Add(1021 , "_float4" , DbType.Binary , Type.GetType("System.Array") , 700, 1, 4, false); ! types.Add(1033 , "aclitem" , DbType.String , Type.GetType("System.String") , 0, 0, 12, false); ! types.Add(1034 , "_aclitem", DbType.Binary , Type.GetType("System.Array") , 1033, 0, 0, false); ! types.Add(1042 , "bpchar" , DbType.String , Type.GetType("System.String") , 0, 0, 0, false); ! types.Add(1043 , "varchar" , DbType.String , Type.GetType("System.String") , 0, 0, 0, false); ! types.Add(1082 , "date" , DbType.Date , Type.GetType("System.DateTime") , 0, 1, 4, false); ! types.Add(1083 , "time" , DbType.Time , Type.GetType("System.DateTime") , 0, 1, 8, false); ! types.Add(1114 , "timestamp", DbType.DateTime , Type.GetType("System.DateTime") , 0, 1, 8, false); ! types.Add(1560 , "bit" , DbType.Byte , Type.GetType("System.Byte") , 0, 0, 1, false); ! types.Add(1562 , "varbit" , DbType.Byte , Type.GetType("System.Byte") , 0, 1, 0, false); ! types.Add(1700 , "numeric" , DbType.Decimal , Type.GetType("System.Decimal") , 0, 0, 8, false); ! types.Add(2277 , "anyarray", DbType.Binary , Type.GetType("System.Array") , 0, 1, 8, false); } --- 650,696 ---- types = new PgTypeCollection(); ! types.Add(16 , "bool" , PgDataType.Boolean , Type.GetType("System.Boolean") , 0, 1, 1); ! types.Add(17 , "bytea" , PgDataType.Binary , Type.GetType("System.Array") , 0, 1, 0); ! types.Add(18 , "char" , PgDataType.Char , Type.GetType("System.String") , 0, 0, 0); ! types.Add(19 , "name" , PgDataType.VarChar , Type.GetType("System.String") , 0, 0, 0); ! types.Add(20 , "int8" , PgDataType.Int8 , Type.GetType("System.Int64") , 0, 1, 8); ! types.Add(21 , "int2" , PgDataType.Int2 , Type.GetType("System.Int16") , 0, 1, 2); ! types.Add(22 , "int2vector", PgDataType.Vector , Type.GetType("System.Array") , 21, 1, 2); ! types.Add(23 , "int4" , PgDataType.Int4 , Type.GetType("System.Int32") , 0, 1, 4); ! types.Add(24 , "regproc" , PgDataType.VarChar , Type.GetType("System.String") , 0, 0, 0); ! types.Add(25 , "text" , PgDataType.VarChar , Type.GetType("System.String") , 0, 0, 0); ! types.Add(26 , "oid" , PgDataType.Int4 , Type.GetType("System.Int32") , 0, 1, 4); ! types.Add(30 , "oidvector", PgDataType.Vector , Type.GetType("System.Array") , 26, 1, 4); ! types.Add(600 , "point" , PgDataType.Point , Type.GetType("System.Array") , 701, 1, 16); ! types.Add(601 , "lseg" , PgDataType.LSeg , Type.GetType("System.Array") , 600, 1, 32); ! types.Add(602 , "path" , PgDataType.VarChar , Type.GetType("System.String") , 0, 0, -1); ! types.Add(603 , "box" , PgDataType.Box , Type.GetType("System.Array") , 600, 1, 32); ! types.Add(604 , "polygon" , PgDataType.VarChar , Type.GetType("System.String") , 0, 0, -1); ! types.Add(628 , "line" , PgDataType.Line , Type.GetType("System.Array") , 701, 1, 32); ! types.Add(718 , "circle" , PgDataType.VarChar , Type.GetType("System.String") , 0, 1, 24); ! types.Add(700 , "float4" , PgDataType.Float , Type.GetType("System.Single") , 0, 1, 4); ! types.Add(701 , "float8" , PgDataType.Double , Type.GetType("System.Double") , 0, 1, 8); ! // types.Add(705 , "unknown" , DbType.Object , Type.GetType("System.Object") , 0, 0, 0); ! types.Add(790 , "money" , PgDataType.Currency , Type.GetType("System.Decimal") , 0, 1, 4); ! types.Add(829 , "macaddr" , PgDataType.VarChar , Type.GetType("System.String") , 0, 0, 6); ! types.Add(869 , "inet" , PgDataType.VarChar , Type.GetType("System.String") , 0, 0, 0); ! types.Add(1005 , "_int2" , PgDataType.Binary , Type.GetType("System.Array") , 21, 1, 2); ! types.Add(1007 , "_int4" , PgDataType.Binary , Type.GetType("System.Array") , 23, 1, 4); ! types.Add(1016 , "_int8" , PgDataType.Binary , Type.GetType("System.Array") , 20, 1, 8); ! types.Add(1009 , "_text" , PgDataType.Binary , Type.GetType("System.Array") , 25, 1, 0); ! types.Add(1021 , "_float4" , PgDataType.Binary , Type.GetType("System.Array") , 700, 1, 4); ! types.Add(1033 , "aclitem" , PgDataType.VarChar , Type.GetType("System.String") , 0, 0, 12); ! types.Add(1034 , "_aclitem", PgDataType.Binary , Type.GetType("System.Array") , 1033, 0, 0); ! types.Add(1042 , "bpchar" , PgDataType.VarChar , Type.GetType("System.String") , 0, 0, 0); ! types.Add(1043 , "varchar" , PgDataType.VarChar , Type.GetType("System.String") , 0, 0, 0); ! types.Add(1082 , "date" , PgDataType.Date , Type.GetType("System.DateTime") , 0, 1, 4); ! types.Add(1083 , "time" , PgDataType.Time , Type.GetType("System.DateTime") , 0, 1, 8); ! types.Add(1114 , "timestamp", PgDataType.TimeStamp , Type.GetType("System.DateTime") , 0, 1, 8); ! types.Add(1560 , "bit" , PgDataType.Byte , Type.GetType("System.Byte") , 0, 0, 1); ! types.Add(1562 , "varbit" , PgDataType.Byte , Type.GetType("System.Byte") , 0, 1, 0); ! types.Add(1700 , "numeric" , PgDataType.Decimal , Type.GetType("System.Decimal") , 0, 0, 8); ! types.Add(2277 , "anyarray", PgDataType.Binary , Type.GetType("System.Array") , 0, 1, 8); } Index: PgOutputPacket.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgOutputPacket.cs,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** PgOutputPacket.cs 7 Oct 2003 09:06:15 -0000 1.7 --- PgOutputPacket.cs 17 Oct 2003 18:23:02 -0000 1.8 *************** *** 154,159 **** else { ! if (parameter.DataType.DbType == DbType.Binary && ! parameter.DataType.ArrayType != 0) { // Handle this type as Array values --- 154,160 ---- else { ! if (parameter.DataType.DataType == PgDataType.Binary || ! parameter.DataType.DataType == PgDataType.Array || ! parameter.DataType.DataType == PgDataType.Vector) { // Handle this type as Array values *************** *** 186,190 **** foreach (object element in array) { ! this.writeParameter(packet, elementType.DbType, size, element); } --- 187,191 ---- foreach (object element in array) { ! this.writeParameter(packet, elementType.DataType, size, element); } *************** *** 196,200 **** else { ! writeParameter(this, parameter.DataType.DbType, size, parameter.Value); } } --- 197,201 ---- else { ! writeParameter(this, parameter.DataType.DataType, size, parameter.Value); } } *************** *** 205,238 **** #region PRIVATE_METHODS ! private void writeParameter(PgOutputPacket packet, DbType dbType, int size, object value) { ! switch (dbType) { ! case DbType.Binary: packet.WriteInt(((byte[])value).Length); packet.Write((byte[])value); break; ! case DbType.Byte: packet.WriteInt(size); packet.Write((byte)value); break; ! case DbType.Int16: packet.WriteInt(size); packet.WriteShort(Convert.ToInt16(value)); break; ! case DbType.Int32: packet.WriteInt(size); packet.WriteInt(Convert.ToInt32(value)); break; ! case DbType.Int64: packet.WriteInt(size); packet.WriteLong(Convert.ToInt64(value)); break; ! case DbType.Decimal: { string paramValue = value.ToString(); --- 206,239 ---- #region PRIVATE_METHODS ! private void writeParameter(PgOutputPacket packet, PgDataType dataType, int size, object value) { ! switch (dataType) { ! case PgDataType.Binary: packet.WriteInt(((byte[])value).Length); packet.Write((byte[])value); break; ! case PgDataType.Byte: packet.WriteInt(size); packet.Write((byte)value); break; ! case PgDataType.Int2: packet.WriteInt(size); packet.WriteShort(Convert.ToInt16(value)); break; ! case PgDataType.Int4: packet.WriteInt(size); packet.WriteInt(Convert.ToInt32(value)); break; ! case PgDataType.Int8: packet.WriteInt(size); packet.WriteLong(Convert.ToInt64(value)); break; ! case PgDataType.Decimal: { string paramValue = value.ToString(); *************** *** 242,277 **** break; ! case DbType.Double: packet.WriteInt(size); packet.WriteDouble(Convert.ToDouble(value)); break; ! case DbType.Single: packet.WriteInt(size); packet.WriteFloat(Convert.ToSingle(value)); break; ! case DbType.Currency: packet.WriteInt(size); packet.WriteInt(Convert.ToInt32(Convert.ToSingle(value)*100)); break; ! case DbType.Date: packet.WriteInt(size); packet.WriteDate((DateTime)value); break; ! case DbType.DateTime: packet.WriteInt(size); ! packet.WriteTimestamp((DateTime)value); break; ! case DbType.Time: packet.WriteInt(size); ! packet.WriteTime((DateTime)value); break; ! case DbType.String: ! case DbType.StringFixedLength: { string paramValue = value.ToString(); --- 243,278 ---- break; ! case PgDataType.Double: packet.WriteInt(size); packet.WriteDouble(Convert.ToDouble(value)); break; ! case PgDataType.Float: packet.WriteInt(size); packet.WriteFloat(Convert.ToSingle(value)); break; ! case PgDataType.Currency: packet.WriteInt(size); packet.WriteInt(Convert.ToInt32(Convert.ToSingle(value)*100)); break; ! case PgDataType.Date: packet.WriteInt(size); packet.WriteDate((DateTime)value); break; ! case PgDataType.Time: packet.WriteInt(size); ! packet.WriteTime((DateTime)value); break; ! case PgDataType.TimeStamp: packet.WriteInt(size); ! packet.WriteTimestamp((DateTime)value); break; ! case PgDataType.Char: ! case PgDataType.VarChar: { string paramValue = value.ToString(); *************** *** 280,283 **** --- 281,292 ---- } break; + + case PgDataType.Box: + case PgDataType.Line: + case PgDataType.LSeg: + case PgDataType.Path: + case PgDataType.Point: + case PgDataType.Polygon: + break; } } Index: PgResponsePacket.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgResponsePacket.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** PgResponsePacket.cs 29 Sep 2003 14:33:01 -0000 1.6 --- PgResponsePacket.cs 17 Oct 2003 18:23:02 -0000 1.7 *************** *** 171,175 **** } ! public float ReadMoney() { float val = (float)ReadInt(); --- 171,175 ---- } ! public float ReadCurrency() { float val = (float)ReadInt(); *************** *** 293,364 **** public object ReadValue(PgType type, int length) { ! switch (type.DbType) { ! case DbType.Binary: ! { ! if (type.ArrayType != 0) { ! if (type.FormatCode == 0) ! { ! return ReadStringArray(type, length); ! } ! else ! { ! if (type.IsVector) ! { ! return ReadVector(type, length); ! } ! else ! { ! return ReadPrimitiveArray(type, length); ! } ! } } else { ! return ReadBytes(length); } - } ! case DbType.String: return ReadString(length); ! case DbType.Boolean: return ReadBoolean(); ! case DbType.Byte: return ReadByte(); ! case DbType.Decimal: string numericValue = ReadString(length); return Decimal.Parse(numericValue, NumberFormatInfo.InvariantInfo); ! case DbType.Currency: ! return ReadMoney(); ! case DbType.Single: return ReadSingle(); ! case DbType.Double: return ReadDouble(); ! case DbType.Int16: return ReadShort(); ! case DbType.Int32: return ReadInt(); ! case DbType.Int64: return ReadLong(); ! case DbType.Date: return ReadDate(); ! case DbType.Time: return ReadTime(); ! case DbType.DateTime: ! return ReadTimestamp(); default: return ReadBytes(length); --- 293,361 ---- public object ReadValue(PgType type, int length) { ! switch (type.DataType) { ! case PgDataType.Array: ! if (type.FormatCode == 0) { ! return ReadStringArray(type, length); } else { ! return ReadPrimitiveArray(type, length); } ! case PgDataType.Vector: ! return ReadVector(type, length); ! ! case PgDataType.Binary: ! return ReadBytes(length); ! ! case PgDataType.Char: ! case PgDataType.VarChar: return ReadString(length); ! case PgDataType.Boolean: return ReadBoolean(); ! case PgDataType.Byte: return ReadByte(); ! case PgDataType.Decimal: string numericValue = ReadString(length); return Decimal.Parse(numericValue, NumberFormatInfo.InvariantInfo); ! case PgDataType.Currency: ! return ReadCurrency(); ! case PgDataType.Float: return ReadSingle(); ! case PgDataType.Double: return ReadDouble(); ! case PgDataType.Int2: return ReadShort(); ! case PgDataType.Int4: return ReadInt(); ! case PgDataType.Int8: return ReadLong(); ! case PgDataType.Date: return ReadDate(); ! case PgDataType.Time: return ReadTime(); ! case PgDataType.TimeStamp: ! return ReadTimestamp(); + case PgDataType.Box: + case PgDataType.Path: + case PgDataType.Point: + case PgDataType.Polygon: + case PgDataType.Line: + case PgDataType.LSeg: default: return ReadBytes(length); *************** *** 381,411 **** int elementLen = ReadInt(); ! switch (type.DbType) { ! case DbType.Boolean: elementData = BitConverter.GetBytes(ReadBoolean()); break; ! case DbType.Byte: elementData = BitConverter.GetBytes(ReadByte()); break; ! case DbType.Single: elementData = BitConverter.GetBytes(ReadSingle()); break; ! case DbType.Double: elementData = BitConverter.GetBytes(ReadDouble()); break; ! case DbType.Int16: elementData = BitConverter.GetBytes(ReadShort()); break; ! case DbType.Int32: elementData = BitConverter.GetBytes(ReadInt()); break; ! case DbType.Int64: elementData = BitConverter.GetBytes(ReadLong()); break; --- 378,408 ---- int elementLen = ReadInt(); ! switch (type.DataType) { ! case PgDataType.Boolean: elementData = BitConverter.GetBytes(ReadBoolean()); break; ! case PgDataType.Byte: elementData = BitConverter.GetBytes(ReadByte()); break; ! case PgDataType.Float: elementData = BitConverter.GetBytes(ReadSingle()); break; ! case PgDataType.Double: elementData = BitConverter.GetBytes(ReadDouble()); break; ! case PgDataType.Int2: elementData = BitConverter.GetBytes(ReadShort()); break; ! case PgDataType.Int4: elementData = BitConverter.GetBytes(ReadInt()); break; ! case PgDataType.Int8: elementData = BitConverter.GetBytes(ReadLong()); break; Index: PgType.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgType.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PgType.cs 29 Sep 2003 14:33:01 -0000 1.3 --- PgType.cs 17 Oct 2003 18:23:02 -0000 1.4 *************** *** 19,23 **** using System; using System.Data; - using PostgreSql.Data.PgSqlClient; namespace PostgreSql.Data.NPgClient --- 19,22 ---- *************** *** 29,39 **** private int oid; private string name; ! private DbType dbType; private Type systemType; private int arrayType; private short formatCode; ! private int size; ! private bool isVector; ! private PgDbType providerType; #endregion --- 28,36 ---- private int oid; private string name; ! private PgDataType dataType; private Type systemType; private int arrayType; private short formatCode; ! private int size; #endregion *************** *** 46,57 **** } ! public string Name { ! get { return name; } } ! public DbType DbType { ! get { return dbType; } } --- 43,54 ---- } ! public PgDataType DataType { ! get { return dataType; } } ! public string Name { ! get { return name; } } *************** *** 63,67 **** public int ArrayType { ! get { return arrayType; } } --- 60,74 ---- public int ArrayType { ! get ! { ! int type = arrayType; ! ! while (PgDbClient.Types[type].DataType == PgDataType.Array) ! { ! type = PgDbClient.Types[type].Oid; ! } ! ! return type; ! } } *************** *** 76,195 **** } - public bool IsVector - { - get { return isVector; } - } - - public PgDbType ProviderType - { - get { return providerType; } - } - #endregion #region CONSTRUCTORS ! public PgType(int oid, string name, DbType dbType, Type systemType, int arrayType, short formatCode, int size, bool isVector) { ! this.oid = oid; ! this.name = name; ! this.dbType = dbType; ! this.systemType = systemType; ! this.arrayType = arrayType; ! this.formatCode = formatCode; ! this.size = size; ! this.isVector = isVector; ! ! setProviderType(); } #endregion ! #region PRIVATE_METHODS ! private void setProviderType() ! { ! switch(dbType) { ! case DbType.Byte: ! providerType = PgDbType.Byte; ! break; ! ! case DbType.Boolean: ! providerType = PgDbType.Boolean; ! break; ! ! case DbType.AnsiStringFixedLength: ! case DbType.StringFixedLength: ! providerType = PgDbType.Char; ! break; ! ! case DbType.AnsiString: ! case DbType.String: ! providerType = PgDbType.VarChar; ! break; ! ! case DbType.Binary: ! { ! if (arrayType != 0) ! { ! providerType = PgDbType.Array; ! } ! else ! { ! providerType = PgDbType.Binary; ! } ! } ! break; ! ! case DbType.Date: ! providerType = PgDbType.Date; ! break; ! ! case DbType.Time: ! providerType = PgDbType.Time; ! break; ! ! case DbType.DateTime: ! providerType = PgDbType.TimeStamp; ! break; ! ! case DbType.Int16: ! case DbType.UInt16: ! providerType = PgDbType.Int2; ! break; ! ! case DbType.Int32: ! case DbType.UInt32: ! providerType = PgDbType.Int4; ! break; ! ! case DbType.Int64: ! case DbType.UInt64: ! providerType = PgDbType.Int8; ! break; ! ! case DbType.Single: ! providerType = PgDbType.Float; ! break; ! ! case DbType.Decimal: ! providerType = PgDbType.Decimal; ! break; ! ! case DbType.Double: ! providerType = PgDbType.Double; ! break; ! case DbType.Currency: ! providerType = PgDbType.Currency; ! break; ! case DbType.Guid: ! case DbType.VarNumeric: ! case DbType.SByte: ! default: ! throw new InvalidOperationException("Invalid data type specified."); } } --- 83,133 ---- } #endregion #region CONSTRUCTORS ! public PgType(int oid, string name, PgDataType providerType, Type systemType, int arrayType, short formatCode, int size) { ! this.oid = oid; ! this.name = name; ! this.systemType = systemType; ! this.arrayType = arrayType; ! this.formatCode = formatCode; ! this.size = size; } #endregion ! #region METHODS ! public bool IsNumeric() ! { ! bool returnValue = false; ! ! if (dataType == PgDataType.Currency || ! dataType == PgDataType.Int2 || ! dataType == PgDataType.Int4 || ! dataType == PgDataType.Int8 || ! dataType == PgDataType.Float || ! dataType == PgDataType.Double || ! dataType == PgDataType.Decimal || ! dataType == PgDataType.Byte) { ! returnValue = true; ! } ! return returnValue; ! } ! public bool IsLong() ! { ! bool returnValue = false; ! ! if (dataType == PgDataType.Binary) ! { ! returnValue = true; } + + return returnValue; } Index: PgTypeCollection.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgTypeCollection.cs,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PgTypeCollection.cs 22 Aug 2003 15:13:36 -0000 1.3 --- PgTypeCollection.cs 17 Oct 2003 18:23:02 -0000 1.4 *************** *** 83,100 **** } - public int IndexOf(DbType type) - { - int index = 0; - foreach(PgType item in this) - { - if (item.DbType == type) - { - return index; - } - index++; - } - return -1; - } - public void RemoveAt(string typeName) { --- 83,86 ---- *************** *** 109,115 **** } ! public PgType Add(int oid, string name, DbType dbType, Type systemType, int arrayType, short formatCode, int size, bool isVector) { ! PgType type = new PgType(oid, name, dbType, systemType, arrayType, formatCode, size, isVector); base.Add(type); --- 95,101 ---- } ! public PgType Add(int oid, string name, PgDataType dataType, Type systemType, int arrayType, short formatCode, int size) { ! PgType type = new PgType(oid, name, dataType, systemType, arrayType, formatCode, size); base.Add(type); |