Giter VIP home page Giter VIP logo

andyli029 / mysql-server-mysql-8.0.30 Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 318.18 MB

License: Other

CMake 0.99% C++ 78.41% C 15.91% Batchfile 0.01% Perl 0.59% CSS 0.01% Shell 0.62% Makefile 1.20% M4 0.14% Python 0.02% JavaScript 0.22% Starlark 0.04% HTML 0.52% Roff 0.10% Awk 0.01% Dockerfile 0.01% Gnuplot 0.01% PowerShell 0.01% Emacs Lisp 0.01% NASL 1.21%
mysql mysql-database mysql-server htap columndb

mysql-server-mysql-8.0.30's Introduction

mysql-server-mysql-8.0.30

mysql-server-mysql-8.0.30's People

Contributors

andyli029 avatar dandrechen avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mysql-server-mysql-8.0.30's Issues

TODO:fix List<Item> to mem_root_deque<Item *> by MySQL 8.0

engine_results.cpp:356:23: error: cannot convert ‘List’ to ‘const mem_root_deque<Item*>&’
356 | res->send_data(thd, fields);

engine_results.cpp:202:38: error: cannot convert ‘List’ to ‘const mem_root_deque<Item*>&’
202 | res->send_result_set_metadata(thd, fields, Protocol::SEND_NUM_ROWS | Protocol::SEND_EOF);

Fix: mysqld exites abnormally

2022-09-08T19:08:00.584711+08:00 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
2022-09-08T19:08:00.585038+08:00 0 [Warning] [MY-011068] [Server] The syntax 'log_slave_updates' is deprecated and will be removed in a future release. Please use log_replica_updates instead.
2022-09-08T19:08:00.585067+08:00 0 [Warning] [MY-011068] [Server] The syntax 'slave_skip_errors' is deprecated and will be removed in a future release. Please use replica_skip_errors instead.
2022-09-08T19:08:00.585287+08:00 0 [Warning] [MY-010918] [Server] 'default_authentication_plugin' is deprecated and will be removed in a future release. Please use authentication_policy instead.
2022-09-08T19:08:00.585325+08:00 0 [System] [MY-010116] [Server] /data/mysql-server-mysql-8.0.30/cmake-build-debug-8030_remote_cheku/runtime_output_directory/mysqld (mysqld 8.0.30-debug) starting as process 215315
2022-09-08T19:08:00.587121+08:00 0 [Warning] [MY-010339] [Server] Using pre 5.5 semantics to load error messages from /usr/local/mysql/data8.0/lc_messages_dir/. If this is not intended, refer to the documentation for valid usage of --lc-messages-dir and --language parameters.
2022-09-08T19:08:00.589214+08:00 0 [Warning] [MY-010160] [Server] lower_case_table_names was set to 2, even though your the file system '/usr/local/mysql/data8.0/' is case sensitive.  Now setting lower_case_table_names to 0 to avoid future problems.
2022-09-08T19:08:00.602530+08:00 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2022-09-08T19:08:01.426732+08:00 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
mysqld: Unable to open /usr/local/mysql/data8.0//log/tianmu.log
2022-09-08T19:08:02.892413+08:00 0 [ERROR] [MY-010202] [Server] Plugin 'TIANMU' init function returned error.
2022-09-08T19:08:02.892447+08:00 0 [ERROR] [MY-010734] [Server] Plugin 'TIANMU' registration as a STORAGE ENGINE failed.
2022-09-08T19:08:02.898623+08:00 0 [ERROR] [MY-010169] [Server] Failed to initialize dynamic plugins.
2022-09-08T19:08:02.898659+08:00 0 [ERROR] [MY-010119] [Server] Aborting
2022-09-08T19:08:03.804430+08:00 0 [System] [MY-010910] [Server] /data/mysql-server-mysql-8.0.30/cmake-build-debug-8030_remote_cheku/runtime_output_directory/mysqld: Shutdown complete (mysqld 8.0.30-debug)  Source distribution.

