FbDataReader fails when reading more than 110 fields
----------------------------------------------------

                 Key: DNET-217
                 URL: http://tracker.firebirdsql.org/browse/DNET-217
             Project: .NET Data provider
          Issue Type: Bug
          Components: ADO.NET Provider
    Affects Versions: 2.5.0 Beta 1
         Environment: Vista home,
Firebird server 2.1.1.17910
            Reporter: Gareth Goslett
            Assignee: Jiri Cincura
            Priority: Minor


When executing this unit test which creates a table with 500 fields an 
exception is generated when executing a select command for all fields.

[Test]
public void MaxFieldsTest()
{
        FbCommand     command;
        FbDataReader  reader;
        System.Text.StringBuilder sb = new System.Text.StringBuilder();
        
        sb.AppendLine("CREATE TABLE TEST_MAX_FIELDS (");
        for (int i = 0; i < 499; i++)
        {
                sb.AppendLine("FIELD_" + i.ToString("D3") + " INTEGER,");
        }
        sb.AppendLine("FIELD_499 INTEGER)");
        
        command = new FbCommand(sb.ToString(), this.Connection);
        command.ExecuteNonQuery();
        command.Dispose();
        
        command = new FbCommand("SELECT * FROM TEST_MAX_FIELDS", 
this.Connection);
        reader = command.ExecuteReader();
        reader.Close();
}

Selected test: FirebirdSql.Data.UnitTests.FbDataReaderTest.MaxFieldsTest
.F
Tests run: 1, Failures: 1, Not run: 0, Time: 1.770 seconds

Test Case Failures:
1) FirebirdSql.Data.UnitTests.FbDataReaderTest.MaxFieldsTest : 
System.IndexOutOfRangeException : Index was outside the bounds of the array.
at FirebirdSql.Data.Common.IscHelper.VaxInteger(Byte[] buffer, Int32 index, 
Int32 length) in 
d:\Projects\SqlManager\FirebirdClient\NETProvider\source\FirebirdSql\Data\Common\IscHelper.cs:line
 312
at 
FirebirdSql.Data.Client.Managed.Version10.GdsStatement.ParseTruncSqlInfo(Byte[] 
info, Descriptor& rowDesc, Int32& lastIndex, Int32& currentPosition) in 
d:\Projects\SqlManager\FirebirdClient\NETProvider\source\FirebirdSql\Data\Client\Managed\Version10\GdsStatement.cs:line
 722
at FirebirdSql.Data.Client.Managed.Version10.GdsStatement.ParseSqlInfo(Byte[] 
info, Byte[] items, Int32& lastPosition) in 
d:\Projects\SqlManager\FirebirdClient\NETProvider\source\FirebirdSql\Data\Client\Managed\Version10\GdsStatement.cs:line
 698
at 
FirebirdSql.Data.Client.Managed.Version10.GdsStatement.ProcessPrepareResponse(GenericResponse
 response) in 
d:\Projects\SqlManager\FirebirdClient\NETProvider\source\FirebirdSql\Data\Client\Managed\Version10\GdsStatement.cs:line
 465
at FirebirdSql.Data.Client.Managed.Version11.GdsStatement.Prepare(String 
commandText) in 
d:\Projects\SqlManager\FirebirdClient\NETProvider\source\FirebirdSql\Data\Client\Managed\Version11\GdsStatement.cs:line
 81
at FirebirdSql.Data.FirebirdClient.FbCommand.Prepare(Boolean returnsSet) in 
d:\Projects\SqlManager\FirebirdClient\NETProvider\source\FirebirdSql\Data\FirebirdClient\FbCommand.cs:line
 1153
at FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteCommand(CommandBehavior 
behavior, Boolean returnsSet) in 
d:\Projects\SqlManager\FirebirdClient\NETProvider\source\FirebirdSql\Data\FirebirdClient\FbCommand.cs:line
 1175
at FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteReader(CommandBehavior 
behavior) in 
d:\Projects\SqlManager\FirebirdClient\NETProvider\source\FirebirdSql\Data\FirebirdClient\FbCommand.cs:line
 552
at FirebirdSql.Data.FirebirdClient.FbCommand.ExecuteReader() in 
d:\Projects\SqlManager\FirebirdClient\NETProvider\source\FirebirdSql\Data\FirebirdClient\FbCommand.cs:line
 529
at FirebirdSql.Data.UnitTests.FbDataReaderTest.MaxFieldsTest() in 
d:\Projects\SqlManager\FirebirdClient\NETProvider\source\FirebirdSql\Data\UnitTests\FbDataReaderTest.cs:line
 394

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to