From 16c01c7004cb09b8149fbf5dd30742b69b5611ea Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Thu, 19 Feb 2015 10:26:52 +0100 Subject: after merge: fix mroonga to compile and pass its tests --- storage/mroonga/CMakeLists.txt | 5 +++++ storage/mroonga/ha_mroonga.cpp | 22 ++++++++++++++++------ storage/mroonga/ha_mroonga.hpp | 6 +++--- .../alter_table_disable_keys_fulltext_table.result | 2 +- .../alter_table_enable_keys_fulltext_table.result | 2 +- .../t/alter_table_disable_keys_fulltext_table.test | 2 +- .../t/alter_table_enable_keys_fulltext_table.test | 2 +- .../normalizers/CMakeLists.txt | 2 +- 8 files changed, 29 insertions(+), 14 deletions(-) diff --git a/storage/mroonga/CMakeLists.txt b/storage/mroonga/CMakeLists.txt index ff72953bfac..4c5156ba96d 100644 --- a/storage/mroonga/CMakeLists.txt +++ b/storage/mroonga/CMakeLists.txt @@ -46,6 +46,11 @@ if(MRN_BUNDLED) endif() endif() +IF(HAVE_WVLA) + SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wno-vla") + SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wno-vla") +ENDIF() + set(MRN_BUNDLED_GROONGA_RELATIVE_DIR "vendor/groonga") set(MRN_BUNDLED_GROONGA_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${MRN_BUNDLED_GROONGA_RELATIVE_DIR}") diff --git a/storage/mroonga/ha_mroonga.cpp b/storage/mroonga/ha_mroonga.cpp index 3ff89d02e03..f111a436cfd 100644 --- a/storage/mroonga/ha_mroonga.cpp +++ b/storage/mroonga/ha_mroonga.cpp @@ -6467,24 +6467,34 @@ int ha_mroonga::delete_row(const uchar *buf) DBUG_RETURN(error); } -uint ha_mroonga::wrapper_max_supported_key_parts() +uint ha_mroonga::wrapper_max_supported_key_parts() const { MRN_DBUG_ENTER_METHOD(); DBUG_RETURN(MAX_REF_PARTS); } -uint ha_mroonga::storage_max_supported_key_parts() +uint ha_mroonga::storage_max_supported_key_parts() const { MRN_DBUG_ENTER_METHOD(); - DBUG_RETURN(1); + DBUG_RETURN(MAX_REF_PARTS); } -uint ha_mroonga::max_supported_key_parts() +uint ha_mroonga::max_supported_key_parts() const { MRN_DBUG_ENTER_METHOD(); uint parts; - if (share->wrapper_mode) - { + if (!share && !analyzed_for_create && + ( + thd_sql_command(ha_thd()) == SQLCOM_CREATE_TABLE || + thd_sql_command(ha_thd()) == SQLCOM_CREATE_INDEX || + thd_sql_command(ha_thd()) == SQLCOM_ALTER_TABLE + ) + ) { + create_share_for_create(); + } + if (analyzed_for_create && share_for_create.wrapper_mode) { + parts = wrapper_max_supported_key_parts(); + } else if (wrap_handler && share && share->wrapper_mode) { parts = wrapper_max_supported_key_parts(); } else { parts = storage_max_supported_key_parts(); diff --git a/storage/mroonga/ha_mroonga.hpp b/storage/mroonga/ha_mroonga.hpp index 14dd7960e5d..a5379dbddbb 100644 --- a/storage/mroonga/ha_mroonga.hpp +++ b/storage/mroonga/ha_mroonga.hpp @@ -348,7 +348,7 @@ public: uint max_supported_record_length() const; uint max_supported_keys() const; - uint max_supported_key_parts(); + uint max_supported_key_parts() const; uint max_supported_key_length() const; uint max_supported_key_part_length() const; @@ -812,8 +812,8 @@ private: uint storage_max_supported_record_length() const; uint wrapper_max_supported_keys() const; uint storage_max_supported_keys() const; - uint wrapper_max_supported_key_parts(); - uint storage_max_supported_key_parts(); + uint wrapper_max_supported_key_parts() const; + uint storage_max_supported_key_parts() const; uint wrapper_max_supported_key_length() const; uint storage_max_supported_key_length() const; uint wrapper_max_supported_key_part_length() const; diff --git a/storage/mroonga/mysql-test/mroonga/storage/r/alter_table_disable_keys_fulltext_table.result b/storage/mroonga/mysql-test/mroonga/storage/r/alter_table_disable_keys_fulltext_table.result index 7e5b1530d33..c7051127946 100644 --- a/storage/mroonga/mysql-test/mroonga/storage/r/alter_table_disable_keys_fulltext_table.result +++ b/storage/mroonga/mysql-test/mroonga/storage/r/alter_table_disable_keys_fulltext_table.result @@ -24,4 +24,4 @@ column_create terms term COLUMN_SCALAR ShortText table_create memos TABLE_PAT_KEY Int32 column_create memos content COLUMN_SCALAR LongText column_create memos id COLUMN_SCALAR Int32 -DROP TABLE memos; +DROP TABLE memos, terms; diff --git a/storage/mroonga/mysql-test/mroonga/storage/r/alter_table_enable_keys_fulltext_table.result b/storage/mroonga/mysql-test/mroonga/storage/r/alter_table_enable_keys_fulltext_table.result index 74c4867fab4..97d2be3f8d5 100644 --- a/storage/mroonga/mysql-test/mroonga/storage/r/alter_table_enable_keys_fulltext_table.result +++ b/storage/mroonga/mysql-test/mroonga/storage/r/alter_table_enable_keys_fulltext_table.result @@ -25,4 +25,4 @@ table_create memos TABLE_PAT_KEY Int32 column_create memos content COLUMN_SCALAR LongText column_create memos id COLUMN_SCALAR Int32 column_create terms content_index COLUMN_INDEX|WITH_POSITION memos content -DROP TABLE memos; +DROP TABLE memos, terms; diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_table.test index 7a03224abb9..d0c1313c784 100644 --- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_table.test +++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_disable_keys_fulltext_table.test @@ -39,7 +39,7 @@ SELECT mroonga_command("dump"); ALTER TABLE memos DISABLE KEYS; SELECT mroonga_command("dump"); -DROP TABLE memos; +DROP TABLE memos, terms; --source ../../include/mroonga/unload_mroonga_functions.inc --source ../../include/mroonga/have_mroonga_deinit.inc diff --git a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_table.test b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_table.test index 2e9022128df..b05fa6aa116 100644 --- a/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_table.test +++ b/storage/mroonga/mysql-test/mroonga/storage/t/alter_table_enable_keys_fulltext_table.test @@ -40,7 +40,7 @@ SELECT mroonga_command("dump"); ALTER TABLE memos ENABLE KEYS; SELECT mroonga_command("dump"); -DROP TABLE memos; +DROP TABLE memos, terms; --source ../../include/mroonga/unload_mroonga_functions.inc --source ../../include/mroonga/have_mroonga_deinit.inc diff --git a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/CMakeLists.txt b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/CMakeLists.txt index 81b2b963abb..db8ffedb082 100644 --- a/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/CMakeLists.txt +++ b/storage/mroonga/vendor/groonga/vendor/plugins/groonga-normalizer-mysql/normalizers/CMakeLists.txt @@ -18,7 +18,7 @@ set(NORMALIZERS_DIR "${GROONGA_PLUGINS_DIR}/normalizers") read_file_list(${CMAKE_CURRENT_SOURCE_DIR}/mysql_sources.am MYSQL_SOURCES) if(GROONGA_NORMALIZER_MYSQL_EMBED) - add_library(mysql_normalizer STATIC ${MYSQL_SOURCES}) + add_convenience_library(mysql_normalizer ${MYSQL_SOURCES}) set_property(TARGET mysql_normalizer APPEND PROPERTY COMPILE_DEFINITIONS "GROONGA_NORMALIZER_MYSQL_EMBED") else() -- cgit v1.2.1