kv_store: error: ‘condition_variable’ in namespace ‘std’ does not name a type

storage/tianmu/index/kv_store.h:108:8: error: ‘condition_variable’ in namespace ‘std’ does not name a type
108 | std::condition_variable cv_drop_;
| ^~~~~~~~~~~~~~~~~~
storage/tianmu/index/kv_store.h:34:1: note: ‘std::condition_variable’ is defined in header ‘<condition_variable>’; did you forget to ‘#include <condition_variable>’?
33 | #include "rocksdb/utilities/write_batch_with_index.h"
+++ |+#include <condition_variable>
34 | #include "util/fs.h"
storage/tianmu/index/kv_store.h: In member function ‘void Tianmu::index::KVStore::DeleteDataSignal()’:
storage/tianmu/index/kv_store.h:55:29: error: ‘cv_drop_’ was not declared in this scope; did you mean ‘cv_drop_mtx_’?
55 | void DeleteDataSignal() { cv_drop_.notify_one(); }

TODO: Fix codes aboout JoinType

5.7.36 cq_term.h

enum class JoinType { JO_INNER, JO_LEFT, JO_RIGHT, JO_FULL }; 

8.0.30 join_type.h

enum class JoinType { INNER, OUTER, ANTI, SEMI, FULL_OUTER };

5 error:from storage/tianmu/core/engine.cpp

/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:99:21: error: missing binary operator before token "("
99 | # if __has_feature(cxx_rvalue_references)
| ^
/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:172:21: error: missing binary operator before token "("
172 | # if __has_feature(cxx_variadic_templates)
| ^
/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:200:20: error: missing binary operator before token "("
200 | # if __has_feature(cxx_deleted_functions)
| ^
/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:224:21: error: missing binary operator before token "("
224 | # if __has_feature(cxx_constexpr)
| ^
/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:356:21: error: missing binary operator before token "("
356 | # if __has_feature(cxx_decltype)
| ^
/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:378:21: error: missing binary operator before token "("
378 | # if __has_feature(cxx_alias_templates)
| ^
/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:400:21: error: missing binary operator before token "("
400 | # if __has_feature(cxx_return_type_deduction)
| ^
/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:458:22: error: missing binary operator before token "("
458 | # if __has_feature(cxx_variable_templates)
| ^
/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:482:22: error: missing binary operator before token "("
482 | # if __has_feature(cxx_variable_templates)
| ^
/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:542:21: error: missing binary operator before token "("
542 | # if __has_feature(cxx_reference_qualified_functions)
| ^
/usr/local/stonedb8-boost/include/boost/asio/detail/config.hpp:933:21: error: missing binary operator before token "("
933 | # if __has_feature(cxx_nullptr)

tianmu: multiple definition

image

