【CP】patch to opensource
This commit is contained in:
parent
8160997f02
commit
f2f91f98c6
5
deps/oblib/src/lib/CMakeLists.txt
vendored
5
deps/oblib/src/lib/CMakeLists.txt
vendored
@ -67,7 +67,6 @@ ob_set_subtarget(oblib_lib common
|
||||
allocator/ob_thread_mempool.cpp
|
||||
allocator/ob_page_manager.cpp
|
||||
alloc/block_set.cpp
|
||||
alloc/malloc_hook.cpp
|
||||
alloc/object_set.cpp
|
||||
alloc/ob_malloc_allocator.cpp
|
||||
alloc/ob_tenant_ctx_allocator.cpp
|
||||
@ -472,3 +471,7 @@ ob_lib_add_pchs(lib
|
||||
hash/ob_concurrent_hash_map.h
|
||||
)
|
||||
|
||||
add_library(malloc_hook STATIC
|
||||
alloc/malloc_hook.cpp
|
||||
alloc/malloc_hook.h)
|
||||
target_link_libraries(malloc_hook oblib_base)
|
||||
|
295
deps/oblib/src/lib/alloc/malloc_hook.cpp
vendored
295
deps/oblib/src/lib/alloc/malloc_hook.cpp
vendored
@ -11,189 +11,159 @@
|
||||
*/
|
||||
|
||||
#include "malloc_hook.h"
|
||||
#include "lib/utility/ob_macro_utils.h"
|
||||
#include "lib/utility/ob_defer.h"
|
||||
#include "lib/allocator/ob_mem_leak_checker.h"
|
||||
#include "lib/allocator/ob_malloc.h"
|
||||
|
||||
namespace oceanbase {
|
||||
int64_t lib::memalign_size = 0;
|
||||
namespace lib {
|
||||
RLOCAL(int, glibc_hook_opt);
|
||||
} // namespace lib
|
||||
} // namespace oceanbase
|
||||
|
||||
using namespace oceanbase;
|
||||
using namespace oceanbase::common;
|
||||
using namespace oceanbase::lib;
|
||||
|
||||
#if 0
|
||||
EXTERN_C_BEGIN
|
||||
extern void *__libc_malloc(size_t size);
|
||||
extern void __libc_free(void *ptr);
|
||||
extern void *__libc_realloc(void *ptr, size_t size);
|
||||
uint64_t up_align(uint64_t x, uint64_t align)
|
||||
{
|
||||
return (x + (align - 1)) & ~(align - 1);
|
||||
}
|
||||
|
||||
static ObMemAttr mattr{OB_SERVER_TENANT_ID, ObModIds::OB_JIT_MALLOC, ObCtxIds::GLIBC};
|
||||
#define up_align(x, y) (((x) + ((y)-1)) / (y) * (y))
|
||||
struct Header
|
||||
{
|
||||
static const uint32_t MAGIC_CODE = 0XA1B2C3D1;
|
||||
static const uint32_t SIZE;
|
||||
Header(int32_t size, bool from_mmap)
|
||||
: magic_code_(MAGIC_CODE),
|
||||
data_size_(size),
|
||||
offset_(0),
|
||||
from_mmap_(from_mmap)
|
||||
{}
|
||||
bool check_magic_code() const { return MAGIC_CODE == magic_code_; }
|
||||
void mark_unused() { magic_code_ &= ~0x1; }
|
||||
static Header *ptr2header(void *ptr) { return reinterpret_cast<Header*>((char*)ptr - SIZE); }
|
||||
uint32_t magic_code_;
|
||||
int32_t data_size_;
|
||||
uint32_t offset_;
|
||||
uint8_t from_mmap_;
|
||||
char padding_[3];
|
||||
char data_[0];
|
||||
} __attribute__((aligned (16)));
|
||||
|
||||
void *calloc(size_t nmemb, size_t size)
|
||||
const uint32_t Header::SIZE = offsetof(Header, data_);
|
||||
const size_t max_retry_size = 2 << 30; // 2G
|
||||
|
||||
void *ob_malloc_retry(size_t size)
|
||||
{
|
||||
void *ptr = nullptr;
|
||||
if (OB_LIKELY(nmemb != 0) && OB_LIKELY(size != 0)) {
|
||||
void *pheader = nullptr;
|
||||
size_t all_size = HOOK_HEADER_SIZE + nmemb * size;
|
||||
if (glibc_hook_opt != GHO_NOHOOK) {
|
||||
do {
|
||||
pheader = ob_malloc(all_size, mattr);
|
||||
if (OB_UNLIKELY(nullptr == pheader)) {
|
||||
this_routine::usleep(10000); // 10ms
|
||||
}
|
||||
} while (OB_UNLIKELY(nullptr == pheader) &&
|
||||
OB_UNLIKELY(glibc_hook_opt == GHO_NONULL));
|
||||
} else {
|
||||
pheader = __libc_malloc(all_size);
|
||||
do {
|
||||
static ObMemAttr attr(OB_SERVER_TENANT_ID, "glibc_malloc", ObCtxIds::GLIBC);
|
||||
ptr = ob_malloc(size, attr);
|
||||
if (OB_ISNULL(ptr)) {
|
||||
::usleep(10000); // 10ms
|
||||
}
|
||||
if (OB_LIKELY(pheader != nullptr)) {
|
||||
MEMSET(pheader, 0, all_size);
|
||||
HookHeader *header = new (pheader) HookHeader();
|
||||
header->data_size_ = all_size - HOOK_HEADER_SIZE;
|
||||
header->from_glibc_ = GHO_NOHOOK == glibc_hook_opt;
|
||||
ptr = header->data_;
|
||||
} while (OB_ISNULL(ptr) && !(size > max_retry_size || 0 == size));
|
||||
return ptr;
|
||||
}
|
||||
|
||||
static __thread bool in_hook = false;
|
||||
void *ob_malloc_hook(size_t size, const void *)
|
||||
{
|
||||
void *ptr = nullptr;
|
||||
size_t real_size = size + Header::SIZE;
|
||||
void *tmp_ptr = nullptr;
|
||||
bool from_mmap = false;
|
||||
if (OB_UNLIKELY(in_hook)) {
|
||||
if (MAP_FAILED == (tmp_ptr = ::mmap(nullptr, real_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0))) {
|
||||
tmp_ptr = nullptr;
|
||||
}
|
||||
from_mmap = true;
|
||||
} else {
|
||||
bool in_hook_bak = in_hook;
|
||||
in_hook = true;
|
||||
DEFER(in_hook = in_hook_bak);
|
||||
tmp_ptr = ob_malloc_retry(real_size);
|
||||
}
|
||||
if (OB_LIKELY(tmp_ptr != nullptr)) {
|
||||
auto *header = new (tmp_ptr) Header(size, from_mmap);
|
||||
ptr = header->data_;
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void *malloc(size_t size)
|
||||
{
|
||||
void *ptr = nullptr;
|
||||
if (OB_LIKELY(size != 0)) {
|
||||
void *pheader = nullptr;
|
||||
size_t all_size = HOOK_HEADER_SIZE + size;
|
||||
if (glibc_hook_opt != GHO_NOHOOK) {
|
||||
do {
|
||||
pheader = ob_malloc(all_size, mattr);
|
||||
if (OB_UNLIKELY(nullptr == pheader)) {
|
||||
this_routine::usleep(10000); // 10ms
|
||||
}
|
||||
} while (OB_UNLIKELY(nullptr == pheader) &&
|
||||
OB_UNLIKELY(glibc_hook_opt == GHO_NONULL));
|
||||
} else {
|
||||
pheader = __libc_malloc(all_size);
|
||||
}
|
||||
if (OB_LIKELY(pheader != nullptr)) {
|
||||
HookHeader *header = new (pheader) HookHeader();
|
||||
header->data_size_ = size;
|
||||
header->from_glibc_ = GHO_NOHOOK == glibc_hook_opt;
|
||||
ptr = header->data_;
|
||||
}
|
||||
}
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void free(void *ptr)
|
||||
void ob_free_hook(void *ptr, const void *)
|
||||
{
|
||||
if (OB_LIKELY(ptr != nullptr)) {
|
||||
HookHeader *header = reinterpret_cast<HookHeader*>((char*)ptr - HOOK_HEADER_SIZE);
|
||||
if (OB_UNLIKELY(header->MAGIC_CODE_ != HOOK_MAGIC_CODE)) {
|
||||
#ifndef NDEBUG
|
||||
// debug mode
|
||||
abort();
|
||||
#else
|
||||
_OB_LOG(ERROR,
|
||||
"unexpected magic, memory broken or mismatched hook function is invoked!!!");
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
auto *header = Header::ptr2header(ptr);
|
||||
abort_unless(header->check_magic_code());
|
||||
header->mark_unused();
|
||||
void *orig_ptr = (char*)header - header->offset_;
|
||||
// Temporary code, used to count the usage of the align interface
|
||||
if (0xabcd1234 == *(int64_t*)&header->padding__[0]) {
|
||||
ATOMIC_FAA(&oceanbase::lib::memalign_size, -header->data_size_);
|
||||
}
|
||||
if (!header->from_glibc_) {
|
||||
ob_free(orig_ptr);
|
||||
if (OB_UNLIKELY(header->from_mmap_)) {
|
||||
::munmap(orig_ptr, header->data_size_ + Header::SIZE + header->offset_);
|
||||
} else {
|
||||
__libc_free(orig_ptr);
|
||||
bool in_hook_bak = in_hook;
|
||||
in_hook = true;
|
||||
DEFER(in_hook = in_hook_bak);
|
||||
ob_free(orig_ptr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void *realloc(void *ptr, size_t size)
|
||||
void *ob_realloc_hook(void *ptr, size_t size, const void *caller)
|
||||
{
|
||||
void *nptr = nullptr;
|
||||
HookHeader *old_header = nullptr;
|
||||
void *orig_ptr = nullptr;
|
||||
if (ptr != nullptr) {
|
||||
old_header = reinterpret_cast<HookHeader*>((char*)ptr - HOOK_HEADER_SIZE);
|
||||
abort_unless(HOOK_MAGIC_CODE == old_header->MAGIC_CODE_);
|
||||
orig_ptr = (char*)old_header - old_header->offset_;
|
||||
}
|
||||
if (nullptr == ptr ||
|
||||
(old_header->from_glibc_ == (GHO_NOHOOK == glibc_hook_opt))) {
|
||||
void *pheader = nullptr;
|
||||
size_t all_size = size != 0 ? HOOK_HEADER_SIZE + size : 0;
|
||||
if (glibc_hook_opt != GHO_NOHOOK) {
|
||||
do {
|
||||
pheader = ob_realloc(orig_ptr, all_size, mattr);
|
||||
if (OB_UNLIKELY(nullptr == pheader)) {
|
||||
this_routine::usleep(10000); // 10ms
|
||||
}
|
||||
} while (OB_UNLIKELY(nullptr == pheader) &&
|
||||
OB_UNLIKELY(glibc_hook_opt == GHO_NONULL));
|
||||
} else {
|
||||
pheader = __libc_realloc(orig_ptr, all_size);
|
||||
}
|
||||
if (OB_LIKELY(pheader != nullptr)) {
|
||||
HookHeader *new_header = new (pheader) HookHeader();
|
||||
new_header->data_size_ = all_size - HOOK_HEADER_SIZE;
|
||||
new_header->from_glibc_ = GHO_NOHOOK == glibc_hook_opt;
|
||||
nptr = new_header->data_;
|
||||
size_t real_size = size + Header::SIZE;
|
||||
void *tmp_ptr = nullptr;
|
||||
bool from_mmap = false;
|
||||
if (OB_UNLIKELY(in_hook)) {
|
||||
if (MAP_FAILED == (tmp_ptr = ::mmap(nullptr, real_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0))) {
|
||||
tmp_ptr = nullptr;
|
||||
}
|
||||
from_mmap = true;
|
||||
} else {
|
||||
// When ptr is not empty, and hook and non-hook need to be called separately
|
||||
if (size != 0) {
|
||||
nptr = malloc(size);
|
||||
if (nptr != nullptr) {
|
||||
memmove(nptr, ptr, MIN(old_header->data_size_, size));
|
||||
}
|
||||
bool in_hook_bak = in_hook;
|
||||
in_hook = true;
|
||||
DEFER(in_hook = in_hook_bak);
|
||||
tmp_ptr = ob_malloc_retry(real_size);
|
||||
}
|
||||
if (OB_LIKELY(tmp_ptr != nullptr)) {
|
||||
auto *header = new (tmp_ptr) Header(size, from_mmap);
|
||||
nptr = header->data_;
|
||||
if (ptr != nullptr) {
|
||||
auto *old_header = Header::ptr2header(ptr);
|
||||
abort_unless(old_header->check_magic_code());
|
||||
memmove(nptr, ptr, MIN(old_header->data_size_, size));
|
||||
ob_free_hook(old_header->data_, caller);
|
||||
}
|
||||
free(ptr);
|
||||
}
|
||||
return nptr;
|
||||
}
|
||||
|
||||
void *memalign(size_t align, size_t size)
|
||||
void *ob_memalign_hook(size_t alignment, size_t size, const void *)
|
||||
{
|
||||
void *ptr = nullptr;
|
||||
if (OB_LIKELY(size != 0)) {
|
||||
if (OB_LIKELY(size > 0)) {
|
||||
// Make sure alignment is power of 2
|
||||
{
|
||||
size_t a = 8;
|
||||
while (a < align)
|
||||
while (a < alignment)
|
||||
a <<= 1;
|
||||
align = a;
|
||||
alignment = a;
|
||||
}
|
||||
size_t real_size = 2 * MAX(alignment, Header::SIZE) + size;
|
||||
void *tmp_ptr = nullptr;
|
||||
size_t all_size = 2 * MAX(align, HOOK_HEADER_SIZE) + size;
|
||||
if (glibc_hook_opt != GHO_NOHOOK) {
|
||||
do {
|
||||
tmp_ptr = ob_malloc(all_size, mattr);
|
||||
if (OB_UNLIKELY(nullptr == tmp_ptr)) {
|
||||
this_routine::usleep(10000); // 10ms
|
||||
}
|
||||
} while (OB_UNLIKELY(nullptr == tmp_ptr) &&
|
||||
OB_UNLIKELY(glibc_hook_opt == GHO_NONULL));
|
||||
bool from_mmap = false;
|
||||
if (OB_UNLIKELY(in_hook)) {
|
||||
if (MAP_FAILED == (tmp_ptr = ::mmap(nullptr, real_size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0))) {
|
||||
tmp_ptr = nullptr;
|
||||
}
|
||||
from_mmap = true;
|
||||
} else {
|
||||
tmp_ptr = __libc_malloc(all_size);
|
||||
bool in_hook_bak = in_hook;
|
||||
in_hook = true;
|
||||
DEFER(in_hook = in_hook_bak);
|
||||
tmp_ptr = ob_malloc_retry(real_size);
|
||||
}
|
||||
if (OB_LIKELY(tmp_ptr != nullptr)) {
|
||||
ATOMIC_FAA(&oceanbase::lib::memalign_size, size);
|
||||
char *start = (char *)tmp_ptr + HOOK_HEADER_SIZE;
|
||||
char *align_ptr = (char *)up_align(
|
||||
reinterpret_cast<int64_t>(start), align);
|
||||
char *pheader = align_ptr - HOOK_HEADER_SIZE;
|
||||
char *start = (char *)tmp_ptr + Header::SIZE;
|
||||
char *align_ptr = (char *)up_align(reinterpret_cast<int64_t>(start), alignment);
|
||||
char *pheader = align_ptr - Header::SIZE;
|
||||
size_t offset = pheader - (char*)tmp_ptr;
|
||||
HookHeader *header = new (pheader) HookHeader();
|
||||
*(int64_t*)&header->padding__[0] = 0xabcd1234;
|
||||
header->data_size_ = size;
|
||||
header->from_glibc_ = GHO_NOHOOK == glibc_hook_opt;
|
||||
auto *header = new (pheader) Header(size, from_mmap);
|
||||
header->offset_ = offset;
|
||||
ptr = header->data_;
|
||||
}
|
||||
@ -201,36 +171,17 @@ void *memalign(size_t align, size_t size)
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void *valloc(size_t size)
|
||||
{
|
||||
return memalign(sysconf(_SC_PAGESIZE), size);
|
||||
}
|
||||
|
||||
int posix_memalign(void **memptr, size_t alignment, size_t size)
|
||||
{
|
||||
int err = 0;
|
||||
|
||||
if (OB_UNLIKELY(nullptr == memptr)) {
|
||||
err = -EINVAL;
|
||||
} else {
|
||||
*memptr = nullptr;
|
||||
void *ptr = memalign(alignment, size);
|
||||
if (OB_UNLIKELY(nullptr == ptr)) {
|
||||
err = -ENOMEM;
|
||||
} else {
|
||||
*memptr = ptr;
|
||||
}
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
char *strdup(const char *s)
|
||||
{
|
||||
size_t len = strlen(s) + 1;
|
||||
void *new_s = malloc(len);
|
||||
return new_s != nullptr ? (char*)memcpy(new_s, s, len) : nullptr;
|
||||
}
|
||||
|
||||
EXTERN_C_END
|
||||
#if !defined(__MALLOC_HOOK_VOLATILE)
|
||||
#define MALLOC_HOOK_MAYBE_VOLATILE /**/
|
||||
#else
|
||||
#define MALLOC_HOOK_MAYBE_VOLATILE __MALLOC_HOOK_VOLATILE
|
||||
#endif
|
||||
|
||||
extern "C" {
|
||||
__attribute__((visibility("default"))) void *(*MALLOC_HOOK_MAYBE_VOLATILE __malloc_hook)(size_t, const void *) = ob_malloc_hook;
|
||||
__attribute__((visibility("default"))) void (*MALLOC_HOOK_MAYBE_VOLATILE __free_hook)(void *, const void *) = ob_free_hook;
|
||||
__attribute__((visibility("default"))) void *(*MALLOC_HOOK_MAYBE_VOLATILE __realloc_hook)(void *, size_t, const void *) = ob_realloc_hook;
|
||||
__attribute__((visibility("default"))) void *(*MALLOC_HOOK_MAYBE_VOLATILE __memalign_hook)(size_t, size_t, const void *) = ob_memalign_hook;
|
||||
}
|
||||
|
||||
void init_malloc_hook() {}
|
||||
|
25
deps/oblib/src/lib/alloc/malloc_hook.h
vendored
25
deps/oblib/src/lib/alloc/malloc_hook.h
vendored
@ -12,29 +12,6 @@
|
||||
|
||||
#ifndef MALLOC_HOOK_H
|
||||
#define MALLOC_HOOK_H
|
||||
#include <cstddef>
|
||||
#include "lib/coro/co_var.h"
|
||||
|
||||
namespace oceanbase {
|
||||
namespace lib {
|
||||
extern int64_t memalign_size;
|
||||
static const uint32_t HOOK_MAGIC_CODE = 0XA1B2C3D4;
|
||||
struct HookHeader {
|
||||
HookHeader() : MAGIC_CODE_(HOOK_MAGIC_CODE), from_glibc_(0), offset_(0)
|
||||
{}
|
||||
uint32_t MAGIC_CODE_;
|
||||
uint32_t data_size_;
|
||||
uint8_t from_glibc_;
|
||||
uint64_t offset_;
|
||||
char padding__[8];
|
||||
char data_[0];
|
||||
} __attribute__((aligned(16)));
|
||||
|
||||
static const uint32_t HOOK_HEADER_SIZE = offsetof(HookHeader, data_);
|
||||
|
||||
enum GLIBC_HOOK_OPT { GHO_NOHOOK, GHO_HOOK, GHO_NONULL };
|
||||
extern RLOCAL(int, glibc_hook_opt);
|
||||
} // namespace lib
|
||||
} // namespace oceanbase
|
||||
extern void init_malloc_hook();
|
||||
|
||||
#endif /* MALLOC_HOOK_H */
|
||||
|
@ -13,9 +13,10 @@
|
||||
#include "lib/allocator/ob_mem_leak_checker.h"
|
||||
|
||||
using namespace oceanbase::lib;
|
||||
namespace oceanbase {
|
||||
namespace common {
|
||||
lib::ObSimpleRateLimiter ObMemLeakChecker::rl_ = {INT64_MAX};
|
||||
namespace oceanbase
|
||||
{
|
||||
namespace common
|
||||
{
|
||||
|
||||
} // end of namespace common
|
||||
} // end of namespace oceanbase
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
#ifndef __OB_MEM_LEAK_CHECKER_H__
|
||||
#define __OB_MEM_LEAK_CHECKER_H__
|
||||
#include "lib/utility/ob_defer.h"
|
||||
#include "lib/hash/ob_hashmap.h"
|
||||
#include "lib/alloc/alloc_struct.h"
|
||||
#include "lib/utility/ob_simple_rate_limiter.h"
|
||||
@ -51,7 +52,7 @@ class ObMemLeakChecker {
|
||||
|
||||
public:
|
||||
typedef hash::ObHashMap<Info, std::pair<int64_t, int64_t>> mod_info_map_t;
|
||||
using TCharArray = char[lib::AOBJECT_LABEL_SIZE + 1];
|
||||
using TCharArray = char[2 * lib::AOBJECT_LABEL_SIZE + 1];
|
||||
|
||||
ObMemLeakChecker()
|
||||
{
|
||||
@ -100,10 +101,15 @@ public:
|
||||
// One copy is encoded according to the same rules as AObject, used for memory compare to accelerate matching
|
||||
void set_str(const char* str)
|
||||
{
|
||||
// disable leak check under current function
|
||||
ct_ = NOCHECK;
|
||||
CheckType tmp_ct = NOCHECK;
|
||||
DEFER(ct_ = tmp_ct);
|
||||
|
||||
_OB_LOG(INFO, "leak mod to check: %s", str);
|
||||
if (nullptr == str || 0 == STRLEN(str) || 0 == STRNCMP(str, "NONE", STRLEN("NONE"))) {
|
||||
origin_str_[0] = '\0';
|
||||
ct_ = NOCHECK;
|
||||
tmp_ct = NOCHECK;
|
||||
} else {
|
||||
STRNCPY(origin_str_, str, sizeof(origin_str_));
|
||||
origin_str_[sizeof(origin_str_) - 1] = '\0';
|
||||
@ -111,12 +117,12 @@ public:
|
||||
MEMCPY(cpy, origin_str_, sizeof(origin_str_));
|
||||
char* end = (char*)memchr(cpy, '@', strlen(cpy));
|
||||
if (end != nullptr) {
|
||||
ct_ = CONTEXT_CHECK;
|
||||
tmp_ct = CONTEXT_CHECK;
|
||||
static_id_ = atoi(end + 1);
|
||||
*end = '\0';
|
||||
is_wildcard_ = 0 == STRCMP("*", cpy);
|
||||
} else {
|
||||
ct_ = LABEL_CHECK;
|
||||
tmp_ct = LABEL_CHECK;
|
||||
}
|
||||
const int64_t mod_id = ObModSet::instance().get_mod_id(cpy);
|
||||
if (is_valid_mod_id(mod_id)) {
|
||||
@ -149,16 +155,11 @@ public:
|
||||
malloc_info_.reuse();
|
||||
}
|
||||
|
||||
void set_rate(int64_t rate)
|
||||
{
|
||||
_OB_LOG(INFO, "leak rate, current: %ld, new: %ld", rl_.rate(), rate);
|
||||
rl_.set_rate(rate);
|
||||
}
|
||||
|
||||
void on_alloc(lib::AObject& obj)
|
||||
void on_alloc(lib::AObject &obj)
|
||||
{
|
||||
obj.on_leak_check_ = false;
|
||||
if (is_label_check() && label_match(obj) && (OB_SUCCESS == rl_.try_acquire()) &&
|
||||
if (is_label_check() &&
|
||||
label_match(obj) &&
|
||||
malloc_info_.size() < MAP_SIZE_LIMIT) {
|
||||
Info info;
|
||||
info.bytes_ = obj.alloc_bytes_;
|
||||
@ -256,7 +257,7 @@ public:
|
||||
|
||||
private:
|
||||
// Limit the memory used by hashmap
|
||||
static constexpr int MEMORY_LIMIT = 128L << 20;
|
||||
static constexpr int MEMORY_LIMIT = 1L << 30;
|
||||
static constexpr int MAP_SIZE_LIMIT = MEMORY_LIMIT / sizeof(Info);
|
||||
enum CheckType {
|
||||
NOCHECK,
|
||||
@ -274,16 +275,13 @@ private:
|
||||
};
|
||||
char data_[0];
|
||||
};
|
||||
TCharArray label_;
|
||||
char label_[lib::AOBJECT_LABEL_SIZE + 1];
|
||||
};
|
||||
CheckType ct_;
|
||||
int static_id_;
|
||||
bool is_wildcard_;
|
||||
int len_;
|
||||
mod_alloc_info_t malloc_info_;
|
||||
|
||||
private:
|
||||
static lib::ObSimpleRateLimiter rl_;
|
||||
};
|
||||
}; // end namespace common
|
||||
}; // end namespace oceanbase
|
||||
|
@ -158,11 +158,6 @@ void reset_mem_leak_checker_label(const char* str)
|
||||
get_mem_leak_checker().reset();
|
||||
}
|
||||
|
||||
void reset_mem_leak_checker_rate(int64_t rate)
|
||||
{
|
||||
get_mem_leak_checker().set_rate(rate);
|
||||
}
|
||||
|
||||
const ObCtxInfo& get_global_ctx_info()
|
||||
{
|
||||
static ObCtxInfo info;
|
||||
|
1
deps/oblib/src/lib/allocator/ob_tc_malloc.h
vendored
1
deps/oblib/src/lib/allocator/ob_tc_malloc.h
vendored
@ -24,7 +24,6 @@ extern const ObCtxInfo& get_global_ctx_info();
|
||||
extern void print_malloc_stats(bool print_glibc_malloc_stats);
|
||||
extern void ob_purge_memory_pool();
|
||||
void reset_mem_leak_checker_label(const char* str);
|
||||
void reset_mem_leak_checker_rate(int64_t rate);
|
||||
extern ObMemLeakChecker& get_mem_leak_checker();
|
||||
|
||||
/// set the memory as read-only
|
||||
|
62
deps/oblib/src/lib/oblog/ob_log.cpp
vendored
62
deps/oblib/src/lib/oblog/ob_log.cpp
vendored
@ -1813,21 +1813,6 @@ void ObLogger::check_reset_force_allows()
|
||||
}
|
||||
}
|
||||
|
||||
int64_t ObLogger::get_reimbursation_time()
|
||||
{
|
||||
int64_t ret_time = 0;
|
||||
int64_t task_level = 0;
|
||||
if (tl_type_ >= 0 && tl_type_ < 5) {
|
||||
for (int64_t i = 0; i < 5; ++i) {
|
||||
if (ATOMIC_LOAD(current_written_count_ + tl_type_) < ATOMIC_LOAD(current_written_count_ + i)) {
|
||||
++task_level;
|
||||
}
|
||||
}
|
||||
}
|
||||
ret_time = POP_COMPENSATED_TIME[task_level]; // 0, 1, 2, 3, 4us
|
||||
return ret_time;
|
||||
}
|
||||
|
||||
int ObLogger::async_log_data_body(ObPLogItem& log_item, const char* info_string, const int64_t string_len)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
@ -2032,39 +2017,6 @@ void ObLogger::async_log_message(const char* mod_name, const int32_t level, cons
|
||||
}
|
||||
}
|
||||
|
||||
int64_t ObLogger::get_wait_us(const int32_t level)
|
||||
{
|
||||
int64_t ret_timeout_us = 0;
|
||||
if (is_force_allows()) {
|
||||
// if force allows, wait 100us
|
||||
ret_timeout_us = 100; // 100us
|
||||
} else {
|
||||
switch (level) {
|
||||
case OB_LOG_LEVEL_ERROR: {
|
||||
ret_timeout_us = 100; // 100us
|
||||
break;
|
||||
}
|
||||
case OB_LOG_LEVEL_WARN: {
|
||||
ret_timeout_us = 10; // 10us
|
||||
ret_timeout_us += 2 * get_reimbursation_time(); // double it
|
||||
break;
|
||||
}
|
||||
case OB_LOG_LEVEL_INFO:
|
||||
case OB_LOG_LEVEL_TRACE: {
|
||||
ret_timeout_us = 2; // 2us
|
||||
ret_timeout_us += get_reimbursation_time();
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
ret_timeout_us = 0; // 0us
|
||||
break;
|
||||
// do nothing
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret_timeout_us;
|
||||
}
|
||||
|
||||
int ObLogger::alloc_log_item(const int32_t level, const int32_t size, ObPLogItem*& log_item)
|
||||
{
|
||||
UNUSED(level);
|
||||
@ -2077,18 +2029,8 @@ int ObLogger::alloc_log_item(const int32_t level, const int32_t size, ObPLogItem
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_STDERR("uninit error, ret=%d, level=%d\n", ret, level);
|
||||
} else if (OB_UNLIKELY(nullptr == (buf = (char*)p_alloc->alloc(size)))) {
|
||||
int64_t wait_us = get_wait_us(level);
|
||||
const int64_t per_us = MIN(wait_us, 10);
|
||||
while (wait_us > 0) {
|
||||
if (nullptr != (buf = (char*)p_alloc->alloc(size))) {
|
||||
break;
|
||||
} else {
|
||||
usleep(per_us);
|
||||
wait_us -= per_us;
|
||||
}
|
||||
}
|
||||
if (nullptr == buf) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
if (TC_REACH_TIME_INTERVAL(1 * 1000L * 1000L)) { // every sec
|
||||
LOG_STDERR("alloc_log_item error, ret=%d level=%d\n", ret, level);
|
||||
}
|
||||
}
|
||||
|
3
deps/oblib/src/lib/oblog/ob_log.h
vendored
3
deps/oblib/src/lib/oblog/ob_log.h
vendored
@ -729,9 +729,6 @@ public:
|
||||
bool is_force_allows() const;
|
||||
void check_reset_force_allows();
|
||||
|
||||
int64_t get_reimbursation_time();
|
||||
int64_t get_wait_us(const int32_t level);
|
||||
|
||||
//@brief thread buffer for printing log
|
||||
LogBuffer* get_thread_buffer();
|
||||
|
||||
|
@ -65,7 +65,7 @@ void ob_signal_handler(int sig, siginfo_t* si, void*)
|
||||
void coredump_cb(int sig, siginfo_t* si)
|
||||
{
|
||||
send_request_and_wait(VERB_LEVEL_2, syscall(SYS_gettid) /*exclude_id*/);
|
||||
#define MINICORE 1
|
||||
#define MINICORE 0
|
||||
#if MINICORE
|
||||
int pid = 0;
|
||||
if ((pid = fork()) != 0) {
|
||||
@ -107,6 +107,7 @@ void coredump_cb(int sig, siginfo_t* si)
|
||||
#if MINICORE
|
||||
} else {
|
||||
// child
|
||||
prctl(PR_SET_NAME, "minicoredump");
|
||||
int64_t total_size = 0;
|
||||
if (lib::g_mem_cutter != nullptr) {
|
||||
lib::g_mem_cutter->cut(total_size);
|
||||
|
14
deps/oblib/src/lib/stat/ob_di_tls.h
vendored
14
deps/oblib/src/lib/stat/ob_di_tls.h
vendored
@ -43,12 +43,13 @@ private:
|
||||
|
||||
private:
|
||||
pthread_key_t key_;
|
||||
static __thread T* instance_;
|
||||
static __thread T *instance_;
|
||||
static __thread bool in_create_;
|
||||
};
|
||||
// NOTE: thread local diagnose information
|
||||
// TODO: check if multi-query execute within one thread.
|
||||
template <class T>
|
||||
__thread T* ObDITls<T>::instance_ = NULL;
|
||||
template <class T> __thread T *ObDITls<T>::instance_ = NULL;
|
||||
template <class T> __thread bool ObDITls<T>::in_create_ = false;
|
||||
|
||||
template <class T>
|
||||
void ObDITls<T>::destroy_thread_data_(void* ptr)
|
||||
@ -57,6 +58,7 @@ void ObDITls<T>::destroy_thread_data_(void* ptr)
|
||||
T* tls = (T*)ptr;
|
||||
delete tls;
|
||||
instance_ = NULL;
|
||||
in_create_ = false;
|
||||
}
|
||||
}
|
||||
|
||||
@ -104,7 +106,11 @@ template <class T>
|
||||
T* ObDITls<T>::get_instance()
|
||||
{
|
||||
if (OB_UNLIKELY(NULL == instance_)) {
|
||||
instance_ = get_di_tls().new_instance();
|
||||
if (OB_LIKELY(!in_create_)) {
|
||||
in_create_ = true;
|
||||
instance_ = get_di_tls().new_instance();
|
||||
in_create_ = false;
|
||||
}
|
||||
}
|
||||
return instance_;
|
||||
}
|
||||
|
@ -308,6 +308,7 @@ target_link_libraries(observer
|
||||
oceanbase_static
|
||||
-static-libgcc
|
||||
-static-libstdc++
|
||||
malloc_hook
|
||||
${LGPL_DEPS}
|
||||
)
|
||||
execute_process(
|
||||
|
@ -13,6 +13,7 @@
|
||||
#define USING_LOG_PREFIX SERVER
|
||||
|
||||
#include "election/ob_election_async_log.h"
|
||||
#include "lib/alloc/malloc_hook.h"
|
||||
#include "lib/alloc/ob_malloc_allocator.h"
|
||||
#include "lib/allocator/ob_malloc.h"
|
||||
#include "lib/file/file_directory_utils.h"
|
||||
@ -360,6 +361,7 @@ static void print_all_limits()
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
init_malloc_hook();
|
||||
int64_t memory_used = get_virtual_memory_used();
|
||||
/**
|
||||
signal handler stack
|
||||
|
@ -90,8 +90,6 @@ int ObDumpTaskGenerator::generate_task_from_file()
|
||||
char str[lib::AOBJECT_LABEL_SIZE + 1];
|
||||
snprintf(str, sizeof(str), "%.*s", (int32_t)node->children_[0]->str_len_, node->children_[0]->str_value_);
|
||||
reset_mem_leak_checker_label(str);
|
||||
} else if (SET_LEAK_RATE == node->value_) {
|
||||
reset_mem_leak_checker_rate(node->children_[0]->value_);
|
||||
} else if (MEMORY_LEAK == node->value_) {
|
||||
dump_memory_leak();
|
||||
} else {
|
||||
|
@ -36,10 +36,9 @@ class ObDumpTaskGenerator {
|
||||
CONTEXT = 1,
|
||||
CHUNK_ALL = 2,
|
||||
CHUNK_OF_TENANT_CTX = 3,
|
||||
CHUNK = 4,
|
||||
SET_LEAK_MOD = 5,
|
||||
SET_LEAK_RATE = 6,
|
||||
MEMORY_LEAK = 7,
|
||||
CHUNK = 4,
|
||||
SET_LEAK_MOD = 5,
|
||||
MEMORY_LEAK = 7,
|
||||
};
|
||||
|
||||
public:
|
||||
|
@ -269,7 +269,7 @@ bool ObConfigMemoryLimitChecker::check(const ObConfigItem& t) const
|
||||
bool is_valid = false;
|
||||
int64_t value = ObConfigCapacityParser::get(t.str(), is_valid);
|
||||
if (is_valid) {
|
||||
is_valid = value >= lib::ObRunningModeConfig::instance().MINI_MEM_LOWER;
|
||||
is_valid = 0 == value || value >= lib::ObRunningModeConfig::instance().MINI_MEM_LOWER;
|
||||
}
|
||||
return is_valid;
|
||||
}
|
||||
|
@ -2318,6 +2318,9 @@ int ObStaticEngineCG::generate_spec(ObLogUpdate& op, ObMultiPartUpdateSpec& spec
|
||||
const TableColumns& table_columns = all_table_columns->at(i);
|
||||
const ObTableAssignment& ta = tas->at(i);
|
||||
OZ(convert_global_index_update_info(op, table_columns, subplan_roots, table_dml_info));
|
||||
auto &dst_assign_cols = spec.table_dml_infos_.at(i).assign_columns_;
|
||||
OX(dst_assign_cols.old_row_.set_allocator(&phy_plan_->get_allocator()));
|
||||
OX(dst_assign_cols.new_row_.set_allocator(&phy_plan_->get_allocator()));
|
||||
OZ(spec.add_table_dml_info(i, table_dml_info));
|
||||
}
|
||||
if (OB_FAIL(ret)) {
|
||||
|
@ -256,7 +256,6 @@ static const NonReservedKeyword Mysql_none_reserved_keywords[] = {{"access", ACC
|
||||
{"leaves", LEAVES},
|
||||
{"leak", LEAK},
|
||||
{"leak_mod", LEAK_MOD},
|
||||
{"leak_rate", LEAK_RATE},
|
||||
{"less", LESS},
|
||||
{"level", LEVEL},
|
||||
{"linestring", LINESTRING},
|
||||
|
@ -232,7 +232,7 @@ END_P SET_VAR DELIMITER
|
||||
|
||||
KEY_BLOCK_SIZE KEY_VERSION KVCACHE
|
||||
|
||||
LAG LANGUAGE LAST LAST_VALUE LEAD LEADER LEAVES LESS LEAK LEAK_MOD LEAK_RATE LINESTRING LIST_
|
||||
LAG LANGUAGE LAST LAST_VALUE LEAD LEADER LEAVES LESS LEAK LEAK_MOD LINESTRING LIST_
|
||||
LISTAGG LOCAL LOCALITY LOCATION LOCKED LOCKS LOGFILE LOGONLY_REPLICA_NUM LOGS LOCK_ LOGICAL_READS
|
||||
LEVEL LN LOG
|
||||
|
||||
@ -10752,13 +10752,6 @@ SET OPTION LEAK_MOD COMP_EQ STRING_VALUE
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_DUMP_MEMORY, 1, $$);
|
||||
}
|
||||
|
|
||||
SET OPTION LEAK_RATE COMP_EQ INTNUM
|
||||
{
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_TEMPORARY, 1, $5);
|
||||
$$->value_ = 6;
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_DUMP_MEMORY, 1, $$);
|
||||
}
|
||||
|
|
||||
DUMP MEMORY LEAK
|
||||
{
|
||||
malloc_terminal_node($$, result->malloc_pool_, T_TEMPORARY);
|
||||
@ -12805,7 +12798,6 @@ ACCOUNT
|
||||
| LEADER
|
||||
| LEAK
|
||||
| LEAK_MOD
|
||||
| LEAK_RATE
|
||||
| LEAVES
|
||||
| LESS
|
||||
| LEVEL
|
||||
|
@ -77451,408 +77451,407 @@ void obsql_mysql_yyfree(void *ptr,void *yyscanner)
|
||||
LESS = 862,
|
||||
LEAK = 863,
|
||||
LEAK_MOD = 864,
|
||||
LEAK_RATE = 865,
|
||||
LINESTRING = 866,
|
||||
LIST_ = 867,
|
||||
LISTAGG = 868,
|
||||
LOCAL = 869,
|
||||
LOCALITY = 870,
|
||||
LOCATION = 871,
|
||||
LOCKED = 872,
|
||||
LOCKS = 873,
|
||||
LOGFILE = 874,
|
||||
LOGONLY_REPLICA_NUM = 875,
|
||||
LOGS = 876,
|
||||
LOCK_ = 877,
|
||||
LOGICAL_READS = 878,
|
||||
LEVEL = 879,
|
||||
LN = 880,
|
||||
LOG = 881,
|
||||
MAJOR = 882,
|
||||
MANUAL = 883,
|
||||
MASTER = 884,
|
||||
MASTER_AUTO_POSITION = 885,
|
||||
MASTER_CONNECT_RETRY = 886,
|
||||
MASTER_DELAY = 887,
|
||||
MASTER_HEARTBEAT_PERIOD = 888,
|
||||
MASTER_HOST = 889,
|
||||
MASTER_LOG_FILE = 890,
|
||||
MASTER_LOG_POS = 891,
|
||||
MASTER_PASSWORD = 892,
|
||||
MASTER_PORT = 893,
|
||||
MASTER_RETRY_COUNT = 894,
|
||||
MASTER_SERVER_ID = 895,
|
||||
MASTER_SSL = 896,
|
||||
MASTER_SSL_CA = 897,
|
||||
MASTER_SSL_CAPATH = 898,
|
||||
MASTER_SSL_CERT = 899,
|
||||
MASTER_SSL_CIPHER = 900,
|
||||
MASTER_SSL_CRL = 901,
|
||||
MASTER_SSL_CRLPATH = 902,
|
||||
MASTER_SSL_KEY = 903,
|
||||
MASTER_USER = 904,
|
||||
MAX = 905,
|
||||
MAX_CONNECTIONS_PER_HOUR = 906,
|
||||
MAX_CPU = 907,
|
||||
MAX_DISK_SIZE = 908,
|
||||
MAX_IOPS = 909,
|
||||
MAX_MEMORY = 910,
|
||||
MAX_QUERIES_PER_HOUR = 911,
|
||||
MAX_ROWS = 912,
|
||||
MAX_SESSION_NUM = 913,
|
||||
MAX_SIZE = 914,
|
||||
MAX_UPDATES_PER_HOUR = 915,
|
||||
MAX_USER_CONNECTIONS = 916,
|
||||
MEDIUM = 917,
|
||||
MEMORY = 918,
|
||||
MEMTABLE = 919,
|
||||
MESSAGE_TEXT = 920,
|
||||
META = 921,
|
||||
MICROSECOND = 922,
|
||||
MIGRATE = 923,
|
||||
MIN = 924,
|
||||
MIN_CPU = 925,
|
||||
MIN_IOPS = 926,
|
||||
MIN_MEMORY = 927,
|
||||
MINOR = 928,
|
||||
MIN_ROWS = 929,
|
||||
MINUTE = 930,
|
||||
MODE = 931,
|
||||
MODIFY = 932,
|
||||
MONTH = 933,
|
||||
MOVE = 934,
|
||||
MULTILINESTRING = 935,
|
||||
MULTIPOINT = 936,
|
||||
MULTIPOLYGON = 937,
|
||||
MUTEX = 938,
|
||||
MYSQL_ERRNO = 939,
|
||||
MIGRATION = 940,
|
||||
MAX_USED_PART_ID = 941,
|
||||
MAXIMIZE = 942,
|
||||
MATERIALIZED = 943,
|
||||
MEMSTORE_PERCENT = 944,
|
||||
NAME = 945,
|
||||
NAMES = 946,
|
||||
NATIONAL = 947,
|
||||
NCHAR = 948,
|
||||
NDB = 949,
|
||||
NDBCLUSTER = 950,
|
||||
NEW = 951,
|
||||
NEXT = 952,
|
||||
NO = 953,
|
||||
NOAUDIT = 954,
|
||||
NODEGROUP = 955,
|
||||
NONE = 956,
|
||||
NORMAL = 957,
|
||||
NOW = 958,
|
||||
NOWAIT = 959,
|
||||
NO_WAIT = 960,
|
||||
NULLS = 961,
|
||||
NUMBER = 962,
|
||||
NVARCHAR = 963,
|
||||
NTILE = 964,
|
||||
NTH_VALUE = 965,
|
||||
NOARCHIVELOG = 966,
|
||||
NETWORK = 967,
|
||||
NOPARALLEL = 968,
|
||||
OBSOLETE = 969,
|
||||
OCCUR = 970,
|
||||
OF = 971,
|
||||
OFF = 972,
|
||||
OFFSET = 973,
|
||||
OLD_PASSWORD = 974,
|
||||
ONE = 975,
|
||||
ONE_SHOT = 976,
|
||||
ONLY = 977,
|
||||
OPEN = 978,
|
||||
OPTIONS = 979,
|
||||
ORIG_DEFAULT = 980,
|
||||
OWNER = 981,
|
||||
OLD_KEY = 982,
|
||||
PACK_KEYS = 983,
|
||||
PAGE = 984,
|
||||
PARALLEL = 985,
|
||||
PARAMETERS = 986,
|
||||
PARSER = 987,
|
||||
PARTIAL = 988,
|
||||
PARTITION_ID = 989,
|
||||
PARTITIONING = 990,
|
||||
PARTITIONS = 991,
|
||||
PASSWORD = 992,
|
||||
PAUSE = 993,
|
||||
PERCENT_RANK = 994,
|
||||
PHASE = 995,
|
||||
PLAN = 996,
|
||||
PHYSICAL = 997,
|
||||
PLANREGRESS = 998,
|
||||
PLUGIN = 999,
|
||||
PLUGIN_DIR = 1000,
|
||||
PLUGINS = 1001,
|
||||
POINT = 1002,
|
||||
POLYGON = 1003,
|
||||
PERFORMANCE = 1004,
|
||||
PROTECTION = 1005,
|
||||
PRIORITY = 1006,
|
||||
PL = 1007,
|
||||
POOL = 1008,
|
||||
PORT = 1009,
|
||||
POSITION = 1010,
|
||||
PREPARE = 1011,
|
||||
PRESERVE = 1012,
|
||||
PREV = 1013,
|
||||
PRIMARY_ZONE = 1014,
|
||||
PRIVILEGES = 1015,
|
||||
PROCESS = 1016,
|
||||
PROCESSLIST = 1017,
|
||||
PROFILE = 1018,
|
||||
PROFILES = 1019,
|
||||
PROXY = 1020,
|
||||
PRECEDING = 1021,
|
||||
PCTFREE = 1022,
|
||||
P_ENTITY = 1023,
|
||||
P_CHUNK = 1024,
|
||||
PRIMARY_ROOTSERVICE_LIST = 1025,
|
||||
PRIMARY_CLUSTER_ID = 1026,
|
||||
PUBLIC = 1027,
|
||||
PROGRESSIVE_MERGE_NUM = 1028,
|
||||
PS = 1029,
|
||||
QUARTER = 1030,
|
||||
QUEUE_TIME = 1031,
|
||||
QUICK = 1032,
|
||||
REBUILD = 1033,
|
||||
RECOVER = 1034,
|
||||
RECYCLE = 1035,
|
||||
REDO_BUFFER_SIZE = 1036,
|
||||
REDOFILE = 1037,
|
||||
REDUNDANT = 1038,
|
||||
REFRESH = 1039,
|
||||
REGION = 1040,
|
||||
RELAY = 1041,
|
||||
RELAYLOG = 1042,
|
||||
RELAY_LOG_FILE = 1043,
|
||||
RELAY_LOG_POS = 1044,
|
||||
RELAY_THREAD = 1045,
|
||||
RELOAD = 1046,
|
||||
REMOVE = 1047,
|
||||
REORGANIZE = 1048,
|
||||
REPAIR = 1049,
|
||||
REPEATABLE = 1050,
|
||||
REPLICA = 1051,
|
||||
REPLICA_NUM = 1052,
|
||||
REPLICA_TYPE = 1053,
|
||||
REPLICATION = 1054,
|
||||
REPORT = 1055,
|
||||
RESET = 1056,
|
||||
RESOURCE = 1057,
|
||||
RESOURCE_POOL_LIST = 1058,
|
||||
RESPECT = 1059,
|
||||
RESTART = 1060,
|
||||
RESTORE = 1061,
|
||||
RESUME = 1062,
|
||||
RETURNED_SQLSTATE = 1063,
|
||||
RETURNS = 1064,
|
||||
REVERSE = 1065,
|
||||
REWRITE_MERGE_VERSION = 1066,
|
||||
ROLLBACK = 1067,
|
||||
ROLLUP = 1068,
|
||||
ROOT = 1069,
|
||||
ROOTTABLE = 1070,
|
||||
ROOTSERVICE = 1071,
|
||||
ROOTSERVICE_LIST = 1072,
|
||||
ROUTINE = 1073,
|
||||
ROW = 1074,
|
||||
ROLLING = 1075,
|
||||
ROW_COUNT = 1076,
|
||||
ROW_FORMAT = 1077,
|
||||
ROWS = 1078,
|
||||
RTREE = 1079,
|
||||
RUN = 1080,
|
||||
RECYCLEBIN = 1081,
|
||||
ROTATE = 1082,
|
||||
ROW_NUMBER = 1083,
|
||||
RUDUNDANT = 1084,
|
||||
RECURSIVE = 1085,
|
||||
RANDOM = 1086,
|
||||
REDO_TRANSPORT_OPTIONS = 1087,
|
||||
REMOTE_OSS = 1088,
|
||||
RT = 1089,
|
||||
RANK = 1090,
|
||||
READ_ONLY = 1091,
|
||||
RECOVERY = 1092,
|
||||
SAMPLE = 1093,
|
||||
SAVEPOINT = 1094,
|
||||
SCHEDULE = 1095,
|
||||
SCHEMA_NAME = 1096,
|
||||
SCOPE = 1097,
|
||||
SECOND = 1098,
|
||||
SECURITY = 1099,
|
||||
SEED = 1100,
|
||||
SERIAL = 1101,
|
||||
SERIALIZABLE = 1102,
|
||||
SERVER = 1103,
|
||||
SERVER_IP = 1104,
|
||||
SERVER_PORT = 1105,
|
||||
SERVER_TYPE = 1106,
|
||||
SESSION = 1107,
|
||||
SESSION_USER = 1108,
|
||||
SET_MASTER_CLUSTER = 1109,
|
||||
SET_SLAVE_CLUSTER = 1110,
|
||||
SET_TP = 1111,
|
||||
SHARE = 1112,
|
||||
SHUTDOWN = 1113,
|
||||
SIGNED = 1114,
|
||||
SIMPLE = 1115,
|
||||
SLAVE = 1116,
|
||||
SLOW = 1117,
|
||||
SLOT_IDX = 1118,
|
||||
SNAPSHOT = 1119,
|
||||
SOCKET = 1120,
|
||||
SOME = 1121,
|
||||
SONAME = 1122,
|
||||
SOUNDS = 1123,
|
||||
SOURCE = 1124,
|
||||
SPFILE = 1125,
|
||||
SPLIT = 1126,
|
||||
SQL_AFTER_GTIDS = 1127,
|
||||
SQL_AFTER_MTS_GAPS = 1128,
|
||||
SQL_BEFORE_GTIDS = 1129,
|
||||
SQL_BUFFER_RESULT = 1130,
|
||||
SQL_CACHE = 1131,
|
||||
SQL_NO_CACHE = 1132,
|
||||
SQL_ID = 1133,
|
||||
SQL_THREAD = 1134,
|
||||
SQL_TSI_DAY = 1135,
|
||||
SQL_TSI_HOUR = 1136,
|
||||
SQL_TSI_MINUTE = 1137,
|
||||
SQL_TSI_MONTH = 1138,
|
||||
SQL_TSI_QUARTER = 1139,
|
||||
SQL_TSI_SECOND = 1140,
|
||||
SQL_TSI_WEEK = 1141,
|
||||
SQL_TSI_YEAR = 1142,
|
||||
STANDBY = 1143,
|
||||
STAT = 1144,
|
||||
START = 1145,
|
||||
STARTS = 1146,
|
||||
STATS_AUTO_RECALC = 1147,
|
||||
STATS_PERSISTENT = 1148,
|
||||
STATS_SAMPLE_PAGES = 1149,
|
||||
STATUS = 1150,
|
||||
STATEMENTS = 1151,
|
||||
STD = 1152,
|
||||
STDDEV = 1153,
|
||||
STDDEV_POP = 1154,
|
||||
STDDEV_SAMP = 1155,
|
||||
STRONG = 1156,
|
||||
SYNCHRONIZATION = 1157,
|
||||
STOP = 1158,
|
||||
STORAGE = 1159,
|
||||
STORAGE_FORMAT_VERSION = 1160,
|
||||
STORAGE_FORMAT_WORK_VERSION = 1161,
|
||||
STORING = 1162,
|
||||
STRING = 1163,
|
||||
SUBCLASS_ORIGIN = 1164,
|
||||
SUBDATE = 1165,
|
||||
SUBJECT = 1166,
|
||||
SUBPARTITION = 1167,
|
||||
SUBPARTITIONS = 1168,
|
||||
SUBSTR = 1169,
|
||||
SUBSTRING = 1170,
|
||||
SUCCESSFUL = 1171,
|
||||
SUM = 1172,
|
||||
SUPER = 1173,
|
||||
SUSPEND = 1174,
|
||||
SWAPS = 1175,
|
||||
SWITCH = 1176,
|
||||
SWITCHES = 1177,
|
||||
SWITCHOVER = 1178,
|
||||
SYSTEM = 1179,
|
||||
SYSTEM_USER = 1180,
|
||||
SYSDATE = 1181,
|
||||
SESSION_ALIAS = 1182,
|
||||
SYNONYM = 1183,
|
||||
SIZE = 1184,
|
||||
TABLE_CHECKSUM = 1185,
|
||||
TABLE_MODE = 1186,
|
||||
TABLE_ID = 1187,
|
||||
TABLE_NAME = 1188,
|
||||
TABLEGROUPS = 1189,
|
||||
TABLES = 1190,
|
||||
TABLESPACE = 1191,
|
||||
TABLET = 1192,
|
||||
TABLET_MAX_SIZE = 1193,
|
||||
TEMPLATE = 1194,
|
||||
TEMPORARY = 1195,
|
||||
TEMPTABLE = 1196,
|
||||
TENANT = 1197,
|
||||
TEXT = 1198,
|
||||
THAN = 1199,
|
||||
TIME = 1200,
|
||||
TIMESTAMP = 1201,
|
||||
TIMESTAMPADD = 1202,
|
||||
TIMESTAMPDIFF = 1203,
|
||||
TP_NO = 1204,
|
||||
TP_NAME = 1205,
|
||||
TRACE = 1206,
|
||||
TRADITIONAL = 1207,
|
||||
TRIGGERS = 1208,
|
||||
TRIM = 1209,
|
||||
TRUNCATE = 1210,
|
||||
TYPE = 1211,
|
||||
TYPES = 1212,
|
||||
TASK = 1213,
|
||||
TABLET_SIZE = 1214,
|
||||
TABLEGROUP_ID = 1215,
|
||||
TENANT_ID = 1216,
|
||||
THROTTLE = 1217,
|
||||
TIME_ZONE_INFO = 1218,
|
||||
UNCOMMITTED = 1219,
|
||||
UNDEFINED = 1220,
|
||||
UNDO_BUFFER_SIZE = 1221,
|
||||
UNDOFILE = 1222,
|
||||
UNICODE = 1223,
|
||||
UNINSTALL = 1224,
|
||||
UNIT = 1225,
|
||||
UNIT_NUM = 1226,
|
||||
UNLOCKED = 1227,
|
||||
UNTIL = 1228,
|
||||
UNUSUAL = 1229,
|
||||
UPGRADE = 1230,
|
||||
USE_BLOOM_FILTER = 1231,
|
||||
UNKNOWN = 1232,
|
||||
USE_FRM = 1233,
|
||||
USER = 1234,
|
||||
USER_RESOURCES = 1235,
|
||||
UNBOUNDED = 1236,
|
||||
VALID = 1237,
|
||||
VALUE = 1238,
|
||||
VARIANCE = 1239,
|
||||
VARIABLES = 1240,
|
||||
VERBOSE = 1241,
|
||||
VERIFY = 1242,
|
||||
VIEW = 1243,
|
||||
VISIBLE = 1244,
|
||||
VIRTUAL_COLUMN_ID = 1245,
|
||||
VALIDATE = 1246,
|
||||
VAR_POP = 1247,
|
||||
VAR_SAMP = 1248,
|
||||
WAIT = 1249,
|
||||
WARNINGS = 1250,
|
||||
WEEK = 1251,
|
||||
WEIGHT_STRING = 1252,
|
||||
WHENEVER = 1253,
|
||||
WITH_ROWID = 1254,
|
||||
WORK = 1255,
|
||||
WRAPPER = 1256,
|
||||
WEAK = 1257,
|
||||
X509 = 1258,
|
||||
XA = 1259,
|
||||
XML = 1260,
|
||||
YEAR = 1261,
|
||||
ZONE = 1262,
|
||||
ZONE_LIST = 1263,
|
||||
ZONE_TYPE = 1264,
|
||||
COMP_NSEQ = 1265,
|
||||
COMMA = 1266
|
||||
LINESTRING = 865,
|
||||
LIST_ = 866,
|
||||
LISTAGG = 867,
|
||||
LOCAL = 868,
|
||||
LOCALITY = 869,
|
||||
LOCATION = 870,
|
||||
LOCKED = 871,
|
||||
LOCKS = 872,
|
||||
LOGFILE = 873,
|
||||
LOGONLY_REPLICA_NUM = 874,
|
||||
LOGS = 875,
|
||||
LOCK_ = 876,
|
||||
LOGICAL_READS = 877,
|
||||
LEVEL = 878,
|
||||
LN = 879,
|
||||
LOG = 880,
|
||||
MAJOR = 881,
|
||||
MANUAL = 882,
|
||||
MASTER = 883,
|
||||
MASTER_AUTO_POSITION = 884,
|
||||
MASTER_CONNECT_RETRY = 885,
|
||||
MASTER_DELAY = 886,
|
||||
MASTER_HEARTBEAT_PERIOD = 887,
|
||||
MASTER_HOST = 888,
|
||||
MASTER_LOG_FILE = 889,
|
||||
MASTER_LOG_POS = 890,
|
||||
MASTER_PASSWORD = 891,
|
||||
MASTER_PORT = 892,
|
||||
MASTER_RETRY_COUNT = 893,
|
||||
MASTER_SERVER_ID = 894,
|
||||
MASTER_SSL = 895,
|
||||
MASTER_SSL_CA = 896,
|
||||
MASTER_SSL_CAPATH = 897,
|
||||
MASTER_SSL_CERT = 898,
|
||||
MASTER_SSL_CIPHER = 899,
|
||||
MASTER_SSL_CRL = 900,
|
||||
MASTER_SSL_CRLPATH = 901,
|
||||
MASTER_SSL_KEY = 902,
|
||||
MASTER_USER = 903,
|
||||
MAX = 904,
|
||||
MAX_CONNECTIONS_PER_HOUR = 905,
|
||||
MAX_CPU = 906,
|
||||
MAX_DISK_SIZE = 907,
|
||||
MAX_IOPS = 908,
|
||||
MAX_MEMORY = 909,
|
||||
MAX_QUERIES_PER_HOUR = 910,
|
||||
MAX_ROWS = 911,
|
||||
MAX_SESSION_NUM = 912,
|
||||
MAX_SIZE = 913,
|
||||
MAX_UPDATES_PER_HOUR = 914,
|
||||
MAX_USER_CONNECTIONS = 915,
|
||||
MEDIUM = 916,
|
||||
MEMORY = 917,
|
||||
MEMTABLE = 918,
|
||||
MESSAGE_TEXT = 919,
|
||||
META = 920,
|
||||
MICROSECOND = 921,
|
||||
MIGRATE = 922,
|
||||
MIN = 923,
|
||||
MIN_CPU = 924,
|
||||
MIN_IOPS = 925,
|
||||
MIN_MEMORY = 926,
|
||||
MINOR = 927,
|
||||
MIN_ROWS = 928,
|
||||
MINUTE = 929,
|
||||
MODE = 930,
|
||||
MODIFY = 931,
|
||||
MONTH = 932,
|
||||
MOVE = 933,
|
||||
MULTILINESTRING = 934,
|
||||
MULTIPOINT = 935,
|
||||
MULTIPOLYGON = 936,
|
||||
MUTEX = 937,
|
||||
MYSQL_ERRNO = 938,
|
||||
MIGRATION = 939,
|
||||
MAX_USED_PART_ID = 940,
|
||||
MAXIMIZE = 941,
|
||||
MATERIALIZED = 942,
|
||||
MEMSTORE_PERCENT = 943,
|
||||
NAME = 944,
|
||||
NAMES = 945,
|
||||
NATIONAL = 946,
|
||||
NCHAR = 947,
|
||||
NDB = 948,
|
||||
NDBCLUSTER = 949,
|
||||
NEW = 950,
|
||||
NEXT = 951,
|
||||
NO = 952,
|
||||
NOAUDIT = 953,
|
||||
NODEGROUP = 954,
|
||||
NONE = 955,
|
||||
NORMAL = 956,
|
||||
NOW = 957,
|
||||
NOWAIT = 958,
|
||||
NO_WAIT = 959,
|
||||
NULLS = 960,
|
||||
NUMBER = 961,
|
||||
NVARCHAR = 962,
|
||||
NTILE = 963,
|
||||
NTH_VALUE = 964,
|
||||
NOARCHIVELOG = 965,
|
||||
NETWORK = 966,
|
||||
NOPARALLEL = 967,
|
||||
OBSOLETE = 968,
|
||||
OCCUR = 969,
|
||||
OF = 970,
|
||||
OFF = 971,
|
||||
OFFSET = 972,
|
||||
OLD_PASSWORD = 973,
|
||||
ONE = 974,
|
||||
ONE_SHOT = 975,
|
||||
ONLY = 976,
|
||||
OPEN = 977,
|
||||
OPTIONS = 978,
|
||||
ORIG_DEFAULT = 979,
|
||||
OWNER = 980,
|
||||
OLD_KEY = 981,
|
||||
PACK_KEYS = 982,
|
||||
PAGE = 983,
|
||||
PARALLEL = 984,
|
||||
PARAMETERS = 985,
|
||||
PARSER = 986,
|
||||
PARTIAL = 987,
|
||||
PARTITION_ID = 988,
|
||||
PARTITIONING = 989,
|
||||
PARTITIONS = 990,
|
||||
PASSWORD = 991,
|
||||
PAUSE = 992,
|
||||
PERCENT_RANK = 993,
|
||||
PHASE = 994,
|
||||
PLAN = 995,
|
||||
PHYSICAL = 996,
|
||||
PLANREGRESS = 997,
|
||||
PLUGIN = 998,
|
||||
PLUGIN_DIR = 999,
|
||||
PLUGINS = 1000,
|
||||
POINT = 1001,
|
||||
POLYGON = 1002,
|
||||
PERFORMANCE = 1003,
|
||||
PROTECTION = 1004,
|
||||
PRIORITY = 1005,
|
||||
PL = 1006,
|
||||
POOL = 1007,
|
||||
PORT = 1008,
|
||||
POSITION = 1009,
|
||||
PREPARE = 1010,
|
||||
PRESERVE = 1011,
|
||||
PREV = 1012,
|
||||
PRIMARY_ZONE = 1013,
|
||||
PRIVILEGES = 1014,
|
||||
PROCESS = 1015,
|
||||
PROCESSLIST = 1016,
|
||||
PROFILE = 1017,
|
||||
PROFILES = 1018,
|
||||
PROXY = 1019,
|
||||
PRECEDING = 1020,
|
||||
PCTFREE = 1021,
|
||||
P_ENTITY = 1022,
|
||||
P_CHUNK = 1023,
|
||||
PRIMARY_ROOTSERVICE_LIST = 1024,
|
||||
PRIMARY_CLUSTER_ID = 1025,
|
||||
PUBLIC = 1026,
|
||||
PROGRESSIVE_MERGE_NUM = 1027,
|
||||
PS = 1028,
|
||||
QUARTER = 1029,
|
||||
QUEUE_TIME = 1030,
|
||||
QUICK = 1031,
|
||||
REBUILD = 1032,
|
||||
RECOVER = 1033,
|
||||
RECYCLE = 1034,
|
||||
REDO_BUFFER_SIZE = 1035,
|
||||
REDOFILE = 1036,
|
||||
REDUNDANT = 1037,
|
||||
REFRESH = 1038,
|
||||
REGION = 1039,
|
||||
RELAY = 1040,
|
||||
RELAYLOG = 1041,
|
||||
RELAY_LOG_FILE = 1042,
|
||||
RELAY_LOG_POS = 1043,
|
||||
RELAY_THREAD = 1044,
|
||||
RELOAD = 1045,
|
||||
REMOVE = 1046,
|
||||
REORGANIZE = 1047,
|
||||
REPAIR = 1048,
|
||||
REPEATABLE = 1049,
|
||||
REPLICA = 1050,
|
||||
REPLICA_NUM = 1051,
|
||||
REPLICA_TYPE = 1052,
|
||||
REPLICATION = 1053,
|
||||
REPORT = 1054,
|
||||
RESET = 1055,
|
||||
RESOURCE = 1056,
|
||||
RESOURCE_POOL_LIST = 1057,
|
||||
RESPECT = 1058,
|
||||
RESTART = 1059,
|
||||
RESTORE = 1060,
|
||||
RESUME = 1061,
|
||||
RETURNED_SQLSTATE = 1062,
|
||||
RETURNS = 1063,
|
||||
REVERSE = 1064,
|
||||
REWRITE_MERGE_VERSION = 1065,
|
||||
ROLLBACK = 1066,
|
||||
ROLLUP = 1067,
|
||||
ROOT = 1068,
|
||||
ROOTTABLE = 1069,
|
||||
ROOTSERVICE = 1070,
|
||||
ROOTSERVICE_LIST = 1071,
|
||||
ROUTINE = 1072,
|
||||
ROW = 1073,
|
||||
ROLLING = 1074,
|
||||
ROW_COUNT = 1075,
|
||||
ROW_FORMAT = 1076,
|
||||
ROWS = 1077,
|
||||
RTREE = 1078,
|
||||
RUN = 1079,
|
||||
RECYCLEBIN = 1080,
|
||||
ROTATE = 1081,
|
||||
ROW_NUMBER = 1082,
|
||||
RUDUNDANT = 1083,
|
||||
RECURSIVE = 1084,
|
||||
RANDOM = 1085,
|
||||
REDO_TRANSPORT_OPTIONS = 1086,
|
||||
REMOTE_OSS = 1087,
|
||||
RT = 1088,
|
||||
RANK = 1089,
|
||||
READ_ONLY = 1090,
|
||||
RECOVERY = 1091,
|
||||
SAMPLE = 1092,
|
||||
SAVEPOINT = 1093,
|
||||
SCHEDULE = 1094,
|
||||
SCHEMA_NAME = 1095,
|
||||
SCOPE = 1096,
|
||||
SECOND = 1097,
|
||||
SECURITY = 1098,
|
||||
SEED = 1099,
|
||||
SERIAL = 1100,
|
||||
SERIALIZABLE = 1101,
|
||||
SERVER = 1102,
|
||||
SERVER_IP = 1103,
|
||||
SERVER_PORT = 1104,
|
||||
SERVER_TYPE = 1105,
|
||||
SESSION = 1106,
|
||||
SESSION_USER = 1107,
|
||||
SET_MASTER_CLUSTER = 1108,
|
||||
SET_SLAVE_CLUSTER = 1109,
|
||||
SET_TP = 1110,
|
||||
SHARE = 1111,
|
||||
SHUTDOWN = 1112,
|
||||
SIGNED = 1113,
|
||||
SIMPLE = 1114,
|
||||
SLAVE = 1115,
|
||||
SLOW = 1116,
|
||||
SLOT_IDX = 1117,
|
||||
SNAPSHOT = 1118,
|
||||
SOCKET = 1119,
|
||||
SOME = 1120,
|
||||
SONAME = 1121,
|
||||
SOUNDS = 1122,
|
||||
SOURCE = 1123,
|
||||
SPFILE = 1124,
|
||||
SPLIT = 1125,
|
||||
SQL_AFTER_GTIDS = 1126,
|
||||
SQL_AFTER_MTS_GAPS = 1127,
|
||||
SQL_BEFORE_GTIDS = 1128,
|
||||
SQL_BUFFER_RESULT = 1129,
|
||||
SQL_CACHE = 1130,
|
||||
SQL_NO_CACHE = 1131,
|
||||
SQL_ID = 1132,
|
||||
SQL_THREAD = 1133,
|
||||
SQL_TSI_DAY = 1134,
|
||||
SQL_TSI_HOUR = 1135,
|
||||
SQL_TSI_MINUTE = 1136,
|
||||
SQL_TSI_MONTH = 1137,
|
||||
SQL_TSI_QUARTER = 1138,
|
||||
SQL_TSI_SECOND = 1139,
|
||||
SQL_TSI_WEEK = 1140,
|
||||
SQL_TSI_YEAR = 1141,
|
||||
STANDBY = 1142,
|
||||
STAT = 1143,
|
||||
START = 1144,
|
||||
STARTS = 1145,
|
||||
STATS_AUTO_RECALC = 1146,
|
||||
STATS_PERSISTENT = 1147,
|
||||
STATS_SAMPLE_PAGES = 1148,
|
||||
STATUS = 1149,
|
||||
STATEMENTS = 1150,
|
||||
STD = 1151,
|
||||
STDDEV = 1152,
|
||||
STDDEV_POP = 1153,
|
||||
STDDEV_SAMP = 1154,
|
||||
STRONG = 1155,
|
||||
SYNCHRONIZATION = 1156,
|
||||
STOP = 1157,
|
||||
STORAGE = 1158,
|
||||
STORAGE_FORMAT_VERSION = 1159,
|
||||
STORAGE_FORMAT_WORK_VERSION = 1160,
|
||||
STORING = 1161,
|
||||
STRING = 1162,
|
||||
SUBCLASS_ORIGIN = 1163,
|
||||
SUBDATE = 1164,
|
||||
SUBJECT = 1165,
|
||||
SUBPARTITION = 1166,
|
||||
SUBPARTITIONS = 1167,
|
||||
SUBSTR = 1168,
|
||||
SUBSTRING = 1169,
|
||||
SUCCESSFUL = 1170,
|
||||
SUM = 1171,
|
||||
SUPER = 1172,
|
||||
SUSPEND = 1173,
|
||||
SWAPS = 1174,
|
||||
SWITCH = 1175,
|
||||
SWITCHES = 1176,
|
||||
SWITCHOVER = 1177,
|
||||
SYSTEM = 1178,
|
||||
SYSTEM_USER = 1179,
|
||||
SYSDATE = 1180,
|
||||
SESSION_ALIAS = 1181,
|
||||
SYNONYM = 1182,
|
||||
SIZE = 1183,
|
||||
TABLE_CHECKSUM = 1184,
|
||||
TABLE_MODE = 1185,
|
||||
TABLE_ID = 1186,
|
||||
TABLE_NAME = 1187,
|
||||
TABLEGROUPS = 1188,
|
||||
TABLES = 1189,
|
||||
TABLESPACE = 1190,
|
||||
TABLET = 1191,
|
||||
TABLET_MAX_SIZE = 1192,
|
||||
TEMPLATE = 1193,
|
||||
TEMPORARY = 1194,
|
||||
TEMPTABLE = 1195,
|
||||
TENANT = 1196,
|
||||
TEXT = 1197,
|
||||
THAN = 1198,
|
||||
TIME = 1199,
|
||||
TIMESTAMP = 1200,
|
||||
TIMESTAMPADD = 1201,
|
||||
TIMESTAMPDIFF = 1202,
|
||||
TP_NO = 1203,
|
||||
TP_NAME = 1204,
|
||||
TRACE = 1205,
|
||||
TRADITIONAL = 1206,
|
||||
TRIGGERS = 1207,
|
||||
TRIM = 1208,
|
||||
TRUNCATE = 1209,
|
||||
TYPE = 1210,
|
||||
TYPES = 1211,
|
||||
TASK = 1212,
|
||||
TABLET_SIZE = 1213,
|
||||
TABLEGROUP_ID = 1214,
|
||||
TENANT_ID = 1215,
|
||||
THROTTLE = 1216,
|
||||
TIME_ZONE_INFO = 1217,
|
||||
UNCOMMITTED = 1218,
|
||||
UNDEFINED = 1219,
|
||||
UNDO_BUFFER_SIZE = 1220,
|
||||
UNDOFILE = 1221,
|
||||
UNICODE = 1222,
|
||||
UNINSTALL = 1223,
|
||||
UNIT = 1224,
|
||||
UNIT_NUM = 1225,
|
||||
UNLOCKED = 1226,
|
||||
UNTIL = 1227,
|
||||
UNUSUAL = 1228,
|
||||
UPGRADE = 1229,
|
||||
USE_BLOOM_FILTER = 1230,
|
||||
UNKNOWN = 1231,
|
||||
USE_FRM = 1232,
|
||||
USER = 1233,
|
||||
USER_RESOURCES = 1234,
|
||||
UNBOUNDED = 1235,
|
||||
VALID = 1236,
|
||||
VALUE = 1237,
|
||||
VARIANCE = 1238,
|
||||
VARIABLES = 1239,
|
||||
VERBOSE = 1240,
|
||||
VERIFY = 1241,
|
||||
VIEW = 1242,
|
||||
VISIBLE = 1243,
|
||||
VIRTUAL_COLUMN_ID = 1244,
|
||||
VALIDATE = 1245,
|
||||
VAR_POP = 1246,
|
||||
VAR_SAMP = 1247,
|
||||
WAIT = 1248,
|
||||
WARNINGS = 1249,
|
||||
WEEK = 1250,
|
||||
WEIGHT_STRING = 1251,
|
||||
WHENEVER = 1252,
|
||||
WITH_ROWID = 1253,
|
||||
WORK = 1254,
|
||||
WRAPPER = 1255,
|
||||
WEAK = 1256,
|
||||
X509 = 1257,
|
||||
XA = 1258,
|
||||
XML = 1259,
|
||||
YEAR = 1260,
|
||||
ZONE = 1261,
|
||||
ZONE_LIST = 1262,
|
||||
ZONE_TYPE = 1263,
|
||||
COMP_NSEQ = 1264,
|
||||
COMMA = 1265
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -77875,7 +77874,7 @@ typedef union YYSTYPE
|
||||
|
||||
|
||||
/* Line 1676 of yacc.c */
|
||||
#line 1074 "../../../src/sql/parser/sql_parser_mysql_mode_tab.h"
|
||||
#line 1073 "../../../src/sql/parser/sql_parser_mysql_mode_tab.h"
|
||||
} YYSTYPE;
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -646,408 +646,407 @@
|
||||
LESS = 862,
|
||||
LEAK = 863,
|
||||
LEAK_MOD = 864,
|
||||
LEAK_RATE = 865,
|
||||
LINESTRING = 866,
|
||||
LIST_ = 867,
|
||||
LISTAGG = 868,
|
||||
LOCAL = 869,
|
||||
LOCALITY = 870,
|
||||
LOCATION = 871,
|
||||
LOCKED = 872,
|
||||
LOCKS = 873,
|
||||
LOGFILE = 874,
|
||||
LOGONLY_REPLICA_NUM = 875,
|
||||
LOGS = 876,
|
||||
LOCK_ = 877,
|
||||
LOGICAL_READS = 878,
|
||||
LEVEL = 879,
|
||||
LN = 880,
|
||||
LOG = 881,
|
||||
MAJOR = 882,
|
||||
MANUAL = 883,
|
||||
MASTER = 884,
|
||||
MASTER_AUTO_POSITION = 885,
|
||||
MASTER_CONNECT_RETRY = 886,
|
||||
MASTER_DELAY = 887,
|
||||
MASTER_HEARTBEAT_PERIOD = 888,
|
||||
MASTER_HOST = 889,
|
||||
MASTER_LOG_FILE = 890,
|
||||
MASTER_LOG_POS = 891,
|
||||
MASTER_PASSWORD = 892,
|
||||
MASTER_PORT = 893,
|
||||
MASTER_RETRY_COUNT = 894,
|
||||
MASTER_SERVER_ID = 895,
|
||||
MASTER_SSL = 896,
|
||||
MASTER_SSL_CA = 897,
|
||||
MASTER_SSL_CAPATH = 898,
|
||||
MASTER_SSL_CERT = 899,
|
||||
MASTER_SSL_CIPHER = 900,
|
||||
MASTER_SSL_CRL = 901,
|
||||
MASTER_SSL_CRLPATH = 902,
|
||||
MASTER_SSL_KEY = 903,
|
||||
MASTER_USER = 904,
|
||||
MAX = 905,
|
||||
MAX_CONNECTIONS_PER_HOUR = 906,
|
||||
MAX_CPU = 907,
|
||||
MAX_DISK_SIZE = 908,
|
||||
MAX_IOPS = 909,
|
||||
MAX_MEMORY = 910,
|
||||
MAX_QUERIES_PER_HOUR = 911,
|
||||
MAX_ROWS = 912,
|
||||
MAX_SESSION_NUM = 913,
|
||||
MAX_SIZE = 914,
|
||||
MAX_UPDATES_PER_HOUR = 915,
|
||||
MAX_USER_CONNECTIONS = 916,
|
||||
MEDIUM = 917,
|
||||
MEMORY = 918,
|
||||
MEMTABLE = 919,
|
||||
MESSAGE_TEXT = 920,
|
||||
META = 921,
|
||||
MICROSECOND = 922,
|
||||
MIGRATE = 923,
|
||||
MIN = 924,
|
||||
MIN_CPU = 925,
|
||||
MIN_IOPS = 926,
|
||||
MIN_MEMORY = 927,
|
||||
MINOR = 928,
|
||||
MIN_ROWS = 929,
|
||||
MINUTE = 930,
|
||||
MODE = 931,
|
||||
MODIFY = 932,
|
||||
MONTH = 933,
|
||||
MOVE = 934,
|
||||
MULTILINESTRING = 935,
|
||||
MULTIPOINT = 936,
|
||||
MULTIPOLYGON = 937,
|
||||
MUTEX = 938,
|
||||
MYSQL_ERRNO = 939,
|
||||
MIGRATION = 940,
|
||||
MAX_USED_PART_ID = 941,
|
||||
MAXIMIZE = 942,
|
||||
MATERIALIZED = 943,
|
||||
MEMSTORE_PERCENT = 944,
|
||||
NAME = 945,
|
||||
NAMES = 946,
|
||||
NATIONAL = 947,
|
||||
NCHAR = 948,
|
||||
NDB = 949,
|
||||
NDBCLUSTER = 950,
|
||||
NEW = 951,
|
||||
NEXT = 952,
|
||||
NO = 953,
|
||||
NOAUDIT = 954,
|
||||
NODEGROUP = 955,
|
||||
NONE = 956,
|
||||
NORMAL = 957,
|
||||
NOW = 958,
|
||||
NOWAIT = 959,
|
||||
NO_WAIT = 960,
|
||||
NULLS = 961,
|
||||
NUMBER = 962,
|
||||
NVARCHAR = 963,
|
||||
NTILE = 964,
|
||||
NTH_VALUE = 965,
|
||||
NOARCHIVELOG = 966,
|
||||
NETWORK = 967,
|
||||
NOPARALLEL = 968,
|
||||
OBSOLETE = 969,
|
||||
OCCUR = 970,
|
||||
OF = 971,
|
||||
OFF = 972,
|
||||
OFFSET = 973,
|
||||
OLD_PASSWORD = 974,
|
||||
ONE = 975,
|
||||
ONE_SHOT = 976,
|
||||
ONLY = 977,
|
||||
OPEN = 978,
|
||||
OPTIONS = 979,
|
||||
ORIG_DEFAULT = 980,
|
||||
OWNER = 981,
|
||||
OLD_KEY = 982,
|
||||
PACK_KEYS = 983,
|
||||
PAGE = 984,
|
||||
PARALLEL = 985,
|
||||
PARAMETERS = 986,
|
||||
PARSER = 987,
|
||||
PARTIAL = 988,
|
||||
PARTITION_ID = 989,
|
||||
PARTITIONING = 990,
|
||||
PARTITIONS = 991,
|
||||
PASSWORD = 992,
|
||||
PAUSE = 993,
|
||||
PERCENT_RANK = 994,
|
||||
PHASE = 995,
|
||||
PLAN = 996,
|
||||
PHYSICAL = 997,
|
||||
PLANREGRESS = 998,
|
||||
PLUGIN = 999,
|
||||
PLUGIN_DIR = 1000,
|
||||
PLUGINS = 1001,
|
||||
POINT = 1002,
|
||||
POLYGON = 1003,
|
||||
PERFORMANCE = 1004,
|
||||
PROTECTION = 1005,
|
||||
PRIORITY = 1006,
|
||||
PL = 1007,
|
||||
POOL = 1008,
|
||||
PORT = 1009,
|
||||
POSITION = 1010,
|
||||
PREPARE = 1011,
|
||||
PRESERVE = 1012,
|
||||
PREV = 1013,
|
||||
PRIMARY_ZONE = 1014,
|
||||
PRIVILEGES = 1015,
|
||||
PROCESS = 1016,
|
||||
PROCESSLIST = 1017,
|
||||
PROFILE = 1018,
|
||||
PROFILES = 1019,
|
||||
PROXY = 1020,
|
||||
PRECEDING = 1021,
|
||||
PCTFREE = 1022,
|
||||
P_ENTITY = 1023,
|
||||
P_CHUNK = 1024,
|
||||
PRIMARY_ROOTSERVICE_LIST = 1025,
|
||||
PRIMARY_CLUSTER_ID = 1026,
|
||||
PUBLIC = 1027,
|
||||
PROGRESSIVE_MERGE_NUM = 1028,
|
||||
PS = 1029,
|
||||
QUARTER = 1030,
|
||||
QUEUE_TIME = 1031,
|
||||
QUICK = 1032,
|
||||
REBUILD = 1033,
|
||||
RECOVER = 1034,
|
||||
RECYCLE = 1035,
|
||||
REDO_BUFFER_SIZE = 1036,
|
||||
REDOFILE = 1037,
|
||||
REDUNDANT = 1038,
|
||||
REFRESH = 1039,
|
||||
REGION = 1040,
|
||||
RELAY = 1041,
|
||||
RELAYLOG = 1042,
|
||||
RELAY_LOG_FILE = 1043,
|
||||
RELAY_LOG_POS = 1044,
|
||||
RELAY_THREAD = 1045,
|
||||
RELOAD = 1046,
|
||||
REMOVE = 1047,
|
||||
REORGANIZE = 1048,
|
||||
REPAIR = 1049,
|
||||
REPEATABLE = 1050,
|
||||
REPLICA = 1051,
|
||||
REPLICA_NUM = 1052,
|
||||
REPLICA_TYPE = 1053,
|
||||
REPLICATION = 1054,
|
||||
REPORT = 1055,
|
||||
RESET = 1056,
|
||||
RESOURCE = 1057,
|
||||
RESOURCE_POOL_LIST = 1058,
|
||||
RESPECT = 1059,
|
||||
RESTART = 1060,
|
||||
RESTORE = 1061,
|
||||
RESUME = 1062,
|
||||
RETURNED_SQLSTATE = 1063,
|
||||
RETURNS = 1064,
|
||||
REVERSE = 1065,
|
||||
REWRITE_MERGE_VERSION = 1066,
|
||||
ROLLBACK = 1067,
|
||||
ROLLUP = 1068,
|
||||
ROOT = 1069,
|
||||
ROOTTABLE = 1070,
|
||||
ROOTSERVICE = 1071,
|
||||
ROOTSERVICE_LIST = 1072,
|
||||
ROUTINE = 1073,
|
||||
ROW = 1074,
|
||||
ROLLING = 1075,
|
||||
ROW_COUNT = 1076,
|
||||
ROW_FORMAT = 1077,
|
||||
ROWS = 1078,
|
||||
RTREE = 1079,
|
||||
RUN = 1080,
|
||||
RECYCLEBIN = 1081,
|
||||
ROTATE = 1082,
|
||||
ROW_NUMBER = 1083,
|
||||
RUDUNDANT = 1084,
|
||||
RECURSIVE = 1085,
|
||||
RANDOM = 1086,
|
||||
REDO_TRANSPORT_OPTIONS = 1087,
|
||||
REMOTE_OSS = 1088,
|
||||
RT = 1089,
|
||||
RANK = 1090,
|
||||
READ_ONLY = 1091,
|
||||
RECOVERY = 1092,
|
||||
SAMPLE = 1093,
|
||||
SAVEPOINT = 1094,
|
||||
SCHEDULE = 1095,
|
||||
SCHEMA_NAME = 1096,
|
||||
SCOPE = 1097,
|
||||
SECOND = 1098,
|
||||
SECURITY = 1099,
|
||||
SEED = 1100,
|
||||
SERIAL = 1101,
|
||||
SERIALIZABLE = 1102,
|
||||
SERVER = 1103,
|
||||
SERVER_IP = 1104,
|
||||
SERVER_PORT = 1105,
|
||||
SERVER_TYPE = 1106,
|
||||
SESSION = 1107,
|
||||
SESSION_USER = 1108,
|
||||
SET_MASTER_CLUSTER = 1109,
|
||||
SET_SLAVE_CLUSTER = 1110,
|
||||
SET_TP = 1111,
|
||||
SHARE = 1112,
|
||||
SHUTDOWN = 1113,
|
||||
SIGNED = 1114,
|
||||
SIMPLE = 1115,
|
||||
SLAVE = 1116,
|
||||
SLOW = 1117,
|
||||
SLOT_IDX = 1118,
|
||||
SNAPSHOT = 1119,
|
||||
SOCKET = 1120,
|
||||
SOME = 1121,
|
||||
SONAME = 1122,
|
||||
SOUNDS = 1123,
|
||||
SOURCE = 1124,
|
||||
SPFILE = 1125,
|
||||
SPLIT = 1126,
|
||||
SQL_AFTER_GTIDS = 1127,
|
||||
SQL_AFTER_MTS_GAPS = 1128,
|
||||
SQL_BEFORE_GTIDS = 1129,
|
||||
SQL_BUFFER_RESULT = 1130,
|
||||
SQL_CACHE = 1131,
|
||||
SQL_NO_CACHE = 1132,
|
||||
SQL_ID = 1133,
|
||||
SQL_THREAD = 1134,
|
||||
SQL_TSI_DAY = 1135,
|
||||
SQL_TSI_HOUR = 1136,
|
||||
SQL_TSI_MINUTE = 1137,
|
||||
SQL_TSI_MONTH = 1138,
|
||||
SQL_TSI_QUARTER = 1139,
|
||||
SQL_TSI_SECOND = 1140,
|
||||
SQL_TSI_WEEK = 1141,
|
||||
SQL_TSI_YEAR = 1142,
|
||||
STANDBY = 1143,
|
||||
STAT = 1144,
|
||||
START = 1145,
|
||||
STARTS = 1146,
|
||||
STATS_AUTO_RECALC = 1147,
|
||||
STATS_PERSISTENT = 1148,
|
||||
STATS_SAMPLE_PAGES = 1149,
|
||||
STATUS = 1150,
|
||||
STATEMENTS = 1151,
|
||||
STD = 1152,
|
||||
STDDEV = 1153,
|
||||
STDDEV_POP = 1154,
|
||||
STDDEV_SAMP = 1155,
|
||||
STRONG = 1156,
|
||||
SYNCHRONIZATION = 1157,
|
||||
STOP = 1158,
|
||||
STORAGE = 1159,
|
||||
STORAGE_FORMAT_VERSION = 1160,
|
||||
STORAGE_FORMAT_WORK_VERSION = 1161,
|
||||
STORING = 1162,
|
||||
STRING = 1163,
|
||||
SUBCLASS_ORIGIN = 1164,
|
||||
SUBDATE = 1165,
|
||||
SUBJECT = 1166,
|
||||
SUBPARTITION = 1167,
|
||||
SUBPARTITIONS = 1168,
|
||||
SUBSTR = 1169,
|
||||
SUBSTRING = 1170,
|
||||
SUCCESSFUL = 1171,
|
||||
SUM = 1172,
|
||||
SUPER = 1173,
|
||||
SUSPEND = 1174,
|
||||
SWAPS = 1175,
|
||||
SWITCH = 1176,
|
||||
SWITCHES = 1177,
|
||||
SWITCHOVER = 1178,
|
||||
SYSTEM = 1179,
|
||||
SYSTEM_USER = 1180,
|
||||
SYSDATE = 1181,
|
||||
SESSION_ALIAS = 1182,
|
||||
SYNONYM = 1183,
|
||||
SIZE = 1184,
|
||||
TABLE_CHECKSUM = 1185,
|
||||
TABLE_MODE = 1186,
|
||||
TABLE_ID = 1187,
|
||||
TABLE_NAME = 1188,
|
||||
TABLEGROUPS = 1189,
|
||||
TABLES = 1190,
|
||||
TABLESPACE = 1191,
|
||||
TABLET = 1192,
|
||||
TABLET_MAX_SIZE = 1193,
|
||||
TEMPLATE = 1194,
|
||||
TEMPORARY = 1195,
|
||||
TEMPTABLE = 1196,
|
||||
TENANT = 1197,
|
||||
TEXT = 1198,
|
||||
THAN = 1199,
|
||||
TIME = 1200,
|
||||
TIMESTAMP = 1201,
|
||||
TIMESTAMPADD = 1202,
|
||||
TIMESTAMPDIFF = 1203,
|
||||
TP_NO = 1204,
|
||||
TP_NAME = 1205,
|
||||
TRACE = 1206,
|
||||
TRADITIONAL = 1207,
|
||||
TRIGGERS = 1208,
|
||||
TRIM = 1209,
|
||||
TRUNCATE = 1210,
|
||||
TYPE = 1211,
|
||||
TYPES = 1212,
|
||||
TASK = 1213,
|
||||
TABLET_SIZE = 1214,
|
||||
TABLEGROUP_ID = 1215,
|
||||
TENANT_ID = 1216,
|
||||
THROTTLE = 1217,
|
||||
TIME_ZONE_INFO = 1218,
|
||||
UNCOMMITTED = 1219,
|
||||
UNDEFINED = 1220,
|
||||
UNDO_BUFFER_SIZE = 1221,
|
||||
UNDOFILE = 1222,
|
||||
UNICODE = 1223,
|
||||
UNINSTALL = 1224,
|
||||
UNIT = 1225,
|
||||
UNIT_NUM = 1226,
|
||||
UNLOCKED = 1227,
|
||||
UNTIL = 1228,
|
||||
UNUSUAL = 1229,
|
||||
UPGRADE = 1230,
|
||||
USE_BLOOM_FILTER = 1231,
|
||||
UNKNOWN = 1232,
|
||||
USE_FRM = 1233,
|
||||
USER = 1234,
|
||||
USER_RESOURCES = 1235,
|
||||
UNBOUNDED = 1236,
|
||||
VALID = 1237,
|
||||
VALUE = 1238,
|
||||
VARIANCE = 1239,
|
||||
VARIABLES = 1240,
|
||||
VERBOSE = 1241,
|
||||
VERIFY = 1242,
|
||||
VIEW = 1243,
|
||||
VISIBLE = 1244,
|
||||
VIRTUAL_COLUMN_ID = 1245,
|
||||
VALIDATE = 1246,
|
||||
VAR_POP = 1247,
|
||||
VAR_SAMP = 1248,
|
||||
WAIT = 1249,
|
||||
WARNINGS = 1250,
|
||||
WEEK = 1251,
|
||||
WEIGHT_STRING = 1252,
|
||||
WHENEVER = 1253,
|
||||
WITH_ROWID = 1254,
|
||||
WORK = 1255,
|
||||
WRAPPER = 1256,
|
||||
WEAK = 1257,
|
||||
X509 = 1258,
|
||||
XA = 1259,
|
||||
XML = 1260,
|
||||
YEAR = 1261,
|
||||
ZONE = 1262,
|
||||
ZONE_LIST = 1263,
|
||||
ZONE_TYPE = 1264,
|
||||
COMP_NSEQ = 1265,
|
||||
COMMA = 1266
|
||||
LINESTRING = 865,
|
||||
LIST_ = 866,
|
||||
LISTAGG = 867,
|
||||
LOCAL = 868,
|
||||
LOCALITY = 869,
|
||||
LOCATION = 870,
|
||||
LOCKED = 871,
|
||||
LOCKS = 872,
|
||||
LOGFILE = 873,
|
||||
LOGONLY_REPLICA_NUM = 874,
|
||||
LOGS = 875,
|
||||
LOCK_ = 876,
|
||||
LOGICAL_READS = 877,
|
||||
LEVEL = 878,
|
||||
LN = 879,
|
||||
LOG = 880,
|
||||
MAJOR = 881,
|
||||
MANUAL = 882,
|
||||
MASTER = 883,
|
||||
MASTER_AUTO_POSITION = 884,
|
||||
MASTER_CONNECT_RETRY = 885,
|
||||
MASTER_DELAY = 886,
|
||||
MASTER_HEARTBEAT_PERIOD = 887,
|
||||
MASTER_HOST = 888,
|
||||
MASTER_LOG_FILE = 889,
|
||||
MASTER_LOG_POS = 890,
|
||||
MASTER_PASSWORD = 891,
|
||||
MASTER_PORT = 892,
|
||||
MASTER_RETRY_COUNT = 893,
|
||||
MASTER_SERVER_ID = 894,
|
||||
MASTER_SSL = 895,
|
||||
MASTER_SSL_CA = 896,
|
||||
MASTER_SSL_CAPATH = 897,
|
||||
MASTER_SSL_CERT = 898,
|
||||
MASTER_SSL_CIPHER = 899,
|
||||
MASTER_SSL_CRL = 900,
|
||||
MASTER_SSL_CRLPATH = 901,
|
||||
MASTER_SSL_KEY = 902,
|
||||
MASTER_USER = 903,
|
||||
MAX = 904,
|
||||
MAX_CONNECTIONS_PER_HOUR = 905,
|
||||
MAX_CPU = 906,
|
||||
MAX_DISK_SIZE = 907,
|
||||
MAX_IOPS = 908,
|
||||
MAX_MEMORY = 909,
|
||||
MAX_QUERIES_PER_HOUR = 910,
|
||||
MAX_ROWS = 911,
|
||||
MAX_SESSION_NUM = 912,
|
||||
MAX_SIZE = 913,
|
||||
MAX_UPDATES_PER_HOUR = 914,
|
||||
MAX_USER_CONNECTIONS = 915,
|
||||
MEDIUM = 916,
|
||||
MEMORY = 917,
|
||||
MEMTABLE = 918,
|
||||
MESSAGE_TEXT = 919,
|
||||
META = 920,
|
||||
MICROSECOND = 921,
|
||||
MIGRATE = 922,
|
||||
MIN = 923,
|
||||
MIN_CPU = 924,
|
||||
MIN_IOPS = 925,
|
||||
MIN_MEMORY = 926,
|
||||
MINOR = 927,
|
||||
MIN_ROWS = 928,
|
||||
MINUTE = 929,
|
||||
MODE = 930,
|
||||
MODIFY = 931,
|
||||
MONTH = 932,
|
||||
MOVE = 933,
|
||||
MULTILINESTRING = 934,
|
||||
MULTIPOINT = 935,
|
||||
MULTIPOLYGON = 936,
|
||||
MUTEX = 937,
|
||||
MYSQL_ERRNO = 938,
|
||||
MIGRATION = 939,
|
||||
MAX_USED_PART_ID = 940,
|
||||
MAXIMIZE = 941,
|
||||
MATERIALIZED = 942,
|
||||
MEMSTORE_PERCENT = 943,
|
||||
NAME = 944,
|
||||
NAMES = 945,
|
||||
NATIONAL = 946,
|
||||
NCHAR = 947,
|
||||
NDB = 948,
|
||||
NDBCLUSTER = 949,
|
||||
NEW = 950,
|
||||
NEXT = 951,
|
||||
NO = 952,
|
||||
NOAUDIT = 953,
|
||||
NODEGROUP = 954,
|
||||
NONE = 955,
|
||||
NORMAL = 956,
|
||||
NOW = 957,
|
||||
NOWAIT = 958,
|
||||
NO_WAIT = 959,
|
||||
NULLS = 960,
|
||||
NUMBER = 961,
|
||||
NVARCHAR = 962,
|
||||
NTILE = 963,
|
||||
NTH_VALUE = 964,
|
||||
NOARCHIVELOG = 965,
|
||||
NETWORK = 966,
|
||||
NOPARALLEL = 967,
|
||||
OBSOLETE = 968,
|
||||
OCCUR = 969,
|
||||
OF = 970,
|
||||
OFF = 971,
|
||||
OFFSET = 972,
|
||||
OLD_PASSWORD = 973,
|
||||
ONE = 974,
|
||||
ONE_SHOT = 975,
|
||||
ONLY = 976,
|
||||
OPEN = 977,
|
||||
OPTIONS = 978,
|
||||
ORIG_DEFAULT = 979,
|
||||
OWNER = 980,
|
||||
OLD_KEY = 981,
|
||||
PACK_KEYS = 982,
|
||||
PAGE = 983,
|
||||
PARALLEL = 984,
|
||||
PARAMETERS = 985,
|
||||
PARSER = 986,
|
||||
PARTIAL = 987,
|
||||
PARTITION_ID = 988,
|
||||
PARTITIONING = 989,
|
||||
PARTITIONS = 990,
|
||||
PASSWORD = 991,
|
||||
PAUSE = 992,
|
||||
PERCENT_RANK = 993,
|
||||
PHASE = 994,
|
||||
PLAN = 995,
|
||||
PHYSICAL = 996,
|
||||
PLANREGRESS = 997,
|
||||
PLUGIN = 998,
|
||||
PLUGIN_DIR = 999,
|
||||
PLUGINS = 1000,
|
||||
POINT = 1001,
|
||||
POLYGON = 1002,
|
||||
PERFORMANCE = 1003,
|
||||
PROTECTION = 1004,
|
||||
PRIORITY = 1005,
|
||||
PL = 1006,
|
||||
POOL = 1007,
|
||||
PORT = 1008,
|
||||
POSITION = 1009,
|
||||
PREPARE = 1010,
|
||||
PRESERVE = 1011,
|
||||
PREV = 1012,
|
||||
PRIMARY_ZONE = 1013,
|
||||
PRIVILEGES = 1014,
|
||||
PROCESS = 1015,
|
||||
PROCESSLIST = 1016,
|
||||
PROFILE = 1017,
|
||||
PROFILES = 1018,
|
||||
PROXY = 1019,
|
||||
PRECEDING = 1020,
|
||||
PCTFREE = 1021,
|
||||
P_ENTITY = 1022,
|
||||
P_CHUNK = 1023,
|
||||
PRIMARY_ROOTSERVICE_LIST = 1024,
|
||||
PRIMARY_CLUSTER_ID = 1025,
|
||||
PUBLIC = 1026,
|
||||
PROGRESSIVE_MERGE_NUM = 1027,
|
||||
PS = 1028,
|
||||
QUARTER = 1029,
|
||||
QUEUE_TIME = 1030,
|
||||
QUICK = 1031,
|
||||
REBUILD = 1032,
|
||||
RECOVER = 1033,
|
||||
RECYCLE = 1034,
|
||||
REDO_BUFFER_SIZE = 1035,
|
||||
REDOFILE = 1036,
|
||||
REDUNDANT = 1037,
|
||||
REFRESH = 1038,
|
||||
REGION = 1039,
|
||||
RELAY = 1040,
|
||||
RELAYLOG = 1041,
|
||||
RELAY_LOG_FILE = 1042,
|
||||
RELAY_LOG_POS = 1043,
|
||||
RELAY_THREAD = 1044,
|
||||
RELOAD = 1045,
|
||||
REMOVE = 1046,
|
||||
REORGANIZE = 1047,
|
||||
REPAIR = 1048,
|
||||
REPEATABLE = 1049,
|
||||
REPLICA = 1050,
|
||||
REPLICA_NUM = 1051,
|
||||
REPLICA_TYPE = 1052,
|
||||
REPLICATION = 1053,
|
||||
REPORT = 1054,
|
||||
RESET = 1055,
|
||||
RESOURCE = 1056,
|
||||
RESOURCE_POOL_LIST = 1057,
|
||||
RESPECT = 1058,
|
||||
RESTART = 1059,
|
||||
RESTORE = 1060,
|
||||
RESUME = 1061,
|
||||
RETURNED_SQLSTATE = 1062,
|
||||
RETURNS = 1063,
|
||||
REVERSE = 1064,
|
||||
REWRITE_MERGE_VERSION = 1065,
|
||||
ROLLBACK = 1066,
|
||||
ROLLUP = 1067,
|
||||
ROOT = 1068,
|
||||
ROOTTABLE = 1069,
|
||||
ROOTSERVICE = 1070,
|
||||
ROOTSERVICE_LIST = 1071,
|
||||
ROUTINE = 1072,
|
||||
ROW = 1073,
|
||||
ROLLING = 1074,
|
||||
ROW_COUNT = 1075,
|
||||
ROW_FORMAT = 1076,
|
||||
ROWS = 1077,
|
||||
RTREE = 1078,
|
||||
RUN = 1079,
|
||||
RECYCLEBIN = 1080,
|
||||
ROTATE = 1081,
|
||||
ROW_NUMBER = 1082,
|
||||
RUDUNDANT = 1083,
|
||||
RECURSIVE = 1084,
|
||||
RANDOM = 1085,
|
||||
REDO_TRANSPORT_OPTIONS = 1086,
|
||||
REMOTE_OSS = 1087,
|
||||
RT = 1088,
|
||||
RANK = 1089,
|
||||
READ_ONLY = 1090,
|
||||
RECOVERY = 1091,
|
||||
SAMPLE = 1092,
|
||||
SAVEPOINT = 1093,
|
||||
SCHEDULE = 1094,
|
||||
SCHEMA_NAME = 1095,
|
||||
SCOPE = 1096,
|
||||
SECOND = 1097,
|
||||
SECURITY = 1098,
|
||||
SEED = 1099,
|
||||
SERIAL = 1100,
|
||||
SERIALIZABLE = 1101,
|
||||
SERVER = 1102,
|
||||
SERVER_IP = 1103,
|
||||
SERVER_PORT = 1104,
|
||||
SERVER_TYPE = 1105,
|
||||
SESSION = 1106,
|
||||
SESSION_USER = 1107,
|
||||
SET_MASTER_CLUSTER = 1108,
|
||||
SET_SLAVE_CLUSTER = 1109,
|
||||
SET_TP = 1110,
|
||||
SHARE = 1111,
|
||||
SHUTDOWN = 1112,
|
||||
SIGNED = 1113,
|
||||
SIMPLE = 1114,
|
||||
SLAVE = 1115,
|
||||
SLOW = 1116,
|
||||
SLOT_IDX = 1117,
|
||||
SNAPSHOT = 1118,
|
||||
SOCKET = 1119,
|
||||
SOME = 1120,
|
||||
SONAME = 1121,
|
||||
SOUNDS = 1122,
|
||||
SOURCE = 1123,
|
||||
SPFILE = 1124,
|
||||
SPLIT = 1125,
|
||||
SQL_AFTER_GTIDS = 1126,
|
||||
SQL_AFTER_MTS_GAPS = 1127,
|
||||
SQL_BEFORE_GTIDS = 1128,
|
||||
SQL_BUFFER_RESULT = 1129,
|
||||
SQL_CACHE = 1130,
|
||||
SQL_NO_CACHE = 1131,
|
||||
SQL_ID = 1132,
|
||||
SQL_THREAD = 1133,
|
||||
SQL_TSI_DAY = 1134,
|
||||
SQL_TSI_HOUR = 1135,
|
||||
SQL_TSI_MINUTE = 1136,
|
||||
SQL_TSI_MONTH = 1137,
|
||||
SQL_TSI_QUARTER = 1138,
|
||||
SQL_TSI_SECOND = 1139,
|
||||
SQL_TSI_WEEK = 1140,
|
||||
SQL_TSI_YEAR = 1141,
|
||||
STANDBY = 1142,
|
||||
STAT = 1143,
|
||||
START = 1144,
|
||||
STARTS = 1145,
|
||||
STATS_AUTO_RECALC = 1146,
|
||||
STATS_PERSISTENT = 1147,
|
||||
STATS_SAMPLE_PAGES = 1148,
|
||||
STATUS = 1149,
|
||||
STATEMENTS = 1150,
|
||||
STD = 1151,
|
||||
STDDEV = 1152,
|
||||
STDDEV_POP = 1153,
|
||||
STDDEV_SAMP = 1154,
|
||||
STRONG = 1155,
|
||||
SYNCHRONIZATION = 1156,
|
||||
STOP = 1157,
|
||||
STORAGE = 1158,
|
||||
STORAGE_FORMAT_VERSION = 1159,
|
||||
STORAGE_FORMAT_WORK_VERSION = 1160,
|
||||
STORING = 1161,
|
||||
STRING = 1162,
|
||||
SUBCLASS_ORIGIN = 1163,
|
||||
SUBDATE = 1164,
|
||||
SUBJECT = 1165,
|
||||
SUBPARTITION = 1166,
|
||||
SUBPARTITIONS = 1167,
|
||||
SUBSTR = 1168,
|
||||
SUBSTRING = 1169,
|
||||
SUCCESSFUL = 1170,
|
||||
SUM = 1171,
|
||||
SUPER = 1172,
|
||||
SUSPEND = 1173,
|
||||
SWAPS = 1174,
|
||||
SWITCH = 1175,
|
||||
SWITCHES = 1176,
|
||||
SWITCHOVER = 1177,
|
||||
SYSTEM = 1178,
|
||||
SYSTEM_USER = 1179,
|
||||
SYSDATE = 1180,
|
||||
SESSION_ALIAS = 1181,
|
||||
SYNONYM = 1182,
|
||||
SIZE = 1183,
|
||||
TABLE_CHECKSUM = 1184,
|
||||
TABLE_MODE = 1185,
|
||||
TABLE_ID = 1186,
|
||||
TABLE_NAME = 1187,
|
||||
TABLEGROUPS = 1188,
|
||||
TABLES = 1189,
|
||||
TABLESPACE = 1190,
|
||||
TABLET = 1191,
|
||||
TABLET_MAX_SIZE = 1192,
|
||||
TEMPLATE = 1193,
|
||||
TEMPORARY = 1194,
|
||||
TEMPTABLE = 1195,
|
||||
TENANT = 1196,
|
||||
TEXT = 1197,
|
||||
THAN = 1198,
|
||||
TIME = 1199,
|
||||
TIMESTAMP = 1200,
|
||||
TIMESTAMPADD = 1201,
|
||||
TIMESTAMPDIFF = 1202,
|
||||
TP_NO = 1203,
|
||||
TP_NAME = 1204,
|
||||
TRACE = 1205,
|
||||
TRADITIONAL = 1206,
|
||||
TRIGGERS = 1207,
|
||||
TRIM = 1208,
|
||||
TRUNCATE = 1209,
|
||||
TYPE = 1210,
|
||||
TYPES = 1211,
|
||||
TASK = 1212,
|
||||
TABLET_SIZE = 1213,
|
||||
TABLEGROUP_ID = 1214,
|
||||
TENANT_ID = 1215,
|
||||
THROTTLE = 1216,
|
||||
TIME_ZONE_INFO = 1217,
|
||||
UNCOMMITTED = 1218,
|
||||
UNDEFINED = 1219,
|
||||
UNDO_BUFFER_SIZE = 1220,
|
||||
UNDOFILE = 1221,
|
||||
UNICODE = 1222,
|
||||
UNINSTALL = 1223,
|
||||
UNIT = 1224,
|
||||
UNIT_NUM = 1225,
|
||||
UNLOCKED = 1226,
|
||||
UNTIL = 1227,
|
||||
UNUSUAL = 1228,
|
||||
UPGRADE = 1229,
|
||||
USE_BLOOM_FILTER = 1230,
|
||||
UNKNOWN = 1231,
|
||||
USE_FRM = 1232,
|
||||
USER = 1233,
|
||||
USER_RESOURCES = 1234,
|
||||
UNBOUNDED = 1235,
|
||||
VALID = 1236,
|
||||
VALUE = 1237,
|
||||
VARIANCE = 1238,
|
||||
VARIABLES = 1239,
|
||||
VERBOSE = 1240,
|
||||
VERIFY = 1241,
|
||||
VIEW = 1242,
|
||||
VISIBLE = 1243,
|
||||
VIRTUAL_COLUMN_ID = 1244,
|
||||
VALIDATE = 1245,
|
||||
VAR_POP = 1246,
|
||||
VAR_SAMP = 1247,
|
||||
WAIT = 1248,
|
||||
WARNINGS = 1249,
|
||||
WEEK = 1250,
|
||||
WEIGHT_STRING = 1251,
|
||||
WHENEVER = 1252,
|
||||
WITH_ROWID = 1253,
|
||||
WORK = 1254,
|
||||
WRAPPER = 1255,
|
||||
WEAK = 1256,
|
||||
X509 = 1257,
|
||||
XA = 1258,
|
||||
XML = 1259,
|
||||
YEAR = 1260,
|
||||
ZONE = 1261,
|
||||
ZONE_LIST = 1262,
|
||||
ZONE_TYPE = 1263,
|
||||
COMP_NSEQ = 1264,
|
||||
COMMA = 1265
|
||||
};
|
||||
#endif
|
||||
|
||||
@ -1070,7 +1069,7 @@ typedef union YYSTYPE
|
||||
|
||||
|
||||
/* Line 1676 of yacc.c */
|
||||
#line 1074 "../../../src/sql/parser/sql_parser_mysql_mode_tab.h"
|
||||
#line 1073 "../../../src/sql/parser/sql_parser_mysql_mode_tab.h"
|
||||
} YYSTYPE;
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
||||
|
@ -367,7 +367,7 @@ const char* get_type_name(int type)
|
||||
case T_FUN_SYS_MAKETIME : return "T_FUN_SYS_MAKETIME";
|
||||
case T_FUN_SYS_MONTH_NAME : return "T_FUN_SYS_MONTH_NAME";
|
||||
case T_FUN_SYS_FORMAT : return "T_FUN_SYS_FORMAT";
|
||||
// case T_FUN_SYS_COT : return "T_FUN_SYS_COT"; 710 has ben taken on master
|
||||
case T_FUN_SYS_COT : return "T_FUN_SYS_COT";
|
||||
case T_FUN_SYS_QUARTER : return "T_FUN_SYS_QUARTER";
|
||||
case T_FUN_SYS_BIT_LENGTH : return "T_FUN_SYS_BIT_LENGTH";
|
||||
case T_FUN_SYS_PI : return "T_FUN_SYS_PI";
|
||||
@ -439,7 +439,6 @@ const char* get_type_name(int type)
|
||||
case T_FUN_SYS_ACOS : return "T_FUN_SYS_ACOS";
|
||||
case T_FUN_SYS_ATAN : return "T_FUN_SYS_ATAN";
|
||||
case T_FUN_SYS_ATAN2 : return "T_FUN_SYS_ATAN2";
|
||||
case T_FUN_SYS_COT : return "T_FUN_SYS_COT";
|
||||
case T_FUN_SYS_REGEXP_COUNT : return "T_FUN_SYS_REGEXP_COUNT";
|
||||
case T_FUN_NVL2 : return "T_FUN_NVL2";
|
||||
case T_FUN_SYS_TO_BINARY_FLOAT : return "T_FUN_SYS_TO_BINARY_FLOAT";
|
||||
|
Loading…
x
Reference in New Issue
Block a user