diff --git a/cfg/tarantool_box_cfg.c b/cfg/tarantool_box_cfg.c index b0d6e2747e52fb186fd95f22d0dc86b9d3cf25d0..1044259140a484db15945e8ef11e2f69a0297700 100644 --- a/cfg/tarantool_box_cfg.c +++ b/cfg/tarantool_box_cfg.c @@ -2005,6 +2005,7 @@ dup_tarantool_cfg(tarantool_cfg* dst, tarantool_cfg* src) { while (src->space[i->idx_name__space] != NULL) { ARRAYALLOC(dst->space, i->idx_name__space + 1, _name__space, 0, 0); + dst->space[i->idx_name__space]->__confetti_flags = src->space[i->idx_name__space]->__confetti_flags; dst->space[i->idx_name__space]->enabled = src->space[i->idx_name__space]->enabled; dst->space[i->idx_name__space]->cardinality = src->space[i->idx_name__space]->cardinality; dst->space[i->idx_name__space]->estimated_rows = src->space[i->idx_name__space]->estimated_rows; @@ -2017,6 +2018,7 @@ dup_tarantool_cfg(tarantool_cfg* dst, tarantool_cfg* src) { while (src->space[i->idx_name__space]->index[i->idx_name__space__index] != NULL) { ARRAYALLOC(dst->space[i->idx_name__space]->index, i->idx_name__space__index + 1, _name__space__index, 0, 0); + dst->space[i->idx_name__space]->index[i->idx_name__space__index]->__confetti_flags = src->space[i->idx_name__space]->index[i->idx_name__space__index]->__confetti_flags; if (dst->space[i->idx_name__space]->index[i->idx_name__space__index]->type) free(dst->space[i->idx_name__space]->index[i->idx_name__space__index]->type);dst->space[i->idx_name__space]->index[i->idx_name__space__index]->type = src->space[i->idx_name__space]->index[i->idx_name__space__index]->type == NULL ? NULL : strdup(src->space[i->idx_name__space]->index[i->idx_name__space__index]->type); if (src->space[i->idx_name__space]->index[i->idx_name__space__index]->type != NULL && dst->space[i->idx_name__space]->index[i->idx_name__space__index]->type == NULL) return CNF_NOMEMORY; @@ -2030,6 +2032,7 @@ dup_tarantool_cfg(tarantool_cfg* dst, tarantool_cfg* src) { while (src->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field] != NULL) { ARRAYALLOC(dst->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field, i->idx_name__space__index__key_field + 1, _name__space__index__key_field, 0, 0); + dst->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->__confetti_flags = src->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->__confetti_flags; dst->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->fieldno = src->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->fieldno; if (dst->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->type) free(dst->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->type);dst->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->type = src->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->type == NULL ? NULL : strdup(src->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->type); if (src->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->type != NULL && dst->space[i->idx_name__space]->index[i->idx_name__space__index]->key_field[i->idx_name__space__index__key_field]->type == NULL) diff --git a/test/box/configuration.result b/test/box/configuration.result index d9cde0798298b81cb3eecf2b7e4dd9a5006fefef..e84f963d5b25decb0c004351baedc83e69aa80fb 100644 --- a/test/box/configuration.result +++ b/test/box/configuration.result @@ -197,6 +197,10 @@ lua box.space[0].enabled --- - true ... +reload configuration +--- +ok +... # Test field type conflict in keys diff --git a/test/box/configuration.test b/test/box/configuration.test index 97356e8737da50b602b2d9c83a66a2db26de45a9..b1a9ba605e7ee777c5f9f1a74c8d3ca5615e4834 100644 --- a/test/box/configuration.test +++ b/test/box/configuration.test @@ -36,7 +36,6 @@ print """ """ # stop current server server.stop() -# start server from config with different boolean represenation server.deploy("box/tarantool_bug876541.cfg") # check values exec admin "lua box.cfg.wal_fsync_delay" @@ -47,11 +46,11 @@ print """ """ # stop current server server.stop() -# start server from config with different boolean represenation server.deploy("box/tarantool_bug928413.cfg") # check values exec admin "lua box.cfg.wal_fsync_delay" exec admin "lua box.space[0].enabled" +exec admin "reload configuration" print """ # Test field type conflict in keys