/usr/bin/ld: liblz4_lib.a(lz4.c.o): in function `LZ4_versionNumber':
/data/mysql-server-mysql-8.0.30/extra/lz4/lz4-1.9.3/lz4.c:673: multiple definition of `LZ4_versionNumber'; storage/tianmu/libtianmu.a(lz4.cpp.o):/data/mysql-server-mysql-8.0.30/storage/tianmu/compress/lz4.cpp:378: first defined here
/usr/bin/ld: liblz4_lib.a(lz4.c.o): in function `LZ4_compressBound':

Fix: mysqld exits abnormally

srv_start srv0start.cc:2019
innobase_init_files ha_innodb.cc:5465
innobase_ddse_dict_init ha_innodb.cc:12897
dd::bootstrap::DDSE_dict_init bootstrapper.cc:737
dd::upgrade_57::do_pre_checks_and_initialize_dd upgrade.cc:913
bootstrap::handle_bootstrap bootstrap.cc:327
pfs_spawn_thread pfs.cc:2942
start_thread 0x00007ffff7f97609
clone 0x00007ffff6e6f133

TODO: fix field->ptr changed to field->field_ptr() from MySQL 8.0

from 5.7.36

ptr
->
  /**
    Return a const pointer to where the field is stored in the record buffer.

    Ideally this function should not be used as it makes it hard
    to change the internal representation of Field.
  */
  const uchar *field_ptr() const { return ptr; }

in ConvertToField @ engine_convert.cpp

            case MYSQL_TYPE_TINY:
              *(char *)field->ptr = (char)(int64_t)((types::RCNum &)(rcitem));
              break;
            case MYSQL_TYPE_SHORT:
              *(short *)field->ptr = (short)(int64_t)((types::RCNum &)(rcitem));
              break;
            case MYSQL_TYPE_INT24:
              int3store((char *)field->ptr, (int)(int64_t)((types::RCNum &)(rcitem)));
              break;
            case MYSQL_TYPE_LONG:
              *(int *)field->ptr = (int)(int64_t)((types::RCNum &)(rcitem));
              break;
            case MYSQL_TYPE_LONGLONG:
              *(int64_t *)field->ptr = (int64_t)((types::RCNum &)(rcitem));
              break;
            case MYSQL_TYPE_FLOAT:
              *(float *)field->ptr = (float)((types::RCNum &)(rcitem));
              break;
            case MYSQL_TYPE_DOUBLE:
              *(double *)field->ptr = (double)((types::RCNum &)(rcitem));

[Notes]: select INTO OUTFILE

stonedb 5.7
innodb

mysql> select * from ii INTO OUTFILE "li_into_ii";
Query OK, 3 rows affected (0.01 sec)

tianmu

mysql> select * from tt INTO DUMPFILE "li_into_tt_dump";
ERROR 6 (HY000): The query includes syntax that is not supported by the storage engine. Either restructure the query with supported syntax, or enable the MySQL core::Query Path in config file to execute the query with reduced performance.

Improve: too many warnings

/data/mysql-server-mysql-8.0.30/storage/tianmu/core/bin_tools.h:64:64: warning: cast from type ‘const double*’ to type ‘int64_t*’ {aka ‘long int*’} casts away qualifiers [-Wcast-qual]
   64 | inline bool IsDoubleNull(const double d) { return *(int64_t *)&d == common::NULL_VALUE_64; }
      |                                                                ^

fix:error: extra ‘;’ after in-class function definition [-Werror=extra-semi],error: redundant move in return statement [-Werror=redundant-move]

In file included from /opt/github/mysql8.0/storage/tianmu/base/core/app_template.h:29,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/app_template.cpp:23:
/opt/github/mysql8.0/storage/tianmu/base/core/future.h:979:6: error: extra ‘;’ after in-class function definition [-Werror=extra-semi]
  979 |     };
      |      ^
      |      -
In file included from /opt/github/mysql8.0/storage/tianmu/base/core/iostream.h:256,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/reactor.h:63,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/app_template.h:30,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/app_template.cpp:23:
/opt/github/mysql8.0/storage/tianmu/base/core/iostream_impl.h: In lambda function:
/opt/github/mysql8.0/storage/tianmu/base/core/iostream_impl.h:38:27: error: redundant move in return statement [-Werror=redundant-move]
   38 |           return std::move(buffer);
      |                  ~~~~~~~~~^~~~~~~~
/opt/github/mysql8.0/storage/tianmu/base/core/iostream_impl.h:38:27: note: remove ‘std::move’ call
In file included from /opt/github/mysql8.0/storage/tianmu/base/core/semaphore.h:31,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/condition_variable.h:27,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/reactor.h:68,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/app_template.h:30,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/app_template.cpp:23:
/opt/github/mysql8.0/storage/tianmu/base/core/expiring_fifo.h: At global scope:
/opt/github/mysql8.0/storage/tianmu/base/core/expiring_fifo.h:40:35: error: extra ‘;’ after in-class function definition [-Werror=extra-semi]
   40 |   void operator()(T &) noexcept {};
      |                                   ^
      |                                   -
/opt/github/mysql8.0/storage/tianmu/base/core/expiring_fifo.h:45:112: error: extra ‘;’ after in-class function definition [-Werror=extra-semi]
   45 |   void operator()(promise<T...> &pr) noexcept { pr.set_exception(std::make_exception_ptr(timed_out_error())); };
      |                                                                                                                ^
      |                                                                                                                -
In file included from /opt/github/mysql8.0/storage/tianmu/base/core/reactor.h:85,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/app_template.h:30,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/app_template.cpp:23:
/opt/github/mysql8.0/storage/tianmu/base/net/api.h:95:33: error: extra ‘;’ after in-class function definition [-Werror=extra-semi]
   95 |   virtual ~udp_datagram_impl(){};
      |                                 ^
      |                                 -
/opt/github/mysql8.0/storage/tianmu/base/net/api.h:107:85: error: extra ‘;’ after in-class function definition [-Werror=extra-semi]
  107 |   udp_datagram(std::unique_ptr<udp_datagram_impl> &&impl) : _impl(std::move(impl)){};
      |                                                                                     ^
      |                                                                                     -
In file included from /opt/github/mysql8.0/storage/tianmu/base/core/app_template.h:30,
                 from /opt/github/mysql8.0/storage/tianmu/base/core/app_template.cpp:23:
/opt/github/mysql8.0/storage/tianmu/base/core/reactor.h:352:31: error: extra ‘;’ after in-class function definition [-Werror=extra-semi]
  352 |   virtual ~reactor_backend(){};
  
  
  /opt/github/mysql8.0/storage/tianmu/base/net/stack.h:69:32: error: extra ‘;’ after in-class function definition [-Werror=extra-semi]
   69 |   virtual ~udp_channel_impl(){};
      |                                ^
      |                                -
In file included from /opt/github/mysql8.0/storage/tianmu/base/core/reactor.cpp:62:
/opt/github/mysql8.0/storage/tianmu/base/net/posix_stack.h:179:72: error: extra ‘;’ after in-class function definition [-Werror=extra-semi]
  179 |   virtual bool has_per_core_namespace() override { return _reuseport; };
      |                                                                        ^
      |                                                                        -
In file included from /opt/github/mysql8.0/storage/tianmu/base/core/reactor.cpp:85:
/opt/github/mysql8.0/storage/tianmu/base/core/execution_stage.h:173:4: error: extra ‘;’ after in-class function definition [-Werror=extra-semi]
  173 |   };
      |    ^
      |    -
/opt/github/mysql8.0/storage/tianmu/base/core/reactor.cpp: In member function ‘virtual bool Tianmu::base::reactor_backend_epoll::wait_and_process(int, const sigset_t*)’:
/opt/github/mysql8.0/storage/tianmu/base/core/reactor.cpp:1650:64: error: ‘eevt’ may be used uninitialized [-Werror=maybe-uninitialized]
 1650 |   int nr = ::epoll_pwait(_epollfd.get(), eevt.data(), eevt.size(), timeout, active_sigmask);

3: error from storage/tianmu/core/engine.cpp

/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp: In function ‘int Tianmu::core::get_parameter(THD*, Tianmu::core::tianmu_var_name, longlong&, std::string&)’:
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:997:87: warning: cast from type ‘const char*’ to type ‘uchar*’ {aka ‘unsigned char*’} casts away qualifiers [-Wcast-qual]
  997 |   m_entry = (user_var_entry *)my_hash_search(&thd->user_vars, (uchar *)var_data.c_str(), (uint)var_data.size());
      |                                                                                       ^
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:997:31: error: ‘my_hash_search’ was not declared in this scope
  997 |   m_entry = (user_var_entry *)my_hash_search(&thd->user_vars, (uchar *)var_data.c_str(), (uint)var_data.size());
      |                               ^~~~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1004:9: error: ‘my_bool’ was not declared in this scope
 1004 |         my_bool null_value;
      |         ^~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1007:31: error: ‘null_value’ was not declared in this scope; did you mean ‘si_value’?
 1007 |         m_entry->val_decimal(&null_value, &v);
      |                               ^~~~~~~~~~
      |                               si_value
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1023:9: error: ‘my_bool’ was not declared in this scope
 1023 |         my_bool null_value;
      |         ^~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1024:36: error: ‘null_value’ was not declared in this scope; did you mean ‘si_value’?
 1024 |         result = m_entry->val_int(&null_value);
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1033:5: error: ‘my_bool’ was not declared in this scope
 1033 |     my_bool null_value;
      |     ^~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1036:23: error: ‘null_value’ was not declared in this scope; did you mean ‘si_value’?
 1036 |     m_entry->val_str(&null_value, &str, NOT_FIXED_DEC);
      |                       ^~~~~~~~~~
      |                       si_value
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1036:41: error: ‘NOT_FIXED_DEC’ was not declared in this scope
 1036 |     m_entry->val_str(&null_value, &str, NOT_FIXED_DEC);
      |                                         ^~~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp: In function ‘void Tianmu::core::HandleDelayedLoad(int, std::vector<std::unique_ptr<char []> >&)’:
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1107:10: error: ‘class THD’ has no member named ‘set_current_time’
 1107 |     thd->set_current_time();
      |          ^~~~~~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1110:10: error: ‘class THD’ has no member named ‘init_for_queries’
 1110 |     thd->init_for_queries();
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1120:8: error: ‘struct TABLE_LIST’ has no member named ‘init_one_table’
 1120 |     tl.init_one_table(thd->strmake(thd->db().str, thd->db().length), thd->db().length, tabname.str, tabname.length,
      |        ^~~~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1126:43: error: ‘FILETYPE_MEM’ was not declared in this scope; did you mean ‘FILETYPE_XML’?
 1126 |     sql_exchange ex("buffered_insert", 0, FILETYPE_MEM);
      |                                           ^~~~~~~~~~~~
      |                                           FILETYPE_XML
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1129:15: error: ‘struct LEX’ has no member named ‘select_lex’; did you mean ‘select_number’?
 1129 |     thd->lex->select_lex->context.resolve_in_table_list_only(&tl);
      |               ^~~~~~~~~~
      |               select_number
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1134:9: error: ‘mysql_load’ was not declared in this scope; did you mean ‘mysql_reload’?
 1134 |     if (mysql_load(thd, &ex, &tl, tmp_list, tmp_list, tmp_list, DUP_ERROR, false)) {
      |         ^~~~~~~~~~
      |         mysql_reload
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1153:32: error: ‘MY_KEEP_PREALLOC’ was not declared in this scope
 1153 |   free_root(thd->mem_root, MYF(MY_KEEP_PREALLOC));
      |                                ^~~~~~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1153:3: error: ‘free_root’ was not declared in this scope; did you mean ‘free_init’?
 1153 |   free_root(thd->mem_root, MYF(MY_KEEP_PREALLOC));
      |   ^~~~~~~~~
      |   free_init
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1154:26: error: cannot convert ‘THD::is_fatal_error’ from type ‘bool (THD::)() const’ to type ‘bool’
 1154 |   if (thd->is_fatal_error) {
      |                          ^
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp: In member function ‘void Tianmu::core::Engine::LogStat()’:
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1307:22: error: ‘global_query_id’ was not declared in this scope
 1307 |     saved_query_id = global_query_id;
      |                      ^~~~~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1320:25: error: ‘global_query_id’ was not declared in this scope
 1320 |   query_id_t query_id = global_query_id;
      |                         ^~~~~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1340:5: error: ‘STATUS_VAR’ was not declared in this scope; did you mean ‘SYS_VAR’?
 1340 |     STATUS_VAR sv;
      |     ^~~~~~~~~~
      |     SYS_VAR
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1342:29: error: ‘sv’ was not declared in this scope; did you mean ‘cv’?
 1342 |     calc_sum_of_all_status(&sv);

2: error from storage/tianmu/core/engine.cpp

/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:900:15: error: ‘Prealloced_array<Ha_data, 15> THD::ha_data’ is private within this context
  900 |   ASSERT(thd->ha_data[m_slot].ha_ptr == NULL, "Nested transaction is not supported!");
      |               ^~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:904:8: error: ‘Prealloced_array<Ha_data, 15> THD::ha_data’ is private within this context
  904 |   thd->ha_data[m_slot].ha_ptr = current_txn_;
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:912:12: error: ‘Prealloced_array<Ha_data, 15> THD::ha_data’ is private within this context
  912 |   if (thd->ha_data[m_slot].ha_ptr == nullptr) return CreateTx(thd);
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:913:42: error: ‘Prealloced_array<Ha_data, 15> THD::ha_data’ is private within this context
  913 |   return static_cast<Transaction *>(thd->ha_data[m_slot].ha_ptr);
      |                                          ^~~~~~~

/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:917:46: error: ‘Prealloced_array<Ha_data, 15> THD::ha_data’ is private within this context
  917 |   ASSERT(current_txn_ == (Transaction *)thd->ha_data[m_slot].ha_ptr, "Bad transaction");

      |                                              ^~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:923:8: error: ‘Prealloced_array<Ha_data, 15> THD::ha_data’ is private within this context
  923 |   thd->ha_data[m_slot].ha_ptr = NULL;
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:954:3: error: ‘my_bool’ was not declared in this scope
  954 |   my_bool null_val;
      |   ^~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:956:87: warning: cast from type ‘const char*’ to type ‘uchar*’ {aka ‘unsigned char*’} casts away qualifiers [-Wcast-qual]
  956 |   m_entry = (user_var_entry *)my_hash_search(&thd->user_vars, (uchar *)var_data.c_str(), (uint)var_data.size());
      |                                                                                       ^
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:956:31: error: ‘my_hash_search’ was not declared in this scope
  956 |   m_entry = (user_var_entry *)my_hash_search(&thd->user_vars, (uchar *)var_data.c_str(), (uint)var_data.size());
      |                               ^~~~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:958:30: error: ‘null_val’ was not declared in this scope
  958 |   value = m_entry->val_real(&null_val);
      |                              ^~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp: In function ‘int Tianmu::core::get_parameter(THD*, Tianmu::core::tianmu_var_name, int64_t&)’:
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:966:3: error: ‘my_bool’ was not declared in this scope
  966 |   my_bool null_val;
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:968:87: warning: cast from type ‘const char*’ to type ‘uchar*’ {aka ‘unsigned char*’} casts away qualifiers [-Wcast-qual]
  968 |   m_entry = (user_var_entry *)my_hash_search(&thd->user_vars, (uchar *)var_data.c_str(), (uint)var_data.size());
      |                                                                                       ^
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:968:31: error: ‘my_hash_search’ was not declared in this scope
  968 |   m_entry = (user_var_entry *)my_hash_search(&thd->user_vars, (uchar *)var_data.c_str(), (uint)var_data.size());
      |                               ^~~~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:971:29: error: ‘null_val’ was not declared in this scope
  971 |   value = m_entry->val_int(&null_val);
      |                             ^~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp: In function ‘int Tianmu::core::get_parameter(THD*, Tianmu::core::tianmu_var_name, std::string&)’:
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:977:3: error: ‘my_bool’ was not declared in this scope
  977 |   my_bool null_val;
      |   ^~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:982:87: warning: cast from type ‘const char*’ to type ‘uchar*’ {aka ‘unsigned char*’} casts away qualifiers [-Wcast-qual]
  982 |   m_entry = (user_var_entry *)my_hash_search(&thd->user_vars, (uchar *)var_data.c_str(), (uint)var_data.size());
      |                                                                                       ^
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:982:31: error: ‘my_hash_search’ was not declared in this scope
  982 |   m_entry = (user_var_entry *)my_hash_search(&thd->user_vars, (uchar *)var_data.c_str(), (uint)var_data.size());
      |                               ^~~~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:985:21: error: ‘null_val’ was not declared in this scope
  985 |   m_entry->val_str(&null_val, &str, NOT_FIXED_DEC);
      |                     ^~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:985:37: error: ‘NOT_FIXED_DEC’ was not declared in this scope
  985 |   m_entry->val_str(&null_val, &str, NOT_FIXED_DEC);

TODO:&*ifield => need analyse it

because Item_equal_iterator is deleted
so fix code :
core/query.cpp: 1121
Item2CQTerm(&*ifield, zero_term, tmp_table, filter_type)

the way: "&*ifield" need analyse again

TODO: st_select_lex_unit::optimize is modified

sql/sql_union.cc
5.7.36 st_select_lex_unit::optimize(THD *thd)
8.0.30 bool Query_expression::optimize(THD *thd, TABLE *materialize_destination, bool create_iterators, bool finalize_access_paths)

5.7.36

    //1->2 count,sum function set not const for Accurate calculation in storage   <fix:join core>
    if (query_result())
      query_result()->estimated_rowcount+=
        sl->is_implicitly_grouped() || sl->join->group_optimized_away ?
          2 :  sl->join->best_rowcount; //TIANMU UPGRADE

1. error from storage/tianmu/core/engine.cpp

/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:398:12: error: ‘uint32 Field::flags’ is private within this context
  398 |     if (f->flags & BLOB_FLAG)
      |            ^~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:505:11: error: ‘my_bool’ was not declared in this scope
  505 |           my_bool myb;
      |           ^~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:506:93: error: ‘myb’ was not declared in this scope; did you mean ‘myu’?
  506 |           my_time_t secs_utc = current_thd->variables.time_zone->TIME_to_gmt_sec(&my_time, &myb);
      |                                                                                             ^~~
      |                                                                                             myu
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp: In static member function ‘static Tianmu::core::AttributeTypeInfo Tianmu::core::Engine::GetAttrTypeInfo(const Field&)’:
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:611:25: error: ‘uint32 Field::flags’ is private within this context
  611 |   bool auto_inc = field.flags & AUTO_INCREMENT_FLAG;
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:652:17: error: ‘uint32 Field::flags’ is private within this context
  652 |       if (field.flags & UNSIGNED_FLAG)
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:675:39: error: ‘const struct CHARSET_INFO’ has no member named ‘name’; did you mean ‘csname’?
  675 |                       coll.collation->name);
      |                                       ^~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/util/log_ctl.h:49:101: note: in definition of macro ‘TIANMU_LOG’
   49 | #define TIANMU_LOG(_level, ...) Tianmu::utils::LogCtl::LogMsg(logger::_level, __FILE__, __LINE__, ##__VA_ARGS__)
      |                                                                                                     ^~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:692:17: error: ‘uint32 Field::flags’ is private within this context
  692 |       if (field.flags & UNSIGNED_FLAG)
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:819:21: error: ‘class Field’ has no member named ‘orig_table’; did you mean ‘orig_table_name’?
  819 |   if (source_field->orig_table->s->db_type() == rcbase_hton) {  // do not use table (cont. default values)
      |                     ^~~~~~~~~~
      |                     orig_table_name
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:827:46: error: ‘class Field’ has no member named ‘orig_table’; did you mean ‘orig_table_name’?
  827 |         GetTableAttributesInfo(source_field->orig_table->s->path.str, source_field->orig_table->s);
      |                                              ^~~~~~~~~~
      |                                              orig_table_name
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:827:85: error: ‘class Field’ has no member named ‘orig_table’; did you mean ‘orig_table_name’?
  827 |         GetTableAttributesInfo(source_field->orig_table->s->path.str, source_field->orig_table->s);

4: error from storage/tianmu/core/engine.cpp

/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp: In member function ‘Tianmu::common::TIANMUError Tianmu::core::Engine::RunLoader(THD*, sql_exchange*, TABLE_LIST*, void*)’:
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1476:10: error: ‘class THD’ has no member named ‘cuted_fields’
 1476 |     thd->cuted_fields = 0L;
      |          ^~~~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1489:5: error: ‘query_cache’ was not declared in this scope
 1489 |     query_cache.invalidate(thd, table_list, 0);
      |     ^~~~~~~~~~~
In file included from /data/mysql-server-mysql-8.0.30/storage/tianmu/common/mysql_gate.h:54,
                 from /data/mysql-server-mysql-8.0.30/storage/tianmu/common/common_definitions.h:26,
                 from /data/mysql-server-mysql-8.0.30/storage/tianmu/common/exception.h:23,
                 from /data/mysql-server-mysql-8.0.30/storage/tianmu/common/assert.h:23,
                 from /data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.h:27,
                 from /data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:18:
/data/mysql-server-mysql-8.0.30/sql/mysqld.h:799:15: error: ‘please_use_ER_THD_or_ER_DEFAULT_instead’ was not declared in this scope
  799 | #define ER(X) please_use_ER_THD_or_ER_DEFAULT_instead(X)
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1498:5: error: ‘my_snprintf’ was not declared in this scope; did you mean ‘my_b_printf’?
 1498 |     my_snprintf(name, sizeof(name), ER(ER_LOAD_INFO), (long)stats.records,
      |     ^~~~~~~~~~~
      |     my_b_printf
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1506:93: warning: implicitly-declared ‘Tianmu::common::TIANMUError& Tianmu::common::TIANMUError::operator=(const Tianmu::common::TIANMUError&)’ is deprecated [-Wdeprecated-copy]
 1506 |     tianmu_e = common::TIANMUError(common::ErrorCode::UNKNOWN_ERROR, "Tianmu internal error");
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1596:33: error: ‘struct LEX’ has no member named ‘exchange’
 1596 |   if (selects_list->parent_lex->exchange) {
      |                                 ^~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1597:45: error: ‘struct LEX’ has no member named ‘exchange’
 1597 |     is_dumpfile = selects_list->parent_lex->exchange->dumpfile;
      |                                             ^~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1598:38: error: ‘struct LEX’ has no member named ‘exchange’
 1598 |     return selects_list->parent_lex->exchange->file_name;
      |                                      ^~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp: In static member function ‘static void Tianmu::core::Engine::ComputeTimeZoneDiffInMinutes(THD*, short int&, short int&)’:
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1662:22: error: invalid initialization of reference of type ‘const MYSQL_TIME&’ from expression of type ‘MYSQL_TIME*’
 1662 |   if (calc_time_diff(&utc, &client_zone, 1, &secs, &msecs)) sign = -1;
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp: In static member function ‘static Tianmu::common::TIANMUError Tianmu::core::Engine::GetIOP(std::unique_ptr<Tianmu::system::IOParameters>&, THD&, sql_exchange&, TABLE*, void*, bool)’:
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1706:61: error: ‘struct LEX’ has no member named ‘local_file’
 1706 |   bool local_load = for_exporter ? false : (bool)(thd.lex)->local_file;
      |                                                             ^~~~~~~~~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1707:41: error: ‘struct LEX’ has no member named ‘load_value_list’; did you mean ‘kill_value_list’?
 1707 |   uint value_list_elements = (thd.lex)->load_value_list.elements;
      |                                         ^~~~~~~~~~~~~~~
      |                                         kill_value_list
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1714:65: warning: cast from type ‘const char* const’ to type ‘char*’ casts away qualifiers [-Wcast-qual]
 1714 |     tdb = table->s->db.str ? table->s->db.str : (char*)thd.db().str;
      |                                                                 ^~~
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1714:28: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
 1714 |     tdb = table->s->db.str ? table->s->db.str : (char*)thd.db().str;
      |           ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                            |
      |                            const char*
/data/mysql-server-mysql-8.0.30/storage/tianmu/core/engine.cpp:1723:22: error: ‘FILETYPE_MEM’ was not declared in this scope; did you mean ‘FILETYPE_XML’?
 1723 |   if (ex.filetype == FILETYPE_MEM) {
      |                      ^~~~~~~~~~~~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.