Page 1 of 1

Bug with PgSqlDataAdapter Fill method in mono

Posted: Wed 12 Sep 2007 17:15
by phaggard
This may be a known bug, but one which I am experiencing.

If DbDataAdapter.Fill(DataTable dataTable) overloaded method of the PgSqlDataAdapter object is used, an exception occurs. The following is an example:

null key
Parameter name: key
at System.Collections.Hashtable.Find (System.Object key) [0x00000]
at System.Collections.Hashtable.Contains (System.Object key) [0x00000]
at System.Data.Common.DataTableMappingCollection.Contains (System.String value
) [0x00000]
at (wrapper remoting-invoke-with-check) System.Data.Common.DataTableMappingCol
lection:Contains (string)
at CoreLab.PostgreSql.PgSqlDataAdapter.a (System.Data.DataTable A_0, CoreLab.P
ostgreSql.PgSqlDataReader A_1, System.Data.DataSet A_2, System.String A_3, Int32
A_4, Int32 A_5) [0x00000]
at CoreLab.PostgreSql.PgSqlDataAdapter.a (System.Data.DataTable A_0, IDataRead
er A_1) [0x00000]
at CoreLab.PostgreSql.PgSqlDataAdapter.Fill (System.Data.DataTable table, IDat
aReader dataReader) [0x00000]
at System.Data.Common.DbDataAdapter.Fill (System.Data.DataTable dataTable, IDb
Command command, CommandBehavior behavior) [0x00000]
at System.Data.Common.DbDataAdapter.Fill (System.Data.DataTable dataTable) [0x
00000]
at (wrapper remoting-invoke-with-check) System.Data.Common.DbDataAdapter:Fill
(System.Data.DataTable)
at PryerMachine.DBConnPool.PgSqlDB.getDataTable (System.String PoolName, Syste
m.String SQL) [0x00000]

This problem does not occur when using the DbDataAdapter.Fill(DataSet dataSet) overload and can be used as a workaround.

This occurs with the version 3.20.16.0 of the PostgreSQLDirect.NET driver
running under mono 1.2.5

I have an example project using remoting that I can submit. I found this while trying to run our back end tier under mono using remoting, however it seems to occur in regular applications that don't use remoting as well.

This problem only occurs when using mono - The MS .NET runtime works fine with this method. I would suspect this is an issue with the mono implementation of the System.Data library that is causing this problem.

Thanks in advance for any insight and help

Posted: Thu 13 Sep 2007 11:12
by Alexey
I have an example project using remoting that I can submit. I found this while trying to run our back end tier under mono using remoting, however it seems to occur in regular applications that don't use remoting as well.
Please send it to the address provided in the Readme.txt file. Include the definitions of your database objects.

Fill Method problem

Posted: Fri 21 Sep 2007 20:44
by phaggard
I had not had a chance to reply to your post as I did not receive any e-mail notification that you had replied as I apparently didn't check the 'Notify me' on my original post.

I will send along the test project ASAP. It actually requires no database object definitions of any kind or any specific database be scripted. The SQL being executed is a simple 'SELECT VERSION()' statement that can be executed against any database.

Posted: Mon 24 Sep 2007 13:30
by Alexey
We are investigating your project.
Look forward to hearing from me again.

Posted: Thu 22 Nov 2007 17:58
by SecureGen
We have fixed this problem for you.
Look forward to the next build.