On 27/03/2014 13:44, Vlad Khorsun wrote:
>> Provide name of TABLE / VIEW when some statement violates CHECK.
>> ----------------------------------------------------------------
>>
>>                 Key: CORE-4368
>>                 URL: http://tracker.firebirdsql.org/browse/CORE-4368
>>             Project: Firebird Core
>>          Issue Type: Improvement
>>          Components: Engine
>>            Reporter: Pavel Zotov
>>
>>
>> A message like this:
>> -----
>> The insert failed because a column definition includes validation 
>> constraints.
>> validation error for column ID, value "*** null ***".
>> At procedure 'SP_RESERVE_WRITE_OFF' line: 131, col: 8.
>> -----
>>
>> - does not says what table owns this column.
>> It will be useful to output such info (especially when there is no access to 
>> source code of stored procedure).
>     Isn't it duplicates CORE-4252 ? There was attempt to discuss it here...
>
>
Yes.

There is another approach which I think is better:

Change error message from:

validation error for column @1, value "@2"

to

validation error for column @3.@1, value "@2"'

In this case, user can inspect status vector and distinguish what is
table and column name, without ambiguities.

The only problem would be old server accessed with new client and
message file.

It will show:

validation error for column <Missing arg #3 - possibly status vector
overflow>.NAME, value "..."'

But AFAIK, value "@2" is also new, which also causes problem, so I don't
think this is a showstopper.


Adriano


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

Reply via email to