Hi! I've tried to use provider with FB 2.1 and there were a broblems 
with new FB protocol:

http://tracker.firebirdsql.org/browse/CORE-1218

But vlad said that provider should not only check isc_info_end, but 
array length too. So i propose to make some changes in StatementBase.cs 
  in method ParseStatementTypeInfo (line 374) on next one:

        protected DbStatementType ParseStatementTypeInfo(byte[] buffer)
           {
                DbStatementType stmtType = DbStatementType.None;
                int pos = 0;
                int type;

                while (pos < buffer.Length && (type = buffer[pos]) != 
IscCodes.isc_info_end)
                {
                     pos ++;
                     int length = IscHelper.VaxInteger(buffer, pos, 2);
                     pos += 2;
                     switch (type)
                     {
                          case IscCodes.isc_info_sql_stmt_type:
                               stmtType = 
(DbStatementType)IscHelper.VaxInteger(buffer, pos, length);
                               pos += length;
                               break;

                          default:
                               pos += length;
                               break;
                     }
                }

                return stmtType;

           }


Also i propose some changes in VaxInteger from IscHelper.cs to make it 
more clear:

public static int VaxInteger(byte[] buffer, int index, int length)
{
        int newValue = 0;
        int shift = 0;

        for (int i = index; i < index + length; i++, shift += 8)
                newValue |= buffer[i] << shift;

         return newValue;
}


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Firebird-net-provider mailing list
Firebird-net-provider@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/firebird-net-provider

Reply via email to