[tarantool-patches] Re: [PATCH v2 1/1] schema:frommap() to create table or tuple
v.shpilevoy at tarantool.org
v.shpilevoy at tarantool.org
Mon Apr 2 14:19:34 MSK 2018
Hello. Thanks for your contributing! A several (5) minor fixes are left:
1. Please, describe the patch in a commit message body. It would be good, if you
write why the feature is needed, who needs this, and very short description of
the feature itself: API usage example, options description. See Vladimir Davydov
patches as the perfect example.
> /* space.schema_version */
> lua_pushstring(L, "_schema_version");
> luaL_pushuint64(L, box_schema_version());
> lua_settable(L, i);
2. Please, update the comment too: /* space._schema_version */ (added '_').
> /**
> * Get a C pointer for space structure.
> * Caches the result. Cleans the user(negative) stack itself.
> * @param Lua space object at top of the Lua stack
> * @return C structure pointer
> */
> static int
> lbox_space_ptr_cached(struct lua_State *L)
3. Please, use @retval instead of @return, and put '.' at the end of a sentence.
4. Seems like the following test crashes Tarantool. Please, fix it.
box.cfg{}
format = {{'field1', 'unsigned'}}
s = box.schema.create_space('test', {format = format})
pk = s:create_index('pk')
s:drop()
s:frommap({field1 = 100})
Process 67761 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xe8)
frame #0: 0x0000000100100b68 tarantool`lbox_space_frommap(L=0x0000000103200378) at space.cc:465
462 lbox_space_ptr_cached(L);
463 space = (struct space *)lua_topointer(L, -1);
464
-> 465 dict = space->format->dict;
466 lua_createtable(L, space->def->field_count, 0);
467
468 lua_pushnil(L);
Target 0: (tarantool) stopped.
> if (tuple_fieldno_by_name(dict, key, key_len, key_hash, &fieldno)) {
> lua_pushnil(L);
> lua_pushstring(L, "Unknown field");
> return 2;
> }
> lua_rawseti(L, -3, fieldno+1);
5. Please, return field name into error message. In the previous patch the error message
was ok. Just do not throw it. And put spaces before and after arithmetic operations.
More information about the Tarantool-patches
mailing list