[tarantool-patches] [PATCH v2 4/4] Extract 'coll' library from 'core'
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Tue Feb 26 15:11:36 MSK 2019
Core is supposed to be the most basic library, providing only
really common features used everywhere like fiber, diag, memory,
logging. Which can't be said about collations - they are used
only by high level things - SQL, Lua utf8, comparators.
Collations are built now as 'lib/coll' library.
The patch is not necessary for anything, but it is a right thing
to do, while some activity is happening there.
---
src/CMakeLists.txt | 2 +-
src/box/coll_id.c | 2 +-
src/box/coll_id_def.h | 2 +-
src/box/sql/expr.c | 2 +-
src/box/sql/fk_constraint.c | 2 +-
src/box/sql/func.c | 2 +-
src/box/sql/select.c | 2 +-
src/box/sql/vdbeaux.c | 2 +-
src/box/sql/where.c | 2 +-
src/box/sql/whereexpr.c | 2 +-
src/box/tuple_compare.cc | 2 +-
src/box/tuple_hash.cc | 2 +-
src/lib/CMakeLists.txt | 1 +
src/lib/coll/CMakeLists.txt | 2 ++
src/lib/{core => coll}/coll.c | 0
src/lib/{core => coll}/coll.h | 0
src/lib/{core => coll}/coll_def.c | 0
src/lib/{core => coll}/coll_def.h | 0
src/lib/core/CMakeLists.txt | 2 --
src/lua/utf8.c | 2 +-
src/main.cc | 2 +-
test/unit/CMakeLists.txt | 2 +-
test/unit/coll.cpp | 4 ++--
23 files changed, 20 insertions(+), 19 deletions(-)
create mode 100644 src/lib/coll/CMakeLists.txt
rename src/lib/{core => coll}/coll.c (100%)
rename src/lib/{core => coll}/coll.h (100%)
rename src/lib/{core => coll}/coll_def.c (100%)
rename src/lib/{core => coll}/coll_def.h (100%)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b115e14c9..481618f20 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -162,7 +162,7 @@ endif()
set_source_files_compile_flags(${server_sources})
add_library(server STATIC ${server_sources})
-target_link_libraries(server core http_parser bit uri uuid ${ICU_LIBRARIES})
+target_link_libraries(server core coll http_parser bit uri uuid)
# Rule of thumb: if exporting a symbol from a static library, list the
# library here.
diff --git a/src/box/coll_id.c b/src/box/coll_id.c
index b56c74961..5abeaed21 100644
--- a/src/box/coll_id.c
+++ b/src/box/coll_id.c
@@ -30,7 +30,7 @@
*/
#include "coll_id.h"
#include "coll_id_def.h"
-#include "coll.h"
+#include "coll/coll.h"
#include "error.h"
#include "diag.h"
diff --git a/src/box/coll_id_def.h b/src/box/coll_id_def.h
index 489280c00..859209274 100644
--- a/src/box/coll_id_def.h
+++ b/src/box/coll_id_def.h
@@ -33,7 +33,7 @@
#include <stddef.h>
#include <stdint.h>
-#include <coll_def.h>
+#include "coll/coll_def.h"
#include "opt_def.h"
/** Collation identifier definition. */
diff --git a/src/box/sql/expr.c b/src/box/sql/expr.c
index c914cfb68..a75f23756 100644
--- a/src/box/sql/expr.c
+++ b/src/box/sql/expr.c
@@ -34,7 +34,7 @@
* for generating VDBE code that evaluates expressions in sql.
*/
#include "box/coll_id_cache.h"
-#include "coll.h"
+#include "coll/coll.h"
#include "sqlInt.h"
#include "tarantoolInt.h"
#include "box/schema.h"
diff --git a/src/box/sql/fk_constraint.c b/src/box/sql/fk_constraint.c
index 93c01a0e7..4066b1cf1 100644
--- a/src/box/sql/fk_constraint.c
+++ b/src/box/sql/fk_constraint.c
@@ -33,7 +33,7 @@
* This file contains code used by the compiler to add foreign key
* support to compiled SQL statements.
*/
-#include "coll.h"
+#include "coll/coll.h"
#include "sqlInt.h"
#include "box/fk_constraint.h"
#include "box/schema.h"
diff --git a/src/box/sql/func.c b/src/box/sql/func.c
index 79e2c0e18..775fc7cc1 100644
--- a/src/box/sql/func.c
+++ b/src/box/sql/func.c
@@ -37,7 +37,7 @@
#include "sqlInt.h"
#include "vdbeInt.h"
#include "version.h"
-#include "coll.h"
+#include "coll/coll.h"
#include <unicode/ustring.h>
#include <unicode/ucasemap.h>
#include <unicode/ucnv.h>
diff --git a/src/box/sql/select.c b/src/box/sql/select.c
index 6a465a616..7c55f2e0b 100644
--- a/src/box/sql/select.c
+++ b/src/box/sql/select.c
@@ -33,7 +33,7 @@
* This file contains C code routines that are called by the parser
* to handle SELECT statements in sql.
*/
-#include "coll.h"
+#include "coll/coll.h"
#include "sqlInt.h"
#include "tarantoolInt.h"
#include "vdbeInt.h"
diff --git a/src/box/sql/vdbeaux.c b/src/box/sql/vdbeaux.c
index e0f66ea1b..bb64dbdf7 100644
--- a/src/box/sql/vdbeaux.c
+++ b/src/box/sql/vdbeaux.c
@@ -34,7 +34,7 @@
* a VDBE (or an "sql_stmt" as it is known to the outside world.)
*/
#include "fiber.h"
-#include "coll.h"
+#include "coll/coll.h"
#include "box/session.h"
#include "box/schema.h"
#include "box/tuple_format.h"
diff --git a/src/box/sql/where.c b/src/box/sql/where.c
index 1bba9d65c..f494ead4c 100644
--- a/src/box/sql/where.c
+++ b/src/box/sql/where.c
@@ -37,7 +37,7 @@
* so is applicable. Because this module is responsible for selecting
* indices, you might also think of this module as the "query optimizer".
*/
-#include "coll.h"
+#include "coll/coll.h"
#include "sqlInt.h"
#include "tarantoolInt.h"
#include "vdbeInt.h"
diff --git a/src/box/sql/whereexpr.c b/src/box/sql/whereexpr.c
index fa906e305..6df28ad8a 100644
--- a/src/box/sql/whereexpr.c
+++ b/src/box/sql/whereexpr.c
@@ -38,7 +38,7 @@
* analyzing Expr objects in the WHERE clause.
*/
#include "box/coll_id_cache.h"
-#include "coll.h"
+#include "coll/coll.h"
#include "sqlInt.h"
#include "whereInt.h"
diff --git a/src/box/tuple_compare.cc b/src/box/tuple_compare.cc
index cbdd150b8..cf4519ccb 100644
--- a/src/box/tuple_compare.cc
+++ b/src/box/tuple_compare.cc
@@ -30,7 +30,7 @@
*/
#include "tuple_compare.h"
#include "tuple.h"
-#include "coll.h"
+#include "coll/coll.h"
#include "trivia/util.h" /* NOINLINE */
#include <math.h>
diff --git a/src/box/tuple_hash.cc b/src/box/tuple_hash.cc
index 0aed4c14c..9ee435503 100644
--- a/src/box/tuple_hash.cc
+++ b/src/box/tuple_hash.cc
@@ -32,7 +32,7 @@
#include "tuple_hash.h"
#include "tuple.h"
#include "third_party/PMurHash.h"
-#include "coll.h"
+#include "coll/coll.h"
#include <math.h>
/* Tuple and key hasher */
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
index 9e90c75ab..39795bbae 100644
--- a/src/lib/CMakeLists.txt
+++ b/src/lib/CMakeLists.txt
@@ -9,6 +9,7 @@ add_subdirectory(uri)
add_subdirectory(http_parser)
add_subdirectory(core)
add_subdirectory(uuid)
+add_subdirectory(coll)
if(ENABLE_BUNDLED_MSGPUCK)
add_subdirectory(msgpuck EXCLUDE_FROM_ALL)
endif()
diff --git a/src/lib/coll/CMakeLists.txt b/src/lib/coll/CMakeLists.txt
new file mode 100644
index 000000000..c01e608bb
--- /dev/null
+++ b/src/lib/coll/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_library(coll STATIC coll.c coll_def.c)
+target_link_libraries(coll core ${ICU_LIBRARIES})
diff --git a/src/lib/core/coll.c b/src/lib/coll/coll.c
similarity index 100%
rename from src/lib/core/coll.c
rename to src/lib/coll/coll.c
diff --git a/src/lib/core/coll.h b/src/lib/coll/coll.h
similarity index 100%
rename from src/lib/core/coll.h
rename to src/lib/coll/coll.h
diff --git a/src/lib/core/coll_def.c b/src/lib/coll/coll_def.c
similarity index 100%
rename from src/lib/core/coll_def.c
rename to src/lib/coll/coll_def.c
diff --git a/src/lib/core/coll_def.h b/src/lib/coll/coll_def.h
similarity index 100%
rename from src/lib/core/coll_def.h
rename to src/lib/coll/coll_def.h
diff --git a/src/lib/core/CMakeLists.txt b/src/lib/core/CMakeLists.txt
index 6238f3cee..eb10b11c3 100644
--- a/src/lib/core/CMakeLists.txt
+++ b/src/lib/core/CMakeLists.txt
@@ -24,8 +24,6 @@ set(core_sources
util.c
random.c
trigger.cc
- coll.c
- coll_def.c
mpstream.c
port.c
)
diff --git a/src/lua/utf8.c b/src/lua/utf8.c
index 6d3e4d39a..a009a4655 100644
--- a/src/lua/utf8.c
+++ b/src/lua/utf8.c
@@ -30,7 +30,7 @@
*/
#include <unicode/ucasemap.h>
#include <unicode/uchar.h>
-#include <coll.h>
+#include "coll/coll.h"
#include "lua/utils.h"
#include "lua/utf8.h"
#include "diag.h"
diff --git a/src/main.cc b/src/main.cc
index df7468907..39d5fb351 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -58,7 +58,7 @@
#include <say.h>
#include <rmean.h>
#include <limits.h>
-#include "coll.h"
+#include "coll/coll.h"
#include "trivia/util.h"
#include "backtrace.h"
#include "tt_pthread.h"
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt
index 18118d374..04bc659e7 100644
--- a/test/unit/CMakeLists.txt
+++ b/test/unit/CMakeLists.txt
@@ -193,7 +193,7 @@ add_executable(vy_cache.test vy_cache.c ${ITERATOR_TEST_SOURCES})
target_link_libraries(vy_cache.test ${ITERATOR_TEST_LIBS})
add_executable(coll.test coll.cpp)
-target_link_libraries(coll.test core unit ${ICU_LIBRARIES} misc)
+target_link_libraries(coll.test coll unit misc)
add_executable(tuple_bigref.test tuple_bigref.c)
target_link_libraries(tuple_bigref.test tuple unit)
diff --git a/test/unit/coll.cpp b/test/unit/coll.cpp
index 94374a7b0..5a7f49195 100644
--- a/test/unit/coll.cpp
+++ b/test/unit/coll.cpp
@@ -7,8 +7,8 @@
#include <diag.h>
#include <fiber.h>
#include <memory.h>
-#include "coll_def.h"
-#include "coll.h"
+#include "coll/coll_def.h"
+#include "coll/coll.h"
#include "unit.h"
#include "third_party/PMurHash.h"
--
2.17.2 (Apple Git-113)
More information about the Tarantool-patches
mailing list