Compare commits
8 Commits
generic-ma
...
9930bc7f54
Author | SHA1 | Date | |
---|---|---|---|
9930bc7f54 | |||
1ef09886f1 | |||
4c82b44170 | |||
27c51b728f | |||
8a32fe3dbc | |||
3291e3630b | |||
6ef295d44e | |||
802c80b009 |
@ -20,8 +20,8 @@ ob_define(OB_USE_ASAN OFF)
|
||||
|
||||
ob_define(OB_RELEASEID 1)
|
||||
|
||||
set(OBJCOPY_BIN "${DEVTOOLS_DIR}/bin/objcopy")
|
||||
set(LD_BIN "${DEVTOOLS_DIR}/bin/ld")
|
||||
find_program(OBJCOPY_BIN objcopy PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin")
|
||||
find_program(LD_BIN ld PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin")
|
||||
|
||||
# share compile cache between different directories
|
||||
set(DEBUG_PREFIX "-fdebug-prefix-map=${CMAKE_SOURCE_DIR}=.")
|
||||
@ -43,13 +43,13 @@ if (OB_USE_LLVM_LIBTOOLS)
|
||||
# use llvm-ar llvm-ranlib llvm-objcopy ld.lld...
|
||||
set(_CMAKE_TOOLCHAIN_PREFIX llvm-)
|
||||
set(_CMAKE_TOOLCHAIN_LOCATION "${DEVTOOLS_DIR}/bin")
|
||||
set(LD_BIN "${DEVTOOLS_DIR}/bin/ld.lld")
|
||||
set(OBJCOPY_BIN "${DEVTOOLS_DIR}/bin/llvm-objcopy")
|
||||
find_program(LD_BIN ld.lld PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin")
|
||||
find_program(OBJCOPY_BIN llvm-objcopy PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin")
|
||||
endif()
|
||||
|
||||
if (OB_USE_CCACHE)
|
||||
find_program(OB_CCACHE ccache
|
||||
PATHS "${DEVTOOLS_DIR}/bin"
|
||||
PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin"
|
||||
NO_DEFAULT_PATH)
|
||||
if (NOT OB_CCACHE)
|
||||
message(WARNING "CCACHE NOT FOUND, COMPILE CACHE MAY NOT WORK.")
|
||||
@ -65,14 +65,13 @@ endif()
|
||||
|
||||
if (OB_USE_CLANG)
|
||||
find_program(OB_CC clang
|
||||
PATHS "${DEVTOOLS_DIR}/bin"
|
||||
PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin"
|
||||
NO_DEFAULT_PATH)
|
||||
find_program(OB_CXX clang++
|
||||
PATHS "${DEVTOOLS_DIR}/bin"
|
||||
PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin"
|
||||
NO_DEFAULT_PATH)
|
||||
set(BUILD_OPT "${BUILD_OPT} --gcc-toolchain=${DEVTOOLS_DIR} -fcolor-diagnostics")
|
||||
set(BUILD_OPT "${BUILD_OPT} -fcolor-diagnostics")
|
||||
# just make embedded clang and ccache happy...
|
||||
set(BUILD_OPT "${BUILD_OPT} -I${DEVTOOLS_DIR}/lib/clang/11.0.1/include")
|
||||
set(LD_OPT "${LD_OPT} -Wl,-z,noexecstack")
|
||||
|
||||
if (OB_USE_ASAN)
|
||||
@ -97,13 +96,13 @@ else() # not clang, use gcc (such as gcc52 in x86_64)
|
||||
|
||||
if(NOT DEFINED OB_CC)
|
||||
find_program(OB_CC gcc
|
||||
PATHS "${DEVTOOLS_DIR}/bin"
|
||||
PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin"
|
||||
NO_DEFAULT_PATH)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED OB_CXX)
|
||||
find_program(OB_CC g++
|
||||
PATHS "${DEVTOOLS_DIR}/bin"
|
||||
PATHS "${DEVTOOLS_DIR}/bin" "/usr/bin"
|
||||
NO_DEFAULT_PATH)
|
||||
endif()
|
||||
|
||||
|
1
deps/3rd/compile/ld
vendored
1
deps/3rd/compile/ld
vendored
@ -1 +0,0 @@
|
||||
../usr/local/oceanbase/devtools/bin/ld.lld
|
12
deps/easy/CMakeLists.txt
vendored
12
deps/easy/CMakeLists.txt
vendored
@ -20,6 +20,14 @@ set_property(GLOBAL PROPERTY EASY_INCLUDE_DIRS
|
||||
${INNER_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(OPENSSL REQUIRED IMPORTED_TARGET openssl)
|
||||
if(${OPENSSL_FOUND})
|
||||
include_directories(${OPENSSL_INCLUDE_DIRS})
|
||||
else()
|
||||
message("oceanbase need openssl")
|
||||
endif()
|
||||
|
||||
target_include_directories(
|
||||
easy_base INTERFACE
|
||||
${INNER_INCLUDE_DIRS}
|
||||
@ -43,12 +51,14 @@ target_compile_options(easy_base
|
||||
INTERFACE
|
||||
-D_GLIBCXX_USE_CXX11_ABI=0 -D_GNU_SOURCE -D__STDC_LIMIT_MACROS
|
||||
${MARCH_CFLAGS} ${MTUNE_CFLAGS}
|
||||
$<$<COMPILE_LANGUAGE:C>:-g -Wall -Werror -fPIC ${EASY_CC_WNO}>
|
||||
$<$<COMPILE_LANGUAGE:C>:-g -Wall -fPIC ${EASY_CC_WNO}>
|
||||
)
|
||||
|
||||
target_link_libraries(easy_base
|
||||
INTERFACE
|
||||
-L${DEP_DIR}/lib
|
||||
-L${OPENSSL_LIBDIR}
|
||||
${OPENSSL_LIBRARIES}
|
||||
-lpthread -lm -l:libssl.a -l:libcrypto.a
|
||||
${ARCH_LDFLAGS}
|
||||
)
|
||||
|
19
deps/easy/src/io/easy_ssl.c
vendored
19
deps/easy/src/io/easy_ssl.c
vendored
@ -184,7 +184,10 @@ int easy_ssl_cleanup()
|
||||
ERR_free_strings();
|
||||
// SSL_COMP_free();
|
||||
// sk_SSL_COMP_free (SSL_COMP_get_compression_methods());
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
// openssl-1.1 doesn't seem to export this symbol, confirmed on Archlinux
|
||||
CRYPTO_mem_leaks_fp(stderr);
|
||||
#endif
|
||||
easy_free((char*)easy_ssl_lock_cs);
|
||||
|
||||
return EASY_OK;
|
||||
@ -429,9 +432,11 @@ static int easy_ssl_handshake(easy_connection_t* c)
|
||||
c->read = easy_ssl_read;
|
||||
c->write = easy_ssl_write;
|
||||
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
if (c->sc->connection->s3) {
|
||||
c->sc->connection->s3->flags |= SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS;
|
||||
}
|
||||
#endif
|
||||
|
||||
return EASY_OK;
|
||||
}
|
||||
@ -1765,14 +1770,22 @@ static int easy_ssl_dhparam(easy_ssl_ctx_t* ssl, char* file)
|
||||
return EASY_ERROR;
|
||||
}
|
||||
|
||||
dh->p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);
|
||||
dh->g = BN_bin2bn(dh1024_g, sizeof(dh1024_g), NULL);
|
||||
BIGNUM* p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);
|
||||
BIGNUM* g = BN_bin2bn(dh1024_g, sizeof(dh1024_g), NULL);
|
||||
|
||||
if (dh->p == NULL || dh->g == NULL) {
|
||||
if (p == NULL || g == NULL
|
||||
#if OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
|| !DH_set0_pqg(dh, p, NULL, g)
|
||||
#endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */
|
||||
) {
|
||||
easy_ssl_error(EASY_LOG_ERROR, "BN_bin2bn() failed");
|
||||
DH_free(dh);
|
||||
return EASY_ERROR;
|
||||
}
|
||||
#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
||||
dh->p = p;
|
||||
dh->g = g;
|
||||
#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
|
||||
|
||||
SSL_CTX_set_tmp_dh(ssl->ctx, dh);
|
||||
|
||||
|
2
deps/logmessage
vendored
2
deps/logmessage
vendored
Submodule deps/logmessage updated: 4f9e63f635...509d86f9ea
4
deps/oblib/src/CMakeLists.txt
vendored
4
deps/oblib/src/CMakeLists.txt
vendored
@ -21,8 +21,8 @@ if (OB_USE_CLANG)
|
||||
-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D_NO_EXCEPTION
|
||||
-Wall -Wextra -Wformat -Wno-deprecated
|
||||
-fno-omit-frame-pointer ${MARCH_CFLAGS} ${MTUNE_CFLAGS}
|
||||
-Wno-address-of-packed-member -Wno-sign-compare -Werror
|
||||
-Wno-inconsistent-missing-override
|
||||
-Wno-address-of-packed-member -Wno-sign-compare
|
||||
-Wno-inconsistent-missing-override
|
||||
-fno-delete-null-pointer-checks
|
||||
-Wno-delete-non-virtual-dtor -Wno-dynamic-class-memaccess
|
||||
-Wno-format-security -Wno-reserved-user-defined-literal -Wno-sometimes-uninitialized
|
||||
|
@ -478,4 +478,10 @@ ob_server_add_pchs(share
|
||||
ob_common_rpc_proxy.h
|
||||
)
|
||||
|
||||
SET(GEN_ERRNO_SCRIPT ${CMAKE_SOURCE_DIR}/src/share/gen_errno.pl)
|
||||
execute_process(
|
||||
COMMAND perl ${GEN_ERRNO_SCRIPT}
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/share
|
||||
)
|
||||
|
||||
ob_server_add_target(ob_share)
|
||||
|
@ -310,6 +310,11 @@ print $fh_cpp '/**
|
||||
#define NULL 0
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#define ER_KEY_COLUMN_DOES_NOT_EXITS -5211
|
||||
#define ER_DROP_PARTITION_NON_EXISTENT -5303
|
||||
#define ER_BLOB_CANT_HAVE_DEFAULT -5994
|
||||
|
||||
using namespace oceanbase::common;
|
||||
|
||||
// fix ob_error.cpp file requires at least 20g memory for release(-O2) compilation
|
||||
|
14750
src/share/ob_errno.cpp
14750
src/share/ob_errno.cpp
File diff suppressed because it is too large
Load Diff
4187
src/share/ob_errno.h
4187
src/share/ob_errno.h
File diff suppressed because it is too large
Load Diff
@ -1172,8 +1172,9 @@ ob_server_add_pchs(sql
|
||||
|
||||
ob_server_add_target(ob_sql)
|
||||
|
||||
SET(GEN_PARSER_SCRIPT ${CMAKE_SOURCE_DIR}/src/sql/parser/gen_parser.sh)
|
||||
execute_process(
|
||||
COMMAND bash gen_parser.sh
|
||||
COMMAND bash ${GEN_PARSER_SCRIPT}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src/sql/parser
|
||||
OUTPUT_FILE _gen_parser.output
|
||||
ERROR_FILE _gen_parser.error)
|
||||
|
@ -7,18 +7,9 @@
|
||||
set +x
|
||||
CURDIR="$(dirname $(readlink -f "$0"))"
|
||||
export PATH=$CURDIR/../../../deps/3rd/usr/local/oceanbase/devtools/bin:$PATH
|
||||
export BISON_PKGDATADIR=$CURDIR/../../../deps/3rd/usr/local/oceanbase/devtools/share/bison
|
||||
BISON_VERSION=`bison -V| grep 'bison (GNU Bison)'|awk '{ print $4;}'`
|
||||
NEED_VERSION='2.4.1'
|
||||
|
||||
if [ "$BISON_VERSION" != "$NEED_VERSION" ]; then
|
||||
echo "bison version not match, please use bison-$NEED_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# generate sql_parser
|
||||
bison -v -Werror -d ../../../src/sql/parser/sql_parser_mysql_mode.y -o ../../../src/sql/parser/sql_parser_mysql_mode_tab.c
|
||||
bison -v -d ../../../src/sql/parser/sql_parser_mysql_mode.y -o ../../../src/sql/parser/sql_parser_mysql_mode_tab.c
|
||||
BISON_RETURN="$?"
|
||||
if [ $BISON_RETURN -ne 0 ]
|
||||
then
|
||||
|
@ -22,6 +22,9 @@
|
||||
#include "sql_parser_base.h"
|
||||
#include "sql_parser_mysql_mode_tab.h"
|
||||
|
||||
#define YYLTYPE OBSQL_MYSQL_YYLTYPE
|
||||
#define YYSTYPE OBSQL_MYSQL_YYSTYPE
|
||||
#define YYEMPTY OBSQL_MYSQL_YYEMPTY
|
||||
extern void obsql_mysql_yyerror(YYLTYPE *yylloc, ParseResult *p, char *s,...);
|
||||
extern void obsql_mysql_parser_fatal_error(yyconst char *msg, yyscan_t yyscanner);
|
||||
#define yyerror obsql_mysql_yyerror
|
||||
|
@ -10,11 +10,16 @@
|
||||
* See the Mulan PubL v2 for more details.
|
||||
*/
|
||||
%define api.pure
|
||||
%parse-param {ParseResult *result}
|
||||
%name-prefix "obsql_mysql_yy"
|
||||
%code requires {
|
||||
#include "../../../src/sql/parser/parse_node.h"
|
||||
#define YYEMPTY OBSQL_MYSQL_YYEMPTY
|
||||
}
|
||||
%param {ParseResult *result}
|
||||
%define api.prefix {obsql_mysql_yy}
|
||||
%locations
|
||||
%verbose
|
||||
%error-verbose
|
||||
%define parse.error verbose
|
||||
|
||||
%{
|
||||
#include <stdint.h>
|
||||
#define YYDEBUG 1
|
||||
@ -9100,7 +9105,7 @@ table_factor %prec LOWER_COMMA
|
||||
natural_join_type:
|
||||
NATURAL outer_join_type
|
||||
{
|
||||
$$ = $2
|
||||
$$ = $2;
|
||||
}
|
||||
| NATURAL opt_inner JOIN
|
||||
{
|
||||
@ -12894,7 +12899,7 @@ FILE_ID opt_equal_mark INTNUM
|
||||
opt_file_id:
|
||||
file_id
|
||||
{
|
||||
$$ = $1
|
||||
$$ = $1;
|
||||
}
|
||||
|
|
||||
{
|
||||
|
@ -1,18 +1,23 @@
|
||||
message(STATUS "OB_BUILD_LIBOBLOG ${OB_BUILD_LIBOBLOG}")
|
||||
if (OB_BUILD_LIBOBLOG)
|
||||
find_package(Git QUIET)
|
||||
if (GIT_FOUND)
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --remote
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
RESULT_VARIABLE GIT_SUBMOD_RESULT)
|
||||
if (NOT GIT_SUBMOD_RESULT EQUAL "0")
|
||||
message(FATAL_ERROR "git submodule update --init --remote failed with ${GIT_SUBMOD_RESULT}, please checkout submodules")
|
||||
if( NOT EXISTS "${PROJECT_SOURCE_DIR}/deps/logmessage/.git" )
|
||||
message("not exists ${PROJECT_SOURCE_DIR}/deps/logmessage/.git")
|
||||
find_package(Git QUIET)
|
||||
if (GIT_FOUND)
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --remote
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
|
||||
RESULT_VARIABLE GIT_SUBMOD_RESULT)
|
||||
if (NOT GIT_SUBMOD_RESULT EQUAL "0")
|
||||
message(SEND_ERROR "git submodule update --init --remote failed with ${GIT_SUBMOD_RESULT}, please checkout submodules")
|
||||
endif()
|
||||
add_subdirectory(${PROJECT_SOURCE_DIR}/deps/logmessage ${PROJECT_BINARY_DIR}/deps/logmessage EXCLUDE_FROM_ALL)
|
||||
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(tests)
|
||||
else()
|
||||
message(SEND_ERROR "The git submodules are not available. Please run
|
||||
git submodule update --init --recursive"
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
add_subdirectory(${PROJECT_SOURCE_DIR}/deps/logmessage ${PROJECT_BINARY_DIR}/deps/logmessage EXCLUDE_FROM_ALL)
|
||||
add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(tests)
|
||||
else()
|
||||
message("cannot find executable git")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -110,7 +110,7 @@ set(SRC_LIST
|
||||
add_library(obcdc_objects OBJECT ${SRC_LIST})
|
||||
target_link_libraries(obcdc_objects PUBLIC obcdc_base)
|
||||
target_compile_definitions(obcdc_objects PRIVATE ENABLE_DEBUG_LOG)
|
||||
target_compile_options(obcdc_objects PRIVATE -Werror)
|
||||
#target_compile_options(obcdc_objects PRIVATE -Werror)
|
||||
|
||||
disable_pch(obcdc_objects)
|
||||
set(LGPL_DEPS "-L${DEP_DIR}/lib/mariadb -l:libmariadbclient.a -laio")
|
||||
|
Reference in New Issue
Block a user