[pgsqlclient-checkins] pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient PgDbClient.cs,1.1
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-serv18477 Modified Files: PgDbClient.cs PgOutputPacket.cs PgResponsePacket.cs PgType.cs Log Message: Added some changes to Array datatype handling Index: PgDbClient.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgDbClient.cs,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** PgDbClient.cs 21 Sep 2003 22:35:21 -0000 1.17 --- PgDbClient.cs 29 Sep 2003 14:33:01 -0000 1.18 *************** *** 652,678 **** 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.String , 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.Object , 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.Object , Type.GetType("System.Array") , 26, 1, 4, true); 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.Object , Type.GetType("System.Array") , 21, 1, 2, false); ! types.Add(1007 , "_int4" , DbType.Object , Type.GetType("System.Array") , 23, 1, 4, false); ! types.Add(1016 , "_int8" , DbType.Object , Type.GetType("System.Array") , 20, 1, 8, false); ! types.Add(1009 , "_text" , DbType.Object , Type.GetType("System.Array") , 25, 1, 0, false); ! types.Add(1021 , "_float4" , DbType.Object , 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.Object , 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); --- 652,678 ---- 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(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); *************** *** 683,687 **** 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.Object , Type.GetType("System.Array") , 0, 1, 8, false); } --- 683,687 ---- 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); } Index: PgOutputPacket.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgOutputPacket.cs,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PgOutputPacket.cs 19 Sep 2003 17:04:39 -0000 1.4 --- PgOutputPacket.cs 29 Sep 2003 14:33:01 -0000 1.5 *************** *** 154,158 **** else { ! if (parameter.DataType.DbType == DbType.Object) { // Handle this type as Array values --- 154,159 ---- else { ! if (parameter.DataType.DbType == DbType.Binary && ! parameter.DataType.ArrayType != 0) { // Handle this type as Array values Index: PgResponsePacket.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgResponsePacket.cs,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** PgResponsePacket.cs 19 Sep 2003 17:04:39 -0000 1.5 --- PgResponsePacket.cs 29 Sep 2003 14:33:01 -0000 1.6 *************** *** 296,300 **** { case DbType.Binary: ! return ReadBytes(length); case DbType.String: --- 296,323 ---- { 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: *************** *** 337,366 **** case DbType.DateTime: return ReadTimestamp(); - - case DbType.Object: - { - if (type.SystemType == Type.GetType("System.Array")) - { - if (type.FormatCode == 0) - { - return ReadStringArray(type, length); - } - else - { - if (type.IsVector) - { - return ReadVector(type, length); - } - else - { - return ReadPrimitiveArray(type, length); - } - } - } - else - { - throw new NotSupportedException("Unknown data type"); - } - } default: --- 360,363 ---- Index: PgType.cs =================================================================== RCS file: /cvsroot/pgsqlclient/pgsqlclient_10/PostgreSql.Data.PgSqlClient/source/NPgClient/PgType.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PgType.cs 2 Aug 2003 21:12:16 -0000 1.2 --- PgType.cs 29 Sep 2003 14:33:01 -0000 1.3 *************** *** 120,137 **** break; - case DbType.AnsiString: - case DbType.String: - providerType = PgDbType.VarChar; - break; - case DbType.AnsiStringFixedLength: case DbType.StringFixedLength: providerType = PgDbType.Char; break; case DbType.Binary: ! case DbType.Object: ! providerType = PgDbType.Binary; ! break; case DbType.Date: --- 120,145 ---- 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: |