From: Dmitry Y. <fir...@ya...> - 2010-01-11 09:53:26
|
All, I'll try to comment to a few different messages at once. I'm not sure I remember all the proposed details (they're somewhat hidden inside the flame wars), so I'll be basically expressing my own opinion. Checking the client library version looks like a good solution, but it's not related to the things being discussed at all. This way we may speak about sending whatever GDS error code as isc_random if the client msg-version mismatches the server one. This resolves the backward compatibility for all possible new error codes as a whole. Implementing this just for the parametrized exceptions makes very little sense to me. The currently existing exception functionality must preserve the isc_except error code with its format (using isc_random). The formatted exception may either reuse the same error code and send the already formatted error message to the client or use the new isc_formatted_exception error code with the format text and the arguments and leave it up to the client to format the message. The answer depends on whether we care about older clients handling the exceptions thrown in a new way or not. Sending the formatted exception in both ways looks like an overkill to me. I don't buy the argument of using gds__msg_lookup() to get the message template text, as I don't know anyone needing this (and I'm not sure this routine is ever documented). Dmitry |