[Tarantool-patches] [PATCH 3/9] error: move code to struct error from ClientError
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Fri Nov 12 02:50:52 MSK 2021
Thanks for the review!
>> diff --git a/src/lua/error.lua b/src/lua/error.lua
>> index ebc784f07..9fb227df4 100644
>> --- a/src/lua/error.lua
>> +++ b/src/lua/error.lua
>> @@ -18,6 +18,7 @@ struct error {
>> const struct type_info *_type;
>> int64_t _refs;
>> int _saved_errno;
>> + int code;
>
> 1. All the other fields are prefixed with "_" for some reason.
> Let's do the same for "code", just to comply.
I named it without '_' intentionally. Because then Lua will see
this field right away when you do `err.code`. That also allows
me not to define a getter in `error_fields` table.
>> /** Line number. */
>> unsigned _line;
>> /* Source file name. */
>> @@ -158,7 +159,7 @@ local function error_unpack(err)
>> if not ffi.istype('struct error', err) then
>> error("Usage: error:unpack()")
>> end
>> - local result = {}
>> + local result = {code = err.code}
>
> 2. Why not add 'code' to 'error_fields' ?
Because it is visible without a getter anyway. On the downside, here
in unpack() I need to add it explicitly.
More information about the Tarantool-patches
mailing list