On Mon, 11 Aug 2014 16:48:48 +0400, Alex Peshkoff <peshk...@mail.ru>
wrote:
> On 08/09/14 16:40, Mark Rotteveel wrote:
>> Currently jaybird is handling isc_arg_interpreted the same as
>> isc_arg_string and assumes it is a message parameter for the message of
>> the previous error code.
>>
>> However I was just debugging the handling of the statusvector for the
>> new native client wrapper in Jaybird and I noticed - when trying to
>> connect to a non-existent database - that Firebird was returning a
>> statusvector with:
>>
>> isc_arg_gds, isc_io_error ("I/O error during "{0}" operation for file
>> "{1}""),
>> isc_arg_string, "CreateFile (open)",
>> isc_arg_string, (name of the database),
>> isc_arg_gds, isc_io_open_err ("Error while trying to open file"),
>> isc_arg_interpreted, "The system cannot find the file specified."
>> isc_arg_end
>>
>> As Jaybird was interpreting the last entry as a message parameter to
>> isc_io_open_err, and that doesn't have a parameter, it isn't showing
>> anything.
>>
>> Should I handle isc_arg_interpreted as an element on its own?
> 
> isc_arg_interpreted is handled on its own - a string, just a string to 
> type. It's not a parameter of other message.

Thanks. For now I have handled it by printing additional parameters if
there are more parameters than placeholders (which solves this problem, and
cases were I potentially use an older message format with less parameters
than provided by Firebird). I will see if I need to create a more formally
correct solution by treating isc_arg_interpreted as a separate element.

Mark

------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to