diff --git a/client/tarantool/tnt.c b/client/tarantool/tnt.c index f42574e4e7cea8f6c5fb649c95fe80ab3ef80657..1b46a41892e8baa51d034ed02838801e135e2b94 100644 --- a/client/tarantool/tnt.c +++ b/client/tarantool/tnt.c @@ -39,9 +39,9 @@ #include <errcode.h> #include <third_party/gopt/gopt.h> -#include <connector/c/include/libtnt/tnt.h> -#include <connector/c/include/libtnt/tnt_sql.h> -#include <connector/c/include/libtnt/tnt_net.h> +#include <connector/c/include/tarantool/tnt.h> +#include <connector/c/include/tarantool/tnt_sql.h> +#include <connector/c/include/tarantool/tnt_net.h> #include <client/tarantool/tnt_admin.h> diff --git a/connector/c/CMakeLists.txt b/connector/c/CMakeLists.txt index 1d94e5179d3545d57a4afadccd69d65489b9af9c..a5b023096a7dc417a56e57cbef59faa8ce3b180f 100644 --- a/connector/c/CMakeLists.txt +++ b/connector/c/CMakeLists.txt @@ -1,3 +1,10 @@ + +# +# library soname version +# +set(LIBTNT_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") +set(LIBTNT_SOVERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}") + add_subdirectory(tnt) add_subdirectory(tntsql) add_subdirectory(tntnet) diff --git a/connector/c/include/CMakeLists.txt b/connector/c/include/CMakeLists.txt index ced3d1c21177cbd549567c189ccf96b7dbe31a29..a47ec7c2e8a6c20f4154ebb04905fc10902ed634 100644 --- a/connector/c/include/CMakeLists.txt +++ b/connector/c/include/CMakeLists.txt @@ -3,4 +3,4 @@ # installation of tarantool C client library headers # -install(DIRECTORY libtnt DESTINATION include) +install(DIRECTORY tarantool DESTINATION include) diff --git a/connector/c/include/libtnt/tnt.h b/connector/c/include/tarantool/tnt.h similarity index 76% rename from connector/c/include/libtnt/tnt.h rename to connector/c/include/tarantool/tnt.h index cd99df63b3530d0a62a1117809e6e57393f08502..c67e012424c805c29cd9e73f0d98736e9044d79d 100644 --- a/connector/c/include/libtnt/tnt.h +++ b/connector/c/include/tarantool/tnt.h @@ -33,20 +33,20 @@ extern "C" { #include <stdint.h> #include <stdarg.h> -#include <libtnt/tnt_mem.h> -#include <libtnt/tnt_proto.h> -#include <libtnt/tnt_enc.h> -#include <libtnt/tnt_tuple.h> -#include <libtnt/tnt_reply.h> -#include <libtnt/tnt_stream.h> -#include <libtnt/tnt_iter.h> -#include <libtnt/tnt_buf.h> -#include <libtnt/tnt_ping.h> -#include <libtnt/tnt_insert.h> -#include <libtnt/tnt_update.h> -#include <libtnt/tnt_delete.h> -#include <libtnt/tnt_call.h> -#include <libtnt/tnt_select.h> +#include <tarantool/tnt_mem.h> +#include <tarantool/tnt_proto.h> +#include <tarantool/tnt_enc.h> +#include <tarantool/tnt_tuple.h> +#include <tarantool/tnt_reply.h> +#include <tarantool/tnt_stream.h> +#include <tarantool/tnt_iter.h> +#include <tarantool/tnt_buf.h> +#include <tarantool/tnt_ping.h> +#include <tarantool/tnt_insert.h> +#include <tarantool/tnt_update.h> +#include <tarantool/tnt_delete.h> +#include <tarantool/tnt_call.h> +#include <tarantool/tnt_select.h> #ifdef __cplusplus } /* extern "C" */ diff --git a/connector/c/include/libtnt/tnt_buf.h b/connector/c/include/tarantool/tnt_buf.h similarity index 100% rename from connector/c/include/libtnt/tnt_buf.h rename to connector/c/include/tarantool/tnt_buf.h diff --git a/connector/c/include/libtnt/tnt_call.h b/connector/c/include/tarantool/tnt_call.h similarity index 100% rename from connector/c/include/libtnt/tnt_call.h rename to connector/c/include/tarantool/tnt_call.h diff --git a/connector/c/include/libtnt/tnt_delete.h b/connector/c/include/tarantool/tnt_delete.h similarity index 100% rename from connector/c/include/libtnt/tnt_delete.h rename to connector/c/include/tarantool/tnt_delete.h diff --git a/connector/c/include/libtnt/tnt_enc.h b/connector/c/include/tarantool/tnt_enc.h similarity index 100% rename from connector/c/include/libtnt/tnt_enc.h rename to connector/c/include/tarantool/tnt_enc.h diff --git a/connector/c/include/libtnt/tnt_insert.h b/connector/c/include/tarantool/tnt_insert.h similarity index 100% rename from connector/c/include/libtnt/tnt_insert.h rename to connector/c/include/tarantool/tnt_insert.h diff --git a/connector/c/include/libtnt/tnt_io.h b/connector/c/include/tarantool/tnt_io.h similarity index 100% rename from connector/c/include/libtnt/tnt_io.h rename to connector/c/include/tarantool/tnt_io.h diff --git a/connector/c/include/libtnt/tnt_iob.h b/connector/c/include/tarantool/tnt_iob.h similarity index 100% rename from connector/c/include/libtnt/tnt_iob.h rename to connector/c/include/tarantool/tnt_iob.h diff --git a/connector/c/include/libtnt/tnt_iter.h b/connector/c/include/tarantool/tnt_iter.h similarity index 100% rename from connector/c/include/libtnt/tnt_iter.h rename to connector/c/include/tarantool/tnt_iter.h diff --git a/connector/c/include/libtnt/tnt_lex.h b/connector/c/include/tarantool/tnt_lex.h similarity index 100% rename from connector/c/include/libtnt/tnt_lex.h rename to connector/c/include/tarantool/tnt_lex.h diff --git a/connector/c/include/libtnt/tnt_mem.h b/connector/c/include/tarantool/tnt_mem.h similarity index 100% rename from connector/c/include/libtnt/tnt_mem.h rename to connector/c/include/tarantool/tnt_mem.h diff --git a/connector/c/include/libtnt/tnt_net.h b/connector/c/include/tarantool/tnt_net.h similarity index 97% rename from connector/c/include/libtnt/tnt_net.h rename to connector/c/include/tarantool/tnt_net.h index c9249744bbd75fd91b1875dc4dfcb70986d4dcd4..19ada6ee09c482e5c8868970dcb2701e6aa0f86c 100644 --- a/connector/c/include/libtnt/tnt_net.h +++ b/connector/c/include/tarantool/tnt_net.h @@ -32,8 +32,8 @@ #include <sys/types.h> #include <sys/time.h> -#include <libtnt/tnt_opt.h> -#include <libtnt/tnt_iob.h> +#include <tarantool/tnt_opt.h> +#include <tarantool/tnt_iob.h> enum tnt_error { TNT_EOK, diff --git a/connector/c/include/libtnt/tnt_opt.h b/connector/c/include/tarantool/tnt_opt.h similarity index 100% rename from connector/c/include/libtnt/tnt_opt.h rename to connector/c/include/tarantool/tnt_opt.h diff --git a/connector/c/include/libtnt/tnt_ping.h b/connector/c/include/tarantool/tnt_ping.h similarity index 100% rename from connector/c/include/libtnt/tnt_ping.h rename to connector/c/include/tarantool/tnt_ping.h diff --git a/connector/c/include/libtnt/tnt_proto.h b/connector/c/include/tarantool/tnt_proto.h similarity index 100% rename from connector/c/include/libtnt/tnt_proto.h rename to connector/c/include/tarantool/tnt_proto.h diff --git a/connector/c/include/libtnt/tnt_queue.h b/connector/c/include/tarantool/tnt_queue.h similarity index 100% rename from connector/c/include/libtnt/tnt_queue.h rename to connector/c/include/tarantool/tnt_queue.h diff --git a/connector/c/include/libtnt/tnt_reply.h b/connector/c/include/tarantool/tnt_reply.h similarity index 100% rename from connector/c/include/libtnt/tnt_reply.h rename to connector/c/include/tarantool/tnt_reply.h diff --git a/connector/c/include/libtnt/tnt_select.h b/connector/c/include/tarantool/tnt_select.h similarity index 100% rename from connector/c/include/libtnt/tnt_select.h rename to connector/c/include/tarantool/tnt_select.h diff --git a/connector/c/include/libtnt/tnt_sql.h b/connector/c/include/tarantool/tnt_sql.h similarity index 100% rename from connector/c/include/libtnt/tnt_sql.h rename to connector/c/include/tarantool/tnt_sql.h diff --git a/connector/c/include/libtnt/tnt_stream.h b/connector/c/include/tarantool/tnt_stream.h similarity index 100% rename from connector/c/include/libtnt/tnt_stream.h rename to connector/c/include/tarantool/tnt_stream.h diff --git a/connector/c/include/libtnt/tnt_tuple.h b/connector/c/include/tarantool/tnt_tuple.h similarity index 100% rename from connector/c/include/libtnt/tnt_tuple.h rename to connector/c/include/tarantool/tnt_tuple.h diff --git a/connector/c/include/libtnt/tnt_update.h b/connector/c/include/tarantool/tnt_update.h similarity index 100% rename from connector/c/include/libtnt/tnt_update.h rename to connector/c/include/tarantool/tnt_update.h diff --git a/connector/c/include/libtnt/tnt_utf8.h b/connector/c/include/tarantool/tnt_utf8.h similarity index 100% rename from connector/c/include/libtnt/tnt_utf8.h rename to connector/c/include/tarantool/tnt_utf8.h diff --git a/connector/c/tnt/CMakeLists.txt b/connector/c/tnt/CMakeLists.txt index f0add390210e8afc0e51a1ef4927c01a6f79c27f..7f0899314410d73decdea91a9a691453fd6a5a53 100644 --- a/connector/c/tnt/CMakeLists.txt +++ b/connector/c/tnt/CMakeLists.txt @@ -48,19 +48,21 @@ string(REPLACE "-static" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") # # Static library # - project(tnt) add_library(tnt STATIC ${tnt_sources}) set_target_properties(tnt PROPERTIES COMPILE_FLAGS "${tnt_cflags}") +set_target_properties(tnt PROPERTIES VERSION ${LIBTNT_VERSION} SOVERSION ${LIBTNT_SOVERSION}) +set_target_properties(tnt PROPERTIES OUTPUT_NAME "tarantool") # # Shared library # - project(tnt_shared) add_library(tnt_shared SHARED ${tnt_sources}) set_target_properties(tnt_shared PROPERTIES OUTPUT_NAME tnt) set_target_properties(tnt_shared PROPERTIES COMPILE_FLAGS "${tnt_cflags}") +set_target_properties(tnt_shared PROPERTIES VERSION ${LIBTNT_VERSION} SOVERSION ${LIBTNT_SOVERSION}) +set_target_properties(tnt_shared PROPERTIES OUTPUT_NAME "tarantool") #----------------------------------------------------------------------------# # Install diff --git a/connector/c/tnt/tnt_buf.c b/connector/c/tnt/tnt_buf.c index 6889ae819ce3ecac78401ff1bfd19cfe3903dccf..358caa08d86950986bda562213db34238002a3db 100644 --- a/connector/c/tnt/tnt_buf.c +++ b/connector/c/tnt/tnt_buf.c @@ -28,11 +28,11 @@ #include <stdint.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_mem.h> -#include <connector/c/include/libtnt/tnt_tuple.h> -#include <connector/c/include/libtnt/tnt_reply.h> -#include <connector/c/include/libtnt/tnt_stream.h> -#include <connector/c/include/libtnt/tnt_buf.h> +#include <connector/c/include/tarantool/tnt_mem.h> +#include <connector/c/include/tarantool/tnt_tuple.h> +#include <connector/c/include/tarantool/tnt_reply.h> +#include <connector/c/include/tarantool/tnt_stream.h> +#include <connector/c/include/tarantool/tnt_buf.h> static struct tnt_stream *tnt_buf_tryalloc(struct tnt_stream *s) { if (s) { diff --git a/connector/c/tnt/tnt_call.c b/connector/c/tnt/tnt_call.c index e33d57e13a921ed62f5c8ebebefe75ada016c093..529c986c5a7dda1ebd1c10ec2c2cbcc7873a06cd 100644 --- a/connector/c/tnt/tnt_call.c +++ b/connector/c/tnt/tnt_call.c @@ -28,12 +28,12 @@ #include <stdint.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_proto.h> -#include <connector/c/include/libtnt/tnt_enc.h> -#include <connector/c/include/libtnt/tnt_tuple.h> -#include <connector/c/include/libtnt/tnt_reply.h> -#include <connector/c/include/libtnt/tnt_stream.h> -#include <connector/c/include/libtnt/tnt_call.h> +#include <connector/c/include/tarantool/tnt_proto.h> +#include <connector/c/include/tarantool/tnt_enc.h> +#include <connector/c/include/tarantool/tnt_tuple.h> +#include <connector/c/include/tarantool/tnt_reply.h> +#include <connector/c/include/tarantool/tnt_stream.h> +#include <connector/c/include/tarantool/tnt_call.h> struct tnt_header_call { uint32_t flags; diff --git a/connector/c/tnt/tnt_delete.c b/connector/c/tnt/tnt_delete.c index 40ca890d169f9e8428bf447e027ad7c1bb6fe562..8539a7c326648964b6826d777d7c5678f3d1f787 100644 --- a/connector/c/tnt/tnt_delete.c +++ b/connector/c/tnt/tnt_delete.c @@ -28,11 +28,11 @@ #include <stdint.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_proto.h> -#include <connector/c/include/libtnt/tnt_tuple.h> -#include <connector/c/include/libtnt/tnt_reply.h> -#include <connector/c/include/libtnt/tnt_stream.h> -#include <connector/c/include/libtnt/tnt_delete.h> +#include <connector/c/include/tarantool/tnt_proto.h> +#include <connector/c/include/tarantool/tnt_tuple.h> +#include <connector/c/include/tarantool/tnt_reply.h> +#include <connector/c/include/tarantool/tnt_stream.h> +#include <connector/c/include/tarantool/tnt_delete.h> struct tnt_header_delete { uint32_t ns; diff --git a/connector/c/tnt/tnt_enc.c b/connector/c/tnt/tnt_enc.c index 3821ef9b6900b670e1512bc2ba3617c143a41d74..b34993746ba7f900a7cb5ea34a864063e8b7cb6a 100644 --- a/connector/c/tnt/tnt_enc.c +++ b/connector/c/tnt/tnt_enc.c @@ -28,7 +28,7 @@ #include <stdint.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_enc.h> +#include <connector/c/include/tarantool/tnt_enc.h> int tnt_enc_read(char *buf, uint32_t *value) diff --git a/connector/c/tnt/tnt_insert.c b/connector/c/tnt/tnt_insert.c index 334dbc89a385eb96bc2f6e8543514f10bf8a08be..fc60becd60d38dc16ad92d07adea73a257dd86ba 100644 --- a/connector/c/tnt/tnt_insert.c +++ b/connector/c/tnt/tnt_insert.c @@ -28,11 +28,11 @@ #include <stdint.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_proto.h> -#include <connector/c/include/libtnt/tnt_tuple.h> -#include <connector/c/include/libtnt/tnt_reply.h> -#include <connector/c/include/libtnt/tnt_stream.h> -#include <connector/c/include/libtnt/tnt_insert.h> +#include <connector/c/include/tarantool/tnt_proto.h> +#include <connector/c/include/tarantool/tnt_tuple.h> +#include <connector/c/include/tarantool/tnt_reply.h> +#include <connector/c/include/tarantool/tnt_stream.h> +#include <connector/c/include/tarantool/tnt_insert.h> struct tnt_header_insert { uint32_t ns; diff --git a/connector/c/tnt/tnt_iter.c b/connector/c/tnt/tnt_iter.c index 653aa4a570afbf04d5fdac666314ba274a7347e9..6fd00584853e6d133020614166ed86689d120815 100644 --- a/connector/c/tnt/tnt_iter.c +++ b/connector/c/tnt/tnt_iter.c @@ -28,12 +28,12 @@ #include <stdint.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_mem.h> -#include <connector/c/include/libtnt/tnt_enc.h> -#include <connector/c/include/libtnt/tnt_tuple.h> -#include <connector/c/include/libtnt/tnt_reply.h> -#include <connector/c/include/libtnt/tnt_stream.h> -#include <connector/c/include/libtnt/tnt_iter.h> +#include <connector/c/include/tarantool/tnt_mem.h> +#include <connector/c/include/tarantool/tnt_enc.h> +#include <connector/c/include/tarantool/tnt_tuple.h> +#include <connector/c/include/tarantool/tnt_reply.h> +#include <connector/c/include/tarantool/tnt_stream.h> +#include <connector/c/include/tarantool/tnt_iter.h> static struct tnt_iter *tnt_iter_tryalloc(struct tnt_iter *i) { if (i) { diff --git a/connector/c/tnt/tnt_mem.c b/connector/c/tnt/tnt_mem.c index e257a7d604a7c08ac99fa27828029dae3a2cbc62..4a5e33f353bf32145e7497c6eefd3a07cd27bfc7 100644 --- a/connector/c/tnt/tnt_mem.c +++ b/connector/c/tnt/tnt_mem.c @@ -28,7 +28,7 @@ #include <stdio.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_mem.h> +#include <connector/c/include/tarantool/tnt_mem.h> static void *(*_tnt_realloc)(void *ptr, size_t size) = (void *(*)(void*, size_t))realloc; diff --git a/connector/c/tnt/tnt_ping.c b/connector/c/tnt/tnt_ping.c index 63aa9c182911cd8c28d0a1d818c15c84f10f33b6..674c38a950c43b04c9edf642ca7c945a909139d4 100644 --- a/connector/c/tnt/tnt_ping.c +++ b/connector/c/tnt/tnt_ping.c @@ -28,11 +28,11 @@ #include <stdint.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_proto.h> -#include <connector/c/include/libtnt/tnt_tuple.h> -#include <connector/c/include/libtnt/tnt_reply.h> -#include <connector/c/include/libtnt/tnt_stream.h> -#include <connector/c/include/libtnt/tnt_ping.h> +#include <connector/c/include/tarantool/tnt_proto.h> +#include <connector/c/include/tarantool/tnt_tuple.h> +#include <connector/c/include/tarantool/tnt_reply.h> +#include <connector/c/include/tarantool/tnt_stream.h> +#include <connector/c/include/tarantool/tnt_ping.h> /* * tnt_ping() diff --git a/connector/c/tnt/tnt_reply.c b/connector/c/tnt/tnt_reply.c index 4186252112cbae62214715469146b0f7ae75efc6..5e282621d0660e8fad8fdc49cff5c3bb34c24de2 100644 --- a/connector/c/tnt/tnt_reply.c +++ b/connector/c/tnt/tnt_reply.c @@ -28,10 +28,10 @@ #include <stdint.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_mem.h> -#include <connector/c/include/libtnt/tnt_tuple.h> -#include <connector/c/include/libtnt/tnt_proto.h> -#include <connector/c/include/libtnt/tnt_reply.h> +#include <connector/c/include/tarantool/tnt_mem.h> +#include <connector/c/include/tarantool/tnt_tuple.h> +#include <connector/c/include/tarantool/tnt_proto.h> +#include <connector/c/include/tarantool/tnt_reply.h> /* * tnt_reply_init() diff --git a/connector/c/tnt/tnt_select.c b/connector/c/tnt/tnt_select.c index dde0104347414bf9e3b0d442d6c05db6e08e2eeb..30e0e63947ba14944f90a943bc3f5f58e30482d9 100644 --- a/connector/c/tnt/tnt_select.c +++ b/connector/c/tnt/tnt_select.c @@ -28,13 +28,13 @@ #include <stdint.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_mem.h> -#include <connector/c/include/libtnt/tnt_proto.h> -#include <connector/c/include/libtnt/tnt_tuple.h> -#include <connector/c/include/libtnt/tnt_reply.h> -#include <connector/c/include/libtnt/tnt_stream.h> -#include <connector/c/include/libtnt/tnt_iter.h> -#include <connector/c/include/libtnt/tnt_select.h> +#include <connector/c/include/tarantool/tnt_mem.h> +#include <connector/c/include/tarantool/tnt_proto.h> +#include <connector/c/include/tarantool/tnt_tuple.h> +#include <connector/c/include/tarantool/tnt_reply.h> +#include <connector/c/include/tarantool/tnt_stream.h> +#include <connector/c/include/tarantool/tnt_iter.h> +#include <connector/c/include/tarantool/tnt_select.h> struct tnt_header_select { uint32_t ns; diff --git a/connector/c/tnt/tnt_stream.c b/connector/c/tnt/tnt_stream.c index e43eaa2966c1e348f5710f8538ca825f03c1c947..076707886436094d1f3933598338880916421d3f 100644 --- a/connector/c/tnt/tnt_stream.c +++ b/connector/c/tnt/tnt_stream.c @@ -28,10 +28,10 @@ #include <stdint.h> #include <string.h> -#include <connector/c/include/libtnt/tnt_mem.h> -#include <connector/c/include/libtnt/tnt_tuple.h> -#include <connector/c/include/libtnt/tnt_reply.h> -#include <connector/c/include/libtnt/tnt_stream.h> +#include <connector/c/include/tarantool/tnt_mem.h> +#include <connector/c/include/tarantool/tnt_tuple.h> +#include <connector/c/include/tarantool/tnt_reply.h> +#include <connector/c/include/tarantool/tnt_stream.h> /* * tnt_stream_reqid() diff --git a/connector/c/tnt/tnt_tuple.c b/connector/c/tnt/tnt_tuple.c index 18a5aad3455b7e1e41fa4ef5846e48321e9fbf9e..c55a2ab7a49c07cf8a973b0ad73118fa65f8c66c 100644 --- a/connector/c/tnt/tnt_tuple.c +++ b/connector/c/tnt/tnt_tuple.c @@ -30,9 +30,9 @@ #include <string.h> #include <ctype.h> -#include <libtnt/tnt_mem.h> -#include <libtnt/tnt_enc.h> -#include <libtnt/tnt_tuple.h> +#include <tarantool/tnt_mem.h> +#include <tarantool/tnt_enc.h> +#include <tarantool/tnt_tuple.h> /* * tnt_tuple_init() diff --git a/connector/c/tnt/tnt_update.c b/connector/c/tnt/tnt_update.c index e7de0f26cc6c66391475bae0f3233576588a6cd4..e796b776a9d9b6b77c815953d5e892097b29d010 100644 --- a/connector/c/tnt/tnt_update.c +++ b/connector/c/tnt/tnt_update.c @@ -28,14 +28,14 @@ #include <stdint.h> #include <string.h> -#include <libtnt/tnt_mem.h> -#include <libtnt/tnt_proto.h> -#include <libtnt/tnt_enc.h> -#include <libtnt/tnt_tuple.h> -#include <libtnt/tnt_reply.h> -#include <libtnt/tnt_stream.h> -#include <libtnt/tnt_buf.h> -#include <libtnt/tnt_update.h> +#include <tarantool/tnt_mem.h> +#include <tarantool/tnt_proto.h> +#include <tarantool/tnt_enc.h> +#include <tarantool/tnt_tuple.h> +#include <tarantool/tnt_reply.h> +#include <tarantool/tnt_stream.h> +#include <tarantool/tnt_buf.h> +#include <tarantool/tnt_update.h> static ssize_t tnt_update_op(struct tnt_stream *s, diff --git a/connector/c/tntnet/CMakeLists.txt b/connector/c/tntnet/CMakeLists.txt index 4a2bfe6e573bf1befab779faf3f4531d1ca79937..adb4e17a751f319681b7b0713cce37463423e194 100644 --- a/connector/c/tntnet/CMakeLists.txt +++ b/connector/c/tntnet/CMakeLists.txt @@ -40,20 +40,22 @@ string(REPLACE "-static" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") # # Static library # - project(tntnet) add_library(tntnet STATIC ${tntnet_sources}) set_target_properties(tntnet PROPERTIES COMPILE_FLAGS "${tntnet_cflags}") +set_target_properties(tntnet PROPERTIES VERSION ${LIBTNT_VERSION} SOVERSION ${LIBTNT_SOVERSION}) +set_target_properties(tntnet PROPERTIES OUTPUT_NAME "tarantoolnet") # # Shared library # - project(tntnet_shared) add_library(tntnet_shared SHARED ${tntnet_sources}) target_link_libraries(tntnet_shared tnt_shared) set_target_properties(tntnet_shared PROPERTIES OUTPUT_NAME tntnet) set_target_properties(tntnet_shared PROPERTIES COMPILE_FLAGS "${tntnet_cflags}") +set_target_properties(tntnet_shared PROPERTIES VERSION ${LIBTNT_VERSION} SOVERSION ${LIBTNT_SOVERSION}) +set_target_properties(tntnet_shared PROPERTIES OUTPUT_NAME "tarantoolnet") #----------------------------------------------------------------------------# # Install diff --git a/connector/c/tntnet/tnt_io.c b/connector/c/tntnet/tnt_io.c index f4c418b18850b44668245643744d63f2c54417ce..14166659089529ef260face67a211c53fdd77ede 100644 --- a/connector/c/tntnet/tnt_io.c +++ b/connector/c/tntnet/tnt_io.c @@ -41,9 +41,9 @@ #include <errno.h> #include <limits.h> -#include <connector/c/include/libtnt/tnt.h> -#include <connector/c/include/libtnt/tnt_net.h> -#include <connector/c/include/libtnt/tnt_io.h> +#include <connector/c/include/tarantool/tnt.h> +#include <connector/c/include/tarantool/tnt_net.h> +#include <connector/c/include/tarantool/tnt_io.h> #if !defined(MIN) # define MIN(a, b) (a) < (b) ? (a) : (b) diff --git a/connector/c/tntnet/tnt_iob.c b/connector/c/tntnet/tnt_iob.c index 579af945418985f179802fabd754af0076f5482b..4328a83447f6f3291544b2924f773d8a85468922 100644 --- a/connector/c/tntnet/tnt_iob.c +++ b/connector/c/tntnet/tnt_iob.c @@ -31,8 +31,8 @@ #include <unistd.h> #include <sys/uio.h> -#include <connector/c/include/libtnt/tnt.h> -#include <connector/c/include/libtnt/tnt_iob.h> +#include <connector/c/include/tarantool/tnt.h> +#include <connector/c/include/tarantool/tnt_iob.h> int tnt_iob_init(struct tnt_iob *iob, size_t size, diff --git a/connector/c/tntnet/tnt_net.c b/connector/c/tntnet/tnt_net.c index b8e0261e1cb8e8ccd9a6a2bce6afa65de2c7f690..e4cf9b792e456ab35391d8dc6d69867b3c379d9a 100644 --- a/connector/c/tntnet/tnt_net.c +++ b/connector/c/tntnet/tnt_net.c @@ -29,9 +29,9 @@ #include <stdarg.h> #include <string.h> -#include <connector/c/include/libtnt/tnt.h> -#include <connector/c/include/libtnt/tnt_net.h> -#include <connector/c/include/libtnt/tnt_io.h> +#include <connector/c/include/tarantool/tnt.h> +#include <connector/c/include/tarantool/tnt_net.h> +#include <connector/c/include/tarantool/tnt_io.h> static struct tnt_stream *tnt_net_tryalloc(struct tnt_stream *s) { if (s) { diff --git a/connector/c/tntnet/tnt_opt.c b/connector/c/tntnet/tnt_opt.c index ed305c743ff523013fd20c5d40df69a46a8c324b..3b5b9fe766763eddcef9107fa8867d9a25543c98 100644 --- a/connector/c/tntnet/tnt_opt.c +++ b/connector/c/tntnet/tnt_opt.c @@ -32,8 +32,8 @@ #include <sys/types.h> #include <sys/time.h> -#include <connector/c/include/libtnt/tnt.h> -#include <connector/c/include/libtnt/tnt_net.h> +#include <connector/c/include/tarantool/tnt.h> +#include <connector/c/include/tarantool/tnt_net.h> void tnt_opt_init(struct tnt_opt *opt) diff --git a/connector/c/tntsql/CMakeLists.txt b/connector/c/tntsql/CMakeLists.txt index 9f8336527e07f0b7b592b5700e66c6cea9e74ed5..f88c3838d1fefc045b4bfd71b42e4a3aa372fd5e 100644 --- a/connector/c/tntsql/CMakeLists.txt +++ b/connector/c/tntsql/CMakeLists.txt @@ -43,6 +43,8 @@ string(REPLACE "-static" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") project(tntsql) add_library(tntsql STATIC ${tntsql_sources}) set_target_properties(tntsql PROPERTIES COMPILE_FLAGS "${tntsql_cflags}") +set_target_properties(tntsql PROPERTIES VERSION ${LIBTNT_VERSION} SOVERSION ${LIBTNT_SOVERSION}) +set_target_properties(tntsql PROPERTIES OUTPUT_NAME "tarantoolsql") # # Shared library @@ -53,6 +55,8 @@ add_library(tntsql_shared SHARED ${tntsql_sources}) target_link_libraries(tntsql_shared tnt_shared) set_target_properties(tntsql_shared PROPERTIES OUTPUT_NAME tntsql) set_target_properties(tntsql_shared PROPERTIES COMPILE_FLAGS "${tntsql_cflags}") +set_target_properties(tntsql_shared PROPERTIES VERSION ${LIBTNT_VERSION} SOVERSION ${LIBTNT_SOVERSION}) +set_target_properties(tntsql_shared PROPERTIES OUTPUT_NAME "tarantoolsql") #----------------------------------------------------------------------------# # Install diff --git a/connector/c/tntsql/tnt_lex.c b/connector/c/tntsql/tnt_lex.c index 680414bc203da2227475f00ec1c1281e964f764a..5ad7b1b5c9e9e79050d867da752abd1d70dbfdf2 100644 --- a/connector/c/tntsql/tnt_lex.c +++ b/connector/c/tntsql/tnt_lex.c @@ -33,10 +33,10 @@ #include <ctype.h> #include <errno.h> -#include <connector/c/include/libtnt/tnt.h> -#include <connector/c/include/libtnt/tnt_utf8.h> -#include <connector/c/include/libtnt/tnt_queue.h> -#include <connector/c/include/libtnt/tnt_lex.h> +#include <connector/c/include/tarantool/tnt.h> +#include <connector/c/include/tarantool/tnt_utf8.h> +#include <connector/c/include/tarantool/tnt_queue.h> +#include <connector/c/include/tarantool/tnt_lex.h> bool tnt_lex_init(struct tnt_lex *l, unsigned char *buf, size_t size) { diff --git a/connector/c/tntsql/tnt_sql.c b/connector/c/tntsql/tnt_sql.c index 459efc5a3204b46458dedf5b82c80c7a18d05a50..b8b80c279a9cab8df03f1611e8f3994a0842d162 100644 --- a/connector/c/tntsql/tnt_sql.c +++ b/connector/c/tntsql/tnt_sql.c @@ -31,10 +31,10 @@ #include <string.h> #include <ctype.h> -#include <connector/c/include/libtnt/tnt.h> -#include <connector/c/include/libtnt/tnt_queue.h> -#include <connector/c/include/libtnt/tnt_utf8.h> -#include <connector/c/include/libtnt/tnt_lex.h> +#include <connector/c/include/tarantool/tnt.h> +#include <connector/c/include/tarantool/tnt_queue.h> +#include <connector/c/include/tarantool/tnt_utf8.h> +#include <connector/c/include/tarantool/tnt_lex.h> /* sql parsing context. */ diff --git a/connector/c/tntsql/tnt_utf8.c b/connector/c/tntsql/tnt_utf8.c index c522029c06755a74ee03d5b48e4f71d7a2ab3f4d..c3753775dc51657e121c89b3ade602cccdb4b9aa 100644 --- a/connector/c/tntsql/tnt_utf8.c +++ b/connector/c/tntsql/tnt_utf8.c @@ -30,8 +30,8 @@ #include <stdio.h> #include <string.h> -#include <connector/c/include/libtnt/tnt.h> -#include <connector/c/include/libtnt/tnt_utf8.h> +#include <connector/c/include/tarantool/tnt.h> +#include <connector/c/include/tarantool/tnt_utf8.h> bool tnt_utf8_init(struct tnt_utf8 *u, unsigned char *data, size_t size) diff --git a/mod/box/box.m b/mod/box/box.m index 58d1568d115d8a5cb6e08a2d2c56c1cd4e247224..391402f3d73e06f9518fdfda79fb4f320de63562 100644 --- a/mod/box/box.m +++ b/mod/box/box.m @@ -1017,7 +1017,7 @@ prepare_update(struct box_txn *txn, struct tbuf *data) struct update_cmd *cmd = parse_update_cmd(data); /* Try to find the tuple. */ - txn->old_tuple = [txn->index find :cmd->key :cmd->key_cardinality]; + txn->old_tuple = [txn->index findByKey :cmd->key :cmd->key_cardinality]; if (txn->old_tuple == NULL) { /* Not found. For simplicity, skip the logging. */ txn->flags |= BOX_NOT_STORE; @@ -1070,7 +1070,7 @@ process_select(struct box_txn *txn, u32 limit, u32 offset, struct tbuf *data) read_key(data, &key, &key_cardinality); struct iterator *it = index->position; - [index initIterator: it :ITER_FORWARD :key :key_cardinality]; + [index initIteratorByKey: it :ITER_FORWARD :key :key_cardinality]; while ((tuple = it->next_equal(it)) != NULL) { if (tuple->flags & GHOST) @@ -1101,7 +1101,7 @@ prepare_delete(struct box_txn *txn, struct tbuf *data) void *key; read_key(data, &key, &key_cardinality); /* try to find tuple in primary index */ - txn->old_tuple = [txn->index find :key :key_cardinality]; + txn->old_tuple = [txn->index findByKey :key :key_cardinality]; if (txn->old_tuple == NULL) { /* diff --git a/mod/box/box_lua.m b/mod/box/box_lua.m index ef53fbe2a2cf2284c5e909c33b40da2a759bbc28..51da63dc0a8ce7b6ff201723ff4784daaadb29b4 100644 --- a/mod/box/box_lua.m +++ b/mod/box/box_lua.m @@ -491,7 +491,7 @@ lbox_index_move(struct lua_State *L, enum iterator_type type) "does not match index cardinality (%d)", cardinality, index->key_def->part_count); it = [index allocIterator]; - [index initIterator: it :type :key :cardinality]; + [index initIteratorByKey: it :type :key :cardinality]; lbox_pushiterator(L, it); } else { /* 1 item on the stack and it's a userdata. */ it = lua_checkiterator(L, 2); diff --git a/mod/box/index.h b/mod/box/index.h index 99a6d72dc80987f7f8c1eb8abad5d0f9b7502bc8..8473edabbbddab00b4e70982d0542f7cd1752d7a 100644 --- a/mod/box/index.h +++ b/mod/box/index.h @@ -117,7 +117,7 @@ struct key_def { - (size_t) size; - (struct box_tuple *) min; - (struct box_tuple *) max; -- (struct box_tuple *) find: (void *) key :(int) key_cardinality; +- (struct box_tuple *) findByKey: (void *) key :(int) part_count; - (struct box_tuple *) findByTuple: (struct box_tuple *) tuple; - (void) remove: (struct box_tuple *) tuple; - (void) replace: (struct box_tuple *) old_tuple :(struct box_tuple *) new_tuple; @@ -126,10 +126,22 @@ struct key_def { * initialized separately. */ - (struct iterator *) allocIterator; -- (void) initIterator: (struct iterator *) iterator :(enum iterator_type) type; -- (void) initIterator: (struct iterator *) iterator :(enum iterator_type) type - :(void *) key - :(int) part_count; +- (void) initIterator: (struct iterator *) iterator + :(enum iterator_type) type; +- (void) initIteratorByKey: (struct iterator *) iterator + :(enum iterator_type) type + :(void *) key :(int) part_count; +/** + * Check key cardinality. + */ +- (void) checkKeyParts: (int) part_count :(bool) partial_key_allowed; +/** + * Unsafe search methods that do not check key cardinality. + */ +- (struct box_tuple *) findUnsafe: (void *) key :(int) part_count; +- (void) initIteratorUnsafe: (struct iterator *) iterator + :(enum iterator_type) type + :(void *) key :(int) part_count; @end struct iterator { diff --git a/mod/box/index.m b/mod/box/index.m index 5d0e48cc2079a388aafb5767918b37f81682f497..5d6bdb97a554245f1641b1d0f566c21f1ca10dd2 100644 --- a/mod/box/index.m +++ b/mod/box/index.m @@ -131,10 +131,16 @@ iterator_first_equal(struct iterator *it) return NULL; } -- (struct box_tuple *) find: (void *) key :(int) key_cardinality +- (struct box_tuple *) findByKey: (void *) key :(int) part_count +{ + [self checkKeyParts: part_count :false]; + return [self findUnsafe: key :part_count]; +} + +- (struct box_tuple *) findUnsafe: (void *) key :(int) part_count { (void) key; - (void) key_cardinality; + (void) part_count; [self subclassResponsibility: _cmd]; return NULL; } @@ -173,16 +179,33 @@ iterator_first_equal(struct iterator *it) [self subclassResponsibility: _cmd]; } -- (void) initIterator: (struct iterator *) iterator :(enum iterator_type) type - :(void *) key - :(int) key_cardinality +- (void) initIteratorByKey: (struct iterator *) iterator :(enum iterator_type) type + :(void *) key :(int) part_count +{ + [self checkKeyParts: part_count :true]; + [self initIteratorUnsafe: iterator :type :key :part_count]; +} + +- (void) initIteratorUnsafe: (struct iterator *) iterator :(enum iterator_type) type + :(void *) key :(int) part_count { (void) iterator; (void) type; (void) key; - (void) key_cardinality; + (void) part_count; [self subclassResponsibility: _cmd]; } + +- (void) checkKeyParts: (int) part_count :(bool) partial_key_allowed +{ + if (part_count > key_def->part_count) + tnt_raise(ClientError, :ER_KEY_CARDINALITY, + part_count, key_def->part_count); + if (!partial_key_allowed && part_count < key_def->part_count) + tnt_raise(ClientError, :ER_EXACT_MATCH, + part_count, key_def->part_count); +} + @end /* }}} */ @@ -279,7 +302,7 @@ hash_iterator_free(struct iterator *iterator) if (field == NULL) tnt_raise(ClientError, :ER_NO_SUCH_FIELD, key_def->parts[0].fieldno); - return [self find :field :1]; + return [self findUnsafe :field :1]; } - (struct iterator *) allocIterator @@ -292,6 +315,14 @@ hash_iterator_free(struct iterator *iterator) } return (struct iterator *) it; } + +- (void) checkKeyParts: (int) part_count :(bool) partial_key_allowed +{ + /* Hash indexes never allow partial keys. */ + (void) partial_key_allowed; + [super checkKeyParts: part_count :false]; +} + @end /* }}} */ @@ -299,20 +330,11 @@ hash_iterator_free(struct iterator *iterator) /* {{{ Hash32Index ************************************************/ static u32 -int32_key_to_value(void *key, int key_cardinality) +int32_key_to_value(void *key) { - if (key_cardinality > 1) - tnt_raise(ClientError, :ER_KEY_CARDINALITY, - key_cardinality, 1); - - if (key_cardinality < 1) - tnt_raise(ClientError, :ER_EXACT_MATCH, - key_cardinality, 1); - u32 key_size = load_varint32(&key); if (key_size != 4) tnt_raise(ClientError, :ER_KEY_FIELD_TYPE, "u32"); - return *((u32 *) key); } @@ -345,10 +367,12 @@ int32_key_to_value(void *key, int key_cardinality) return mh_size(int_hash); } -- (struct box_tuple *) find: (void *) key :(int) key_cardinality +- (struct box_tuple *) findUnsafe: (void *) key :(int) part_count { + (void) part_count; + struct box_tuple *ret = NULL; - u32 num = int32_key_to_value(key, key_cardinality); + u32 num = int32_key_to_value(key); mh_int_t k = mh_i32ptr_get(int_hash, num); if (k != mh_end(int_hash)) ret = mh_value(int_hash, k); @@ -361,7 +385,7 @@ int32_key_to_value(void *key, int key_cardinality) - (void) remove: (struct box_tuple *) tuple { void *field = tuple_field(tuple, key_def->parts[0].fieldno); - u32 num = int32_key_to_value(field, 1); + u32 num = int32_key_to_value(field); mh_int_t k = mh_i32ptr_get(int_hash, num); if (k != mh_end(int_hash)) mh_i32ptr_del(int_hash, k); @@ -374,7 +398,7 @@ int32_key_to_value(void *key, int key_cardinality) :(struct box_tuple *) new_tuple { void *field = tuple_field(new_tuple, key_def->parts[0].fieldno); - u32 num = int32_key_to_value(field, 1); + u32 num = int32_key_to_value(field); if (old_tuple != NULL) { void *old_field = tuple_field(old_tuple, @@ -407,17 +431,17 @@ int32_key_to_value(void *key, int key_cardinality) it->hash = int_hash; } -- (void) initIterator: (struct iterator *) iterator :(enum iterator_type) type - :(void *) key - :(int) key_cardinality +- (void) initIteratorUnsafe: (struct iterator *) iterator :(enum iterator_type) type + :(void *) key :(int) part_count { - assert(iterator->next == hash_iterator_next); - struct hash_iterator *it = hash_iterator(iterator); - + (void) part_count; if (type == ITER_REVERSE) tnt_raise(IllegalParams, :"hash iterator is forward only"); - u32 num = int32_key_to_value(key, key_cardinality); + assert(iterator->next == hash_iterator_next); + struct hash_iterator *it = hash_iterator(iterator); + + u32 num = int32_key_to_value(key); it->base.next_equal = iterator_first_equal; it->h_pos = mh_i32ptr_get(int_hash, num); it->hash = int_hash; @@ -429,20 +453,11 @@ int32_key_to_value(void *key, int key_cardinality) /* {{{ Hash64Index ************************************************/ static u64 -int64_key_to_value(void *key, int key_cardinality) +int64_key_to_value(void *key) { - if (key_cardinality > 1) - tnt_raise(ClientError, :ER_KEY_CARDINALITY, - key_cardinality, 1); - - if (key_cardinality < 1) - tnt_raise(ClientError, :ER_EXACT_MATCH, - key_cardinality, 1); - u32 key_size = load_varint32(&key); if (key_size != 8) tnt_raise(ClientError, :ER_KEY_FIELD_TYPE, "u64"); - return *((u64 *) key); } @@ -473,10 +488,12 @@ int64_key_to_value(void *key, int key_cardinality) return mh_size(int64_hash); } -- (struct box_tuple *) find: (void *) key :(int) key_cardinality +- (struct box_tuple *) findUnsafe: (void *) key :(int) part_count { + (void) part_count; + struct box_tuple *ret = NULL; - u64 num = int64_key_to_value(key, key_cardinality); + u64 num = int64_key_to_value(key); mh_int_t k = mh_i64ptr_get(int64_hash, num); if (k != mh_end(int64_hash)) ret = mh_value(int64_hash, k); @@ -489,7 +506,7 @@ int64_key_to_value(void *key, int key_cardinality) - (void) remove: (struct box_tuple *) tuple { void *field = tuple_field(tuple, key_def->parts[0].fieldno); - u64 num = int64_key_to_value(field, 1); + u64 num = int64_key_to_value(field); mh_int_t k = mh_i64ptr_get(int64_hash, num); if (k != mh_end(int64_hash)) @@ -503,7 +520,7 @@ int64_key_to_value(void *key, int key_cardinality) :(struct box_tuple *) new_tuple { void *field = tuple_field(new_tuple, key_def->parts[0].fieldno); - u64 num = int64_key_to_value(field, 1); + u64 num = int64_key_to_value(field); if (old_tuple != NULL) { void *old_field = tuple_field(old_tuple, @@ -535,17 +552,17 @@ int64_key_to_value(void *key, int key_cardinality) it->hash = (struct mh_i32ptr_t *) int64_hash; } -- (void) initIterator: (struct iterator *) iterator :(enum iterator_type) type - :(void *) key - :(int) key_cardinality +- (void) initIteratorUnsafe: (struct iterator *) iterator :(enum iterator_type) type + :(void *) key :(int) part_count { - assert(iterator->next == hash_iterator_next); - struct hash_iterator *it = hash_iterator(iterator); - + (void) part_count; if (type == ITER_REVERSE) tnt_raise(IllegalParams, :"hash iterator is forward only"); - u64 num = int64_key_to_value(key, key_cardinality); + assert(iterator->next == hash_iterator_next); + struct hash_iterator *it = hash_iterator(iterator); + + u64 num = int64_key_to_value(key); it->base.next_equal = iterator_first_equal; it->h_pos = mh_i64ptr_get(int64_hash, num); @@ -557,18 +574,6 @@ int64_key_to_value(void *key, int key_cardinality) /* {{{ HashStrIndex ***********************************************/ -static char * -str_key_to_value(void *key, int key_cardinality) -{ - if (key_cardinality > 1) - tnt_raise(ClientError, :ER_KEY_CARDINALITY, - key_cardinality, 1); - if (key_cardinality < 1) - tnt_raise(ClientError, :ER_EXACT_MATCH, - key_cardinality, 1); - return key; -} - @interface HashStrIndex: HashIndex { struct mh_lstrptr_t *str_hash; }; @@ -596,11 +601,11 @@ str_key_to_value(void *key, int key_cardinality) return mh_size(str_hash); } -- (struct box_tuple *) find: (void *) key :(int) key_cardinality +- (struct box_tuple *) findUnsafe: (void *) key :(int) part_count { + (void) part_count; struct box_tuple *ret = NULL; - void *lstr = str_key_to_value(key, key_cardinality); - mh_int_t k = mh_lstrptr_get(str_hash, lstr); + mh_int_t k = mh_lstrptr_get(str_hash, key); if (k != mh_end(str_hash)) ret = mh_value(str_hash, k); #ifdef DEBUG @@ -663,19 +668,19 @@ str_key_to_value(void *key, int key_cardinality) it->hash = (struct mh_i32ptr_t *) str_hash; } -- (void) initIterator: (struct iterator *) iterator :(enum iterator_type) type - :(void *) key - :(int) key_cardinality +- (void) initIteratorUnsafe: (struct iterator *) iterator + :(enum iterator_type) type + :(void *) key :(int) part_count { - assert(iterator->next == hash_iterator_next); - struct hash_iterator *it = hash_iterator(iterator); - + (void) part_count; if (type == ITER_REVERSE) tnt_raise(IllegalParams, :"hash iterator is forward only"); - void *lstr = str_key_to_value(key, key_cardinality); + assert(iterator->next == hash_iterator_next); + struct hash_iterator *it = hash_iterator(iterator); + it->base.next_equal = iterator_first_equal; - it->h_pos = mh_lstrptr_get(str_hash, lstr); + it->h_pos = mh_lstrptr_get(str_hash, key); it->hash = (struct mh_i32ptr_t *) str_hash; } @end diff --git a/mod/box/memcached.m b/mod/box/memcached.m index 9e2deb1c97ff67c7185f1e4be58ef5969dc6ef4e..3669d19eff5dd719eac7252901f343e78a253c3f 100644 --- a/mod/box/memcached.m +++ b/mod/box/memcached.m @@ -131,7 +131,7 @@ delete(void *key) static struct box_tuple * find(void *key) { - return [memcached_index find :key :1]; + return [memcached_index findByKey :key :1]; } static struct meta * diff --git a/mod/box/tree.m b/mod/box/tree.m index 76d589e72877330c7ef96bd1ecb5a4bc5a4e520e..d2c6d08ad1adb5e4f20ca71d7d1f6df012054cc5 100644 --- a/mod/box/tree.m +++ b/mod/box/tree.m @@ -864,22 +864,14 @@ tree_iterator_free(struct iterator *iterator) return [self unfold: node]; } -- (struct box_tuple *) find: (void *) key : (int) key_cardinality +- (struct box_tuple *) findUnsafe: (void *) key : (int) part_count { struct key_data *key_data = alloca(sizeof(struct key_data) + - _SIZEOF_SPARSE_PARTS(key_cardinality)); - - if (key_cardinality > key_def->part_count) - tnt_raise(ClientError, :ER_KEY_CARDINALITY, - key_cardinality, key_def->part_count); - - if (key_cardinality < key_def->part_count) - tnt_raise(ClientError, :ER_EXACT_MATCH, - key_cardinality, key_def->part_count); + _SIZEOF_SPARSE_PARTS(part_count)); key_data->data = key; - key_data->part_count = key_cardinality; + key_data->part_count = part_count; fold_with_key_parts(key_def, key_data); void *node = sptree_index_find(&tree, key_data); @@ -938,22 +930,17 @@ tree_iterator_free(struct iterator *iterator) - (void) initIterator: (struct iterator *) iterator :(enum iterator_type) type { - [self initIterator: iterator :type :NULL :0]; + [self initIteratorUnsafe: iterator :type :NULL :0]; } -- (void) initIterator: (struct iterator *) iterator :(enum iterator_type) type - :(void *) key - :(int) key_cardinality +- (void) initIteratorUnsafe: (struct iterator *) iterator :(enum iterator_type) type + :(void *) key :(int) part_count { assert(iterator->free == tree_iterator_free); struct tree_iterator *it = tree_iterator(iterator); - if (key_cardinality > key_def->part_count) - tnt_raise(ClientError, :ER_KEY_CARDINALITY, - key_cardinality, key_def->part_count); - it->key_data.data = key; - it->key_data.part_count = key_cardinality; + it->key_data.part_count = part_count; fold_with_key_parts(key_def, &it->key_data); if (type == ITER_FORWARD) { diff --git a/test/box/protocol.c b/test/box/protocol.c index 58b14abe9f96a65ede41b933e4f1e1d5f43d5aca..c22bbfdab1b1444720997d0ecd2d1cdf08bd1078 100644 --- a/test/box/protocol.c +++ b/test/box/protocol.c @@ -6,9 +6,9 @@ #include "util.h" #include "errcode.h" -#include <libtnt/tnt.h> -#include <libtnt/tnt_net.h> -#include <libtnt/tnt_io.h> +#include <tarantool/tnt.h> +#include <tarantool/tnt_net.h> +#include <tarantool/tnt_io.h> /** Client handler. Reused between tests. */ struct tnt_stream *t; diff --git a/test/connector_c/tt.c b/test/connector_c/tt.c index 2204e06c4bca8cb8daa4bea21b98c458d5aab85a..4233361bfd8dcd4b6ddfc7fc11393ce3e04b3dad 100644 --- a/test/connector_c/tt.c +++ b/test/connector_c/tt.c @@ -30,13 +30,13 @@ #include <stdio.h> #include <string.h> -#include <connector/c/include/libtnt/tnt.h> -#include <connector/c/include/libtnt/tnt_net.h> -#include <connector/c/include/libtnt/tnt_io.h> -#include <connector/c/include/libtnt/tnt_queue.h> -#include <connector/c/include/libtnt/tnt_utf8.h> -#include <connector/c/include/libtnt/tnt_lex.h> -#include <connector/c/include/libtnt/tnt_sql.h> +#include <connector/c/include/tarantool/tnt.h> +#include <connector/c/include/tarantool/tnt_net.h> +#include <connector/c/include/tarantool/tnt_io.h> +#include <connector/c/include/tarantool/tnt_queue.h> +#include <connector/c/include/tarantool/tnt_utf8.h> +#include <connector/c/include/tarantool/tnt_lex.h> +#include <connector/c/include/tarantool/tnt_sql.h> struct tt_test; diff --git a/test/connector_c/update.c b/test/connector_c/update.c index c07db58b5a86897cad038b773e789fbf9c3a5e42..cbeaa002566fea20dcdb8727360b7e06dc8c9d72 100644 --- a/test/connector_c/update.c +++ b/test/connector_c/update.c @@ -30,9 +30,9 @@ #include <string.h> #include <limits.h> -#include <connector/c/include/libtnt/tnt.h> -#include <connector/c/include/libtnt/tnt_net.h> -#include <connector/c/include/libtnt/tnt_io.h> +#include <connector/c/include/tarantool/tnt.h> +#include <connector/c/include/tarantool/tnt_net.h> +#include <connector/c/include/tarantool/tnt_io.h> #include <util.h> #include <errcode.h>