Skip to content

Commit

Permalink
merge to dev_resultcache (#2442)
Browse files Browse the repository at this point in the history
* [CBRD-23638] Remove getpeername () calls, replace it with ip_addr in … (#2250)

* [CBRD-23638] Remove getpeername () calls, replace it with ip_addr in cci handle

* [CBRD-23638] Fix indentation

* [CBRD-23668] Change pop-up guide text for JRE when installing windows engine (#2311)

* [CBRD-21886] No query results if DECODE, CASE, or IF is used in a nested left outer join query (#2315)

http://jira.cubrid.org/browse/CBRD-21886

fix to change term class to TC_during_join when predicate is on 'ON' clause and TC_OTHER

* [CBRD-23647] Add system parameter for debugging Java SP and Server-side JDBC (#2294)

* add system parameter; debugging port for java stored procedure

* add copyright holder in disclaimer

* [APIS-825] Supports ResultSet.getBlob() or ResultSet.getClob() method to read BIT VARYING type or VARCHAR type. (#2303)

http://jira.cubrid.org/browse/APIS-825

* [CBRD-23648] Separate server-side routine in JDBC (#2278)

http://jira.cubrid.org/browse/CBRD-23648

This change refactored UConnection and split routines into client-side (UClientSideConnection) and server-side (UServerSideConnection) instead of being controlled by a single boolean variable (boolean isServerSideJDBC).

re-organized UConnection's main methods for sending requests to CAS to make it clear to understand
- added UClientSideConnection and UServerSideConnection inherited from UConnection.
- added server-side JDBC Connection, CUBRIDConnectionDefault inherited from CUBRIDConnection.
- renamed several variables and methods that violate the naming convention.

* [CBRD-23243] Modify the way to calculate available disk space in sector unit

http://jira.cubrid.org/browse/CBRD-23243

It handles the way to calculate available disk space in sector unit. The way is the same as #2218 , which is about the same issue.

* [CBRD-21022] executeBatch returns Cannot communicate with the broker or received invalid packet & CAS down with core dump (#2323)

http://jira.cubrid.org/browse/CBRD-21022

fix to enable XASL cache for insert statements containing clobs and blobs and do not reuse XASL at XASL generator step

* [APIS-782] revised: added omitted codes (#2337)

* [CBRD-20577] Use of alias with function inside ‘Order By’ Clause (#2312)

* [CBRD-20577] Use of alias with function inside ‘Order By’ Clause

* [CBRD-20577] except for show columns statement

* [CBRD-20577] indent

* [CBRD-20577] re-indent

* [CBRD-23677] The heartbeat fails to start when 'cubrid service start' command is executed successfully even though the settings are normal. (#2341)

http://jira.cubrid.org/browse/CBRD-23677

* [CBRD-23609] Remove modifications other than syslog () in #2195 (#2342)

http://jira.cubrid.org/browse/CBRD-23609

* [CBRD-23671] Implement Statement Handler Cache in Server-side JDBC (#2335)

http://jira.cubrid.org/browse/CBRD-23671

* [CBRD-23650] When a query specifying an OVER function in an aggregate function using rownum has a plan, the result is null. (#2343)

http://jira.cubrid.org/browse/CBRD-23650

fix it to remove substituting the instnum variable
add the 'XASL_INSTNUM_FLAG_SCAN_STOP_AT_ANALYTIC' flag.
instnum is not evaluated in the processing stage of the executor when flag is set.

* [CBRD-23687] Add compiled OpenSSL lib for Windows (#2348)

* [CBRD-23687] Add server certificate/private key for SSL (#2350)

* [CBRD-23680] temporary temp volume file is not cleared when server restarted with temp_volume_path option (#2345)

* [CBRD-23680] temporary temp volume file is not cleared when server restarted with temp_volume_path option
Uses 'temp_volume_path' when deleting temporary volume files

* correct indentation

Co-authored-by: JoohoK <joohok@cubrid.com>

* [CBRD-23642] Change the way to handle the wrong backup time when executing restoredb (#2251)

http://jira.cubrid.org/browse/CBRD-23642

* [CBRD-23686] If the number of index columns is large, the optimizer cannot select a more appropriate index. (#2347)

http://jira.cubrid.org/browse/CBRD-23686

heuristic factor of index scan formula is eliminated.

* [CBRD-23637] Implementation of secure CUBRID jdbc driver (#2346)

* [CBRD-23637] Implementation of secure CUBRID jdbc driver

* [CBRD-23637] remove e.printStackTrace()

* [CBRD-23689] If both outer join and inner join are present, the optimizer cannot find the optimal join order. (#2351)

http://jira.cubrid.org/browse/CBRD-23689

 add 'QO_TERM_OR_PRED' flag to the term. in the case of 'QO_TERM_OR_PRED', if there are outer join among all the nodes included, modify term classification to become after-join-term.

* [CBRD-23642] Relieve error severity with a wrong backup time

http://jira.cubrid.org/browse/CBRD-23642

* [CBRD-22637] Excessive domain cache degrades search performance using index scan (#2352)

http://jira.cubrid.org/browse/CBRD-22637

When called from qexec_execute_mainblock() ==> scan_next_scan(), btid_int must be modified to be reused. modify to reuse btid_int by adding the reuse_btid_int variable.

* [CBRD-23669] Provide FULL SQL_Text, if tranlist executed with -f option (#2318) (#2358)

* [CBRD-23639] Provide FULL SQL_Text, if tranlist executed with -f option

* [CBRD-23639] Remove unused definition

* [CBRD-23639] fix indentation

* [CBRD-23671] Fix regression caused by not completing Resultset in ServerSidePreparedStatement (#2355)

http://jira.cubrid.org/browse/CBRD-23671

* [CBRD-23696] Core dump occurs when correlated subquery is used as in-line view.

http://jira.cubrid.org/browse/CBRD-23696

Term classification of 'QO_TC_DUMMY_JOIN' is excluded from pseudo-term of derived table dependency.

* [CBRD-23637] Add error code for ssl handshake exception (#2360)

* [CBRD-23679] Adding a configuration parameter and control for strict type translation (#2340)

* [CBRD-23679] Adding a configuration parameter and control for strict type translation

* [CBRD-23679] revised: default value to false

* [CBRD-23679] revised: check truncated case

* [CBRD-23679] add modification for BIT type

* [CBRD-23679] indent

* [CBRD-23679] param name change and default value to true

* [CBRD-23706] Remove odbc/oledb from CUBRID/cubrid (#2364)

* [CBRD-23697] occurred error "Cannot coerce value of domain character to domain integer" when executing update. (#2361)

1. fix to coerce the value to the type of the assigned column in set clause at semantic check.
1. add type of regu_var to xasl dump output.

* [CBRD-23679] Adding a configuration parameter and control for strict type translation (#2379)

* [CBRD-23679] Adding a configuration parameter and control for strict type translation

* [CBRD-23679] revised: default value to false

* [CBRD-23679] revised: check truncated case

* [CBRD-23679] add modification for BIT type

* [CBRD-23679] indent

* [CBRD-23679] param name change and default value to true

* [CBRD-23679] revised: alter table varchar same precision

* [CBRD-23679] rename system parameter

* [CBRD-23679] indent

* [CBRD-23679] macro define correction

* [CBRD-23679] allow overflow except for string type

* [CBRD-23709] error message is displayed incorrectly in 'MERGE' clause (#2381)

http://jira.cubrid.org/browse/CBRD-23709

fix to display 'Multiple rows in source table match the same row in destination table.' error when there are no existing errors

* [CBRD-21828] Process '.5' style number in loaddb_object as well as '0.5 (#2366)

* [CBRD-23649] make dummy table instead of db_root (#2365)

Co-authored-by: Joohok <joohok@github.com>

* [CBRD-23712] support --skip-vacuum option at csql command on SA mode (#2386)

For skipping vacuum at csql command on SA mode
 * add an option (--skip-vacuum) into csql command and it is used only with SA option.
 * the option can be used with --sysadm.
 * extend two client type (SKIP_VACUUM_CSQL. SKIP_VACUUM_ADMIN_CSQL) for this task.
 * add an argument (bool skip-vacuum) into boot_restart_server().
 * If client type is SKIP_VACUUM_CSQL or SKIP_VACUUM_ADMIN_CSQL, the argument let be true.
* modify that error will occurs if using with -S and --write-on-standby together

* change an limit value of max_client from 2000 to 4000 (#2390)

* [CBRD-23679] Adding a configuration parameter and control for strict type translation (#2392)

* [CBRD-23679] consideration on cast function

* [CBRD-23679] revised: consideration on cast

* [CBRD-23679] bit to bit truncated

* [CBRD-23679] modify corece for show condition

* [CBRD-23679] modified bit string coerce

* [CBRD-23679] revised: bit string coerce

* [CBRD-23679] check incorrect trailing bit

* [CBRD-23679] alter table: allow nchar to char

* indent

* [CBRD-23679] rename tp_value_cast_ex to tp_value_cat_force

* change an limit value of db's max_clients and broker's max_num_appl_server (#2394)

* [CBRD-23679] Adding a configuration parameter and control for strict type translation (#2397)

* [CBRD-23679] revise: xasl_generation for update-list

* [CBRD-23679] check null for update-list, aptr->outptr_list

* [CBRD-23708] change table option's default value to reuse_oid (#2385)

* This is task that the default value is set by reuse_oid option, when create table without oid table option.
The following is a list of changes.
    - Add DONT_REUSE_OID keyword to lexer and grammar
    - Modify semantic check routine
    - Add "create_table_reuseoid" to system parameter
    - Modify to use system parameter ("create_table_reuseoid") for creating table without oid table option
    - Modify "unloadb" & "show create table" to display "DONT_REUSE_OID"
    - Modify tables of demodb_schema using "DONT_REUSE_OID"
    - Replace a collation of demodb from en_US.iso88591 to en_US.utf8 at make_cubrid_demo.sh

* [CBRD-23687] Apply SSL Broker/CAS to damson (#2387)

* [CBRD-23687] Apply SSL Broker/CAS to damson

* [CBRD-23687] Add cas_ssl.c

* [CBRD-23687] Put Error handling

* [CBRD-23687] Fix indent

* [CBRD-23687] Change cas_network.c (remove unnecessary function call)

* [CBRD-23687] Change order of extern definitions

* [CBRD-23687] Async READ for SSL

* [CBRD-23687] Change for ASYNC write with timeout

* [CBRD-23687] Make return value 0 of SSL_read() as error

* [CBRD-23688] Implementation of secure CUBRID CCI driver (#2362)

* [CBRD-23688] Create cci_ssl.c, cci_ssl.h using openSSL for data encryption

* [CBRD-23688] Add ssl, ctx, useSSL variables to T_CON_HANDLE

* [CBRD-23688] Add useSSL Property to T_URL_PROPERTY

* [CBRD-23688] Add magic string(CUBRS) for ssl

* [CBRD-23688] Create ssl read/write macro function for openSSL

* [CBRD-23688] Change net_send_msg_header(), net_recv_msg_header(), net_send_stream() net_recv_stream() to use both non ssl(pure socket) and ssl

* [CBRD-23688] Add ssl connection and ssl free

* [CBRD-23688] Add ssl connection to Health Check Thread

* [CBRD-23688] Add ssl error code

* [CBRD-23688] fix indent

* [CBRD-23688] fix indent

* [CBRD-23688]add error code(ssl handshake exception)

* [CBRD-23688] add T_SSL_HANDLE structure and data send/recv macro function, createSSL function

* [CBRD-23688] add mutex lock to createSSL()

* [CBRD-23688] change to return the correct error to cci_datasource_create()

* [CBRD-23688] delete deprecated code since OpenSSL 1.1.0

* [CBRD-23688] change to close ssl before close socket

* [CBRD-23688] change useSSL check condition

* [CBRD-23688] modify SEND_DATA/RECV_DATA macro function

* [CBRD-23688] modify ssl warraper func and divide cleanup_ssl() into cleanup_ssl(), cleanup_ssl_ctx()

* [CBRD-23688] change createSSL() to ssl_session_init() and modify error handling

* [CBRD-23688] modify data recevie condition

* [CBRD-23688] add copyright text
Copyright (c) 2016 CUBRID Corporation.

* [APIS-833] Add isolation level of CUBRID Engine version 9 or earlier for backward compatibility (#2395)

* [CBRD-23637] fix to terminate the connection immediately when an ssl handshake exception occurs (#2393)

* [CBRD-23697] Fix regression caused by different domain of db_value (#2403)

http://jira.cubrid.org/browse/CBRD-23697

In the case of the same type as the allocated column, incorrect precision is entered without coerce the type. fix to coerce value to the type of the assigned column even if it is the same type.

* modify system parameter (create_table_reuseoid) to can be changed at client during session. (#2405)

* [CBRD-23708] change table option's default value to reuse_oid (#2408)

* modified to get default value of reuse_oid from system parameter, if don't use table option related reuse_oid.

* [CBRD-23722] Prevent endless busy waiting for query execution in abnormal network circumstanec (#2407)

* [CBRD-23722] Prevent endless busy waiting for query execution in abnormal network circumstance

* [CBRD-23722] Add status_request_info packet information

* [CBRD-23722] change function name and parameter name

* [CBRD-23722] change ntohl() to htonl()

* [CBRD-23730] ignore user and password option at tranlist and killtran utility (#2409)

* ignore user and password option and connect to server by disable password at tranlist utility.
* ignore password option if don't use -i or --kill option at killtran utility.

* [CBRD-23685] coredump while insert something into column of type 'char (1073741823)' (#2412)

* [CBRD-23685] coredump while insert something into column of type 'char (1073741823)'

* improve readability: add a comment

* [CBRD-23714] change an limit value of max_client (#2413)

* modied to occur error if max_clients over than 4000.

* [CBRD-23733] Add Microsoft_VCXXX_MFC_xXX.msm for MFC DLL (#2417)

* [CBRD-23729] Enhance compactdb utility (#2415)

* (1) To execute compactdb with specified classes on SA mode, I modified codes for using -i option and class arguments on compactdb.
    If use -i or class arguments, modified compactdb will be skipped phase3 (reclaim catalog, deleted files, file_tracker) on SA mode.
    example)
        cubrid compactdb -S -v -i compact.txt demodb
        cubrid compactdb -S -v demodb athlete event record

(2) To execute compactdb on C/S mode at standby server, I added option such as --standby which is hidden option.
    example)
        cubrid compactdb -C -v -i compact.txt --standby demodb@standby
        cubrid compactdb -C --standby -v demodb@standby athlete event record

* [CBRD-23679] Adding a configuration parameter and control for strict type translation (#2419)

* [CBRD-23679] Adding a configuration parameter and control for strict type translation

* indent

* [CBRD-23734] Core dumped in cubbase::restrack_assert at src/base/resource_tracker.hpp:456

http://jira.cubrid.org/browse/CBRD-23734

add pr_clear_value() to prevent potential memory leak (#2423)

* [CBRD-23734] Core dumped in cubbase::restrack_assert at src/base/resource_tracker.hpp:456 (#2428)

http://jira.cubrid.org/browse/CBRD-23734

add to clear g_regu_list at free_agg_hash_context to prevent memery leak.

* Revert "[CBRD-23734] Core dumped in cubbase::restrack_assert at src/base/resource_tracker.hpp:456" (#2426)

http://jira.cubrid.org/browse/CBRD-23734

Reverts #2423

The vfetch_to variable can be referenced in other reguvars, so it must be cleared at the end of execution of the XASL block.

* [CBRD-23702] Modernize Heap Layers (#2384)

Modernize Heap Layers

* [CBRD-23703] Improve compression with faster library (#2391)

* Improve compression with faster library

* [CBRD-23649] The dual table is excluded from the results of unloaddb utility because it is a system catalog. (#2433)

http://jira.cubrid.org/browse/CBRD-23649

fix a bug reported from the regression test.

* [CBRD-23737] Leaves a log to trace the cause when a failover is occurred due to a server hang. (#2432)

http://jira.cubrid.org/browse/CBRD-23737

* [CBRD-23704] Replace gcrypt usage with openssl (#2406)

http://jira.cubrid.org/browse/CBRD-23704

Replaced CRC32 with a new open-source implementation.
Rewritten functions using openss libraryl:
 - sha functions in crypt_opfunc 
 - md5 functions
 - random in crypt_opfunc
 - aes/des
Removed:
 - gcrypt library
 - libgpg-error library
 - old md5 files (replaced by openssl)

* [CBRD-23677] fixes bug reported in the regression test. (#2425)

http://jira.cubrid.org/browse/CBRD-23677

* [CBRD-23701] The 'cubrid hb start' command operates incorrectly if a database with ha_mode=off is registered in ha_node_list. (#2431)

http://jira.cubrid.org/browse/CBRD-23701

* [CBRD-21560] Syntax errors can occur when a view containing TRUNC() or ROUND() function is fetched (#2435)

http://jira.cubrid.org/browse/CBRD-21560
This change removes the returning error block when "default" is specified in format argument for TRUNC() and ROUND()

* [CBRD-23606] An error occurs when the binding value is larger than 256 chars in merge query (#2411)

* [CBRD-23606] An error occurs when the binding value is larger than the column length in merge query

* indent

* fix 'merge into query flag'

* revert set flag at qexec_end_one_iteration

* fix: add func. do_select_for_ins_upd

* [CBRD-23703] fix build error on Windows (#2436)

http://jira.cubrid.org/browse/CBRD-23703

Fix slip of #2391

* [CBRD-23606] An error occurs when the binding value is larger than 256 chars in merge query (#2438)

* [CBRD-23665] Support Hash List Scan (#2389)

http://jira.cubrid.org/browse/CBRD-23665

Support Hash List Scan

* [CBRD-23723] Include table name in loaddb error message for not null error (#2420)

* [CBRD-23723] Introduce new message to report table name in addition to column name at loaddb not null error

* [CBRD-23723] Changes for loaddb SA mode

* [CBRD-23723] Rewrite in style that does not add new error code.

* [CBRD-23723] table1.col1 style error message for loaddb CS mode

* [CBRD-23723] Revert cubrid.msg files

* [CBRD-22803] show statement for page buffer status (#2437)

http://jira.cubrid.org/browse/CBRD-22803

* [CBRD-23704] Exclude null-terminator from returned len (#2439)

http://jira.cubrid.org/browse/CBRD-23704

Fix slip of #2406

Co-authored-by: Kisoo Han <kisoo-han@cubrid.com>
Co-authored-by: airnet73 <61675061+airnet73@users.noreply.github.com>
Co-authored-by: shparkcubrid <49504233+shparkcubrid@users.noreply.github.com>
Co-authored-by: Hyung-Gyu Ryoo <hgryoo@cubrid.com>
Co-authored-by: joonmin83 <hornetmj@cubrid.com>
Co-authored-by: bigs <wrlawodms@gmail.com>
Co-authored-by: JoohoK <54789363+JoohoK@users.noreply.github.com>
Co-authored-by: JoohoK <joohok@cubrid.com>
Co-authored-by: Joohok <joohok@github.com>
Co-authored-by: Mike MyungHwan Oh <mhoh@cubrid.com>
Co-authored-by: SE park <shpark@cubrid.com>
Co-authored-by: alexandru <alexandru.stan@arnia.ro>
Co-authored-by: radudoros <radudoros@gmail.com>
  • Loading branch information
14 people authored Sep 9, 2020
1 parent fe3a10c commit 0d57a8e
Show file tree
Hide file tree
Showing 275 changed files with 8,211 additions and 23,278 deletions.
202 changes: 55 additions & 147 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -129,15 +129,6 @@ set(WITH_LIBJANSSON_URL "http://www.digip.org/jansson/releases/jansson-2.10.tar.
# editline library sources URL
set(WITH_LIBEDIT_URL "http://thrysoee.dk/editline/libedit-20170329-3.1.tar.gz")

# lzo library sources URL
set(WITH_LIBLZO_URL "http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz")

# gpg-error library sources URL
set(WITH_LIBGPG_ERROR_URL "https://gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.27.tar.bz2")

# gcrypt library sources URL
set(WITH_LIBGCRYPT_URL "https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.5.6.tar.bz2")

# rapidjson library sources URL
set(WITH_RAPIDJSON_URL "https://github.com/Tencent/rapidjson/archive/v1.1.0.tar.gz")

Expand All @@ -151,17 +142,11 @@ set(WITH_SYSTEM_PREFIX "SYSTEM" CACHE STRING "System library prefix (default: SY
set(WITH_LIBEXPAT "${WITH_EXTERNAL_PREFIX}" CACHE STRING "Build with expat library (default: EXTERNAL)")
set(WITH_LIBJANSSON "${WITH_EXTERNAL_PREFIX}" CACHE STRING "Build with jansson library (default: EXTERNAL)")
set(WITH_LIBEDIT "${WITH_EXTERNAL_PREFIX}" CACHE STRING "Build with editline library (default: EXTERNAL)")
set(WITH_LIBLZO "${WITH_EXTERNAL_PREFIX}" CACHE STRING "Build with lzo library (default: EXTERNAL)")
set(WITH_LIBGPG_ERROR "${WITH_EXTERNAL_PREFIX}" CACHE STRING "Build with gpg-error library (default: EXTERNAL)")
set(WITH_LIBGCRYPT "${WITH_EXTERNAL_PREFIX}" CACHE STRING "Build with gcrypt library (default: EXTERNAL)")
set(WITH_LIBNCURSES "${WITH_SYSTEM_PREFIX}" CACHE STRING "Build with ncurses library (default: SYSTEM)")
set(WITH_LIBOPENSSL "${WITH_EXTERNAL_PREFIX}" CACHE STRING "Build with openssl library (default: EXTERNAL)")

message(STATUS "Build with Curses library: ${WITH_LIBNCURSES}")
message(STATUS "Build with editline library: ${WITH_LIBEDIT}")
message(STATUS "Build with lzo library: ${WITH_LIBLZO}")
message(STATUS "Build with gcrypt library: ${WITH_LIBGCRYPT}")
message(STATUS "Build with gpg-error library: ${WITH_LIBGPG_ERROR}")
message(STATUS "Build with expat library: ${WITH_LIBEXPAT}")
message(STATUS "Build with jansson library: ${WITH_LIBJANSSON}")
message(STATUS "Build with openssl library: ${WITH_LIBOPENSSL}")
Expand Down Expand Up @@ -681,11 +666,6 @@ int main() {
include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)

find_library(GCRYPT_LIBRARIES gcrypt)
if(GCRYPT_LIBRARIES)
set(HAVE_LIBGCRYPT 1)
endif(GCRYPT_LIBRARIES)

if(UNIX)
include(FindThreads)
endif(UNIX)
Expand Down Expand Up @@ -1049,148 +1029,76 @@ endif(UNIX)
list(APPEND EP_LIBS ${LIBEDIT_LIBS})
list(APPEND EP_INCLUDES ${LIBEDIT_INCLUDES})

# WITH_LIBLZO can have multiple values with different meanings
# on Linux:
# * "EXTERNAL" - (default) builds lzo library from URL stored in ${WITH_LIBLZO_URL} uses the library created by the build
# * "SYSTEM" - use lzo library located in:
# ${WITH_EXTERNAL_LIBS_PATH}
# ${WITH_LIBLZO_ROOT_PATH}/lib
# use lzo headers located in:
# ${WITH_EXTERNAL_HEADERS_PATH}
# ${WITH_LIBLZO_ROOT_PATH}/include
# on Windows:
# * "EXTERNAL" - (default) uses the prebuilt library from cubrid/win/external
if(WITH_LIBLZO STREQUAL "EXTERNAL")
set(LIBLZO_TARGET liblzo)
if(UNIX)
#compile LZO library given an internet url to a LZO archive
#e.g. http://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz
externalproject_add(${LIBLZO_TARGET}
URL ${WITH_LIBLZO_URL}
TIMEOUT 600
DOWNLOAD_NO_PROGRESS 1
CONFIGURE_COMMAND ${DEFAULT_CONFIGURE_OPTS}
BUILD_COMMAND make all AUTOCONF=: AUTOHEADER=: AUTOMAKE=: ACLOCAL=:
INSTALL_COMMAND make install AUTOCONF=: AUTOHEADER=: AUTOMAKE=: ACLOCAL=:
)
set(LIBLZO_LIBS ${CMAKE_CURRENT_BINARY_DIR}/external/lib/liblzo2.a)
set(LIBLZO_INCLUDES ${CMAKE_CURRENT_BINARY_DIR}/external/include)
list(APPEND EP_TARGETS ${LIBLZO_TARGET})
else(UNIX)
set(LIBLZO_LIBS ${CMAKE_SOURCE_DIR}/win/external/lib64/lzo2.lib)
set(LIBLZO_INCLUDES ${CMAKE_SOURCE_DIR}/win/external/include)
endif(UNIX)
else(WITH_LIBLZO STREQUAL "SYSTEM")
if(UNIX)
find_library(LIBLZO_LIBS NAMES liblzo2.a PATHS ${WITH_EXTERNAL_LIBS_PATH} ${WITH_LIBLZO_ROOT_PATH}/lib REQUIRED)
find_path(LIBLZO_INCLUDES NAMES lzo/lzoconf.h lzo/lzo1x.h PATHS ${WITH_EXTERNAL_HEADERS_PATH} ${WITH_LIBLZO_ROOT_PATH}/include REQUIRED)

message(STATUS "Found lzo library: ${LIBLZO_LIBS}")
message(STATUS "Found lzo headers: ${LIBLZO_INCLUDES}")
endif(UNIX)
endif()
list(APPEND EP_INCLUDES ${LIBLZO_INCLUDES})
list(APPEND EP_LIBS ${LIBLZO_LIBS})

# WITH_LIBGPG_ERROR can have multiple values with different meanings
# on Linux:
# * "EXTERNAL" - (default) builds gpg-error library from URL stored in ${WITH_LIBGPG_ERROR_URL} uses the library created by the build
# * "SYSTEM" - use gpg-error library located in:
# ${WITH_EXTERNAL_LIBS_PATH}
# ${WITH_LIBGPG_ERROR_ROOT_PATH}/lib
# use gpg-error headers located in:
# ${WITH_EXTERNAL_HEADERS_PATH}
# ${WITH_LIBGPG_ERROR_ROOT_PATH}/include
set(LIBGPG_ERROR_TARGET libgpg-error)
if(UNIX)
if(WITH_LIBGPG_ERROR STREQUAL "EXTERNAL")
externalproject_add(${LIBGPG_ERROR_TARGET}
URL ${WITH_LIBGPG_ERROR_URL}
TIMEOUT 600
DOWNLOAD_NO_PROGRESS 1
CONFIGURE_COMMAND ${DEFAULT_CONFIGURE_OPTS} --enable-maintainer-mode --disable-doc --disable-tests
BUILD_COMMAND make all AUTOCONF=: AUTOHEADER=: AUTOMAKE=: ACLOCAL=:
INSTALL_COMMAND make install AUTOCONF=: AUTOHEADER=: AUTOMAKE=: ACLOCAL=:
)
set(LIBGPG_ERROR_LIBS ${CMAKE_CURRENT_BINARY_DIR}/external/lib/libgpg-error.a)
set(LIBGPG_ERROR_INCLUDES ${CMAKE_CURRENT_BINARY_DIR}/external/include)
elseif(WITH_LIBGPG_ERROR STREQUAL "SYSTEM")
find_library(LIBGPG_ERROR_LIBS NAMES libgpg-error.a PATHS ${WITH_EXTERNAL_LIBS_PATH} ${WITH_LIBGPG_ERROR_ROOT_PATH}/lib REQUIRED)
find_path(LIBGPG_ERROR_INCLUDES NAMES gpg-error.h gpgrt.h PATHS ${WITH_EXTERNAL_HEADERS_PATH} ${WITH_LIBGPG_ERROR_ROOT_PATH}/include REQUIRED)

message(STATUS "Found gpg-error library: ${LIBGPG_ERROR_LIBS}")
message(STATUS "Found gpg-error headers: ${LIBGPG_ERROR_INCLUDES}")
endif()
elseif(WIN32)
# use bundled
set (LIBGPG_ERROR_DIR ${WINDOWS_EXTERNAL_DIR}/gpg-error)
set (LIBGPG_ERROR_LIBS ${LIBGPG_ERROR_DIR}/lib/gpg-error.lib)
set (LIBGPG_ERROR_INCLUDES ${LIBGPG_ERROR_DIR}/include)
SET (LIBGPG_ERROR_DLL ${LIBGPG_ERROR_DIR}/bin/gpg-error.dll)
add_custom_target(${LIBGPG_ERROR_TARGET}
COMMAND ${CMAKE_COMMAND} -E echo " copying ${LIBGPG_ERROR_DLL} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/gpg-error.dll"
COMMAND ${CMAKE_COMMAND} -E copy ${LIBGPG_ERROR_DLL} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/gpg-error.dll
)
# LZ4
#
set(LZ4_TARGET lz4)
if(WIN32) # msvc-built lz4 v1.9.2 libraries
set(LZ4_INCLUDES ${WINDOWS_EXTERNAL_DIR}/lz4/include)
set(LZ4_LIBS ${WINDOWS_EXTERNAL_DIR}/lz4/bin/liblz4.lib)
set(LZ4_DLL ${WINDOWS_EXTERNAL_DIR}/lz4/bin/liblz4.dll)

add_custom_target(${LZ4_TARGET}
COMMAND ${CMAKE_COMMAND} -E echo " copying ${LZ4_DLL} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/liblz4.dll"
COMMAND ${CMAKE_COMMAND} -E copy ${LZ4_DLL} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/liblz4.dll
)
else()
externalproject_add(${LZ4_TARGET}
GIT_REPOSITORY https://github.com/lz4/lz4
GIT_TAG fdf2ef5 # https://github.com/lz4/lz4/releases/tag/v1.9.2
CONFIGURE_COMMAND "" # no configure
BUILD_IN_SOURCE true # lz4 Makefile is designed to run locally
BUILD_COMMAND make CFLAGS="-fPIC" # to allow static linking in shared library
INSTALL_COMMAND "" # suppress install
)
set(LZ4_INCLUDES ${CMAKE_BINARY_DIR}/external/Source/lz4/lib)
set(LZ4_LIBS ${CMAKE_BINARY_DIR}/external/Source/lz4/lib/liblz4.a)
endif()
list(APPEND EP_INCLUDES ${LIBGPG_ERROR_INCLUDES})
list(APPEND EP_LIBS ${LIBGPG_ERROR_LIBS})
if (TARGET ${LIBGPG_ERROR_TARGET})
list(APPEND EP_TARGETS ${LIBGPG_ERROR_TARGET})
endif(TARGET ${LIBGPG_ERROR_TARGET})
list(APPEND EP_LIBS ${LZ4_LIBS})
list(APPEND EP_INCLUDES ${LZ4_INCLUDES})

# WITH_LIBGCRYPT can have multiple values with different meanings
# WITH_LOBOPENSSL can have multiple values with different meanings
# on Linux:
# * "EXTERNAL" - (default) builds gcrypt library from URL stored in ${LIBGCRYPT_TARGET} uses the library created by the build
# * "SYSTEM" - use gcrypt library located in:
# * "EXTERNAL" - (default) builds openssl library from URL stored in ${WITH_LIBOPENSSL_URL} uses the library created by the build
# * "SYSTEM" - use openssl library located in:
# ${WITH_EXTERNAL_LIBS_PATH}
# ${WITH_LIBGCRYPT_ROOT_PATH}/lib
# use gcrypt headers located in:
# ${WITH_LIBOPENSSL_ROOT_PATH}/lib
# use openssl headers located in:
# ${WITH_EXTERNAL_HEADERS_PATH}
# ${WITH_LIBGCRYPT_ROOT_PATH}/include
set(LIBGCRYPT_TARGET libgcrypt)
if(WITH_LIBGCRYPT STREQUAL "EXTERNAL")
# ${WITH_LIBOPENSSL_ROOT_PATH}/include
# on Windows:
# * "EXTERNAL" - (default) uses the prebuilt library from cubrid/win/external
if(WITH_LIBOPENSSL STREQUAL "EXTERNAL")
set(LIBOPENSSL_TARGET libopenssl)
if(UNIX)
if(TARGET ${LIBGPG_ERROR_TARGET})
set(WITH_LIBGPG_ERROR_PREFIX "--with-gpg-error-prefix=${CMAKE_CURRENT_BINARY_DIR}/external")
endif()
externalproject_add(${LIBGCRYPT_TARGET}
URL ${WITH_LIBGCRYPT_URL}
#compile OpenSSL library given an internet url to a OpenSSL archive
#e.g. https://www.openssl.org/source/openssl-1.1.1f.tar.gz
externalproject_add(${LIBOPENSSL_TARGET}
URL ${WITH_LIBOPENSSL_URL}
TIMEOUT 600
DOWNLOAD_NO_PROGRESS 1
CONFIGURE_COMMAND ${DEFAULT_CONFIGURE_OPTS} CPPFLAGS=-I${CMAKE_CURRENT_BINARY_DIR}/external/include --enable-maintainer-mode ${WITH_LIBGPG_ERROR_PREFIX}
CONFIGURE_COMMAND <SOURCE_DIR>/config --prefix=${CMAKE_CURRENT_BINARY_DIR}/external no-shared # ${DEFAULT_CONFIGURE_OPTS}
BUILD_COMMAND make all AUTOCONF=: AUTOHEADER=: AUTOMAKE=: ACLOCAL=:
INSTALL_COMMAND make install AUTOCONF=: AUTOHEADER=: AUTOMAKE=: ACLOCAL=:
INSTALL_COMMAND make install_sw AUTOCONF=: AUTOHEADER=: AUTOMAKE=: ACLOCAL=:
)

set(LIBGCRYPT_LIBS ${CMAKE_CURRENT_BINARY_DIR}/external/lib/libgcrypt.a)
set(LIBGCRYPT_INCLUDES ${CMAKE_CURRENT_BINARY_DIR}/external/include)
set(LIBOPENSSL_LIBS ${CMAKE_CURRENT_BINARY_DIR}/external/lib/libssl.a ${CMAKE_CURRENT_BINARY_DIR}/external/lib/libcrypto.a)
set(LIBOPENSSL_INCLUDES ${CMAKE_CURRENT_BINARY_DIR}/external/include)
list(APPEND EP_TARGETS ${LIBOPENSSL_TARGET})
else(UNIX)
set(LIBGCRYPT_DIR ${WINDOWS_EXTERNAL_DIR}/gcrypt)
set(LIBGCRYPT_LIBS ${LIBGCRYPT_DIR}/lib/gcrypt.lib)
set(LIBGCRYPT_INCLUDES ${LIBGCRYPT_DIR}/include)
set(LIBGCRYPT_DLL ${LIBGCRYPT_DIR}/bin/gcrypt.dll)
add_custom_target(libgcrypt
COMMAND ${CMAKE_COMMAND} -E echo " copying ${LIBGCRYPT_DLL} to ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/gcrypt.dll"
COMMAND ${CMAKE_COMMAND} -E copy ${LIBGCRYPT_DLL} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}/gcrypt.dll
)
set(LIBOPENSSL_LIBS ${WINDOWS_EXTERNAL_DIR}/openssl/lib/libssl.lib)
list(APPEND LIBOPENSSL_LIBS ${WINDOWS_EXTERNAL_DIR}/openssl/lib/libcrypto.lib)
list(APPEND LIBOPENSSL_LIBS Crypt32 Ws2_32)
set(LIBOPENSSL_INCLUDES ${WINDOWS_EXTERNAL_DIR}/openssl/include)
endif(UNIX)
elseif(WITH_LIBGCRYPT STREQUAL "SYSTEM")
else(WITH_LIOPENSSL STREQUAL "SYSTEM")
if(UNIX)
find_library(LIBGCRYPT_LIBS NAMES libgcrypt.a PATHS ${WITH_EXTERNAL_LIBS_PATH} ${WITH_LIBGCRYPT_ROOT_PATH}/lib REQUIRED)
find_path(LIBGCRYPT_INCLUDES NAMES gcrypt.h PATHS ${WITH_EXTERNAL_HEADERS_PATH} ${WITH_LIBGCRYPT_ROOT_PATH}/include REQUIRED)

message(STATUS "Found gcrypt library: ${LIBGCRYPT_LIBS}")
message(STATUS "Found gcrypt headers: ${LIBGCRYPT_INCLUDES}")
find_library(LIBOPENSSL_LIBS NAMES libssl.a libcrypto.a PATHS ${WITH_EXTERNAL_LIBS_PATH} ${WITH_LIBOPENSSL_ROOT_PATH}/lib REQUIRED)
find_path(LIBOPENSSL_INCLUDES NAMES openssl/conf.h openssl/evp.h PATHS ${WITH_EXTERNAL_HEADERS_PATH} ${WITH_LIBOPENSSL_ROOT_PATH}/include REQUIRED)
message(STATUS "Found openssl library: ${LIBOPENSSL_LIBS}")
message(STATUS "Found openssl headers: ${LIBOPENSSL_INCLUDES}")
endif(UNIX)
endif()
list(APPEND EP_INCLUDES ${LIBGCRYPT_INCLUDES})
list(APPEND EP_LIBS ${LIBGCRYPT_LIBS})
if (TARGET ${LIBGCRYPT_TARGET})
list(APPEND EP_TARGETS ${LIBGCRYPT_TARGET})
if(TARGET ${LIBGPG_ERROR_TARGET})
add_dependencies(${LIBGCRYPT_TARGET} ${LIBGPG_ERROR_TARGET})
endif(TARGET ${LIBGPG_ERROR_TARGET})
endif(TARGET ${LIBGCRYPT_TARGET})
list(APPEND EP_INCLUDES ${LIBOPENSSL_INCLUDES})
list(APPEND EP_LIBS ${LIBOPENSSL_LIBS})

# WITH_LOBOPENSSL can have multiple values with different meanings
# on Linux:
Expand Down
2 changes: 1 addition & 1 deletion cmake/CPackOptions.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ elseif(CPACK_GENERATOR STREQUAL "RPM")
set(CPACK_RPM_PACKAGE_LICENSE "GPLv2+ and BSD")
set(CPACK_RPM_PACKAGE_GROUP "Applications/Databases")
set(CPACK_RPM_PACKAGE_URL "http://www.cubrid.org")
set(CPACK_RPM_PACKAGE_REQUIRES "ncurses libstdc++ libgcrypt coreutils /sbin/chkconfig /usr/sbin/useradd /usr/sbin/groupadd")
set(CPACK_RPM_PACKAGE_REQUIRES "ncurses libstdc++ coreutils /sbin/chkconfig /usr/sbin/useradd /usr/sbin/groupadd")
set(CPACK_RPM_PACKAGE_ARCHITECTURE "${CMAKE_HOST_SYSTEM_PROCESSOR}")
set(CPACK_RPM_PACKAGE_RELOCATABLE FALSE)
set(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_SOURCE_DIR}/cmake/CPack_preinstall.sh.in")
Expand Down
3 changes: 1 addition & 2 deletions contrib/coverage/xcov.conf
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@ cppcheck_include_dir=/usr/include\
.\
external/include\
external/include/editline\
external/include/gc\
external/include/lzo
external/include/gc

# root of source codes to be analyzed when --cppcheck-all option specified
# (default: SVN root)
Expand Down
6 changes: 3 additions & 3 deletions cs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

set(EXECUTABLE_SOURCES
${EXECUTABLES_DIR}/compactdb_cl.c
${EXECUTABLES_DIR}/compactdb_common.c
${EXECUTABLES_DIR}/csql.c
${EXECUTABLES_DIR}/csql_result.c
${EXECUTABLES_DIR}/csql_result_format.c
Expand Down Expand Up @@ -100,7 +101,6 @@ set(BASE_SOURCES
${BASE_DIR}/locale_helper.cpp
${BASE_DIR}/locale_support.c
${BASE_DIR}/lockfree_bitmap.cpp
${BASE_DIR}/md5.c
${BASE_DIR}/mem_block.cpp
${BASE_DIR}/memory_alloc.c
${BASE_DIR}/memory_hash.c
Expand Down Expand Up @@ -367,6 +367,7 @@ endif(UNIX)

SET_SOURCE_FILES_PROPERTIES(
${EXECUTABLES_DIR}/compactdb_cl.c
${EXECUTABLES_DIR}/compactdb_common.c
${EXECUTABLES_DIR}/csql.c
${EXECUTABLES_DIR}/csql_result.c
${EXECUTABLES_DIR}/csql_result_format.c
Expand Down Expand Up @@ -415,7 +416,6 @@ SET_SOURCE_FILES_PROPERTIES(
PROPERTIES LANGUAGE CXX
)
SET_SOURCE_FILES_PROPERTIES(
${BASE_DIR}/md5.c
${CSQL_GRAMMAR_OUTPUT}
${CSQL_LEXER_OUTPUT}
${ESQL_GRAMMAR_OUTPUT}
Expand Down Expand Up @@ -478,7 +478,7 @@ if(WIN32)
target_link_libraries(cubridcs LINK_PRIVATE ws2_32)
set_target_properties(cubridcs PROPERTIES LINK_FLAGS "/DEF:\"${CMAKE_SOURCE_DIR}/win/cubridcs/cubridcs.def\"" LINK_FLAGS_RELEASE "/NODEFAULTLIB:libcmt.lib" LINK_FLAGS_DEBUG "/NODEFAULTLIB:msvcrt.lib")
endif(WIN32)
target_include_directories(cubridcs PRIVATE ${CMAKE_SOURCE_DIR}/src/heaplayers/util ${FLEX_INCLUDE_DIRS} ${EP_INCLUDES})
target_include_directories(cubridcs PRIVATE ${FLEX_INCLUDE_DIRS} ${EP_INCLUDES})
if(UNIX)
target_link_libraries(cubridcs LINK_PRIVATE -Wl,-whole-archive cas ${EP_LIBS} -Wl,-no-whole-archive)
target_link_libraries(cubridcs LINK_PUBLIC ${CURSES_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS})
Expand Down
11 changes: 3 additions & 8 deletions cubrid/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,6 @@ set(BASE_SOURCES
${BASE_DIR}/lockfree_transaction_descriptor.cpp
${BASE_DIR}/lockfree_transaction_table.cpp
${BASE_DIR}/lockfree_transaction_system.cpp
${BASE_DIR}/md5.c
${BASE_DIR}/mem_block.cpp
${BASE_DIR}/memory_alloc.c
${BASE_DIR}/memory_hash.c
Expand Down Expand Up @@ -210,6 +209,7 @@ set(QUERY_SOURCES
${QUERY_DIR}/numeric_opfunc.c
${QUERY_DIR}/partition.c
${QUERY_DIR}/query_aggregate.cpp
${QUERY_DIR}/query_hash_scan.c
${QUERY_DIR}/query_analytic.cpp
${QUERY_DIR}/query_dump.c
${QUERY_DIR}/query_evaluator.c
Expand All @@ -231,6 +231,7 @@ set(QUERY_SOURCES
)
set(QUERY_HEADERS
${QUERY_DIR}/query_aggregate.hpp
${QUERY_DIR}/query_hash_scan.h
${QUERY_DIR}/query_analytic.hpp
${QUERY_DIR}/query_monitoring.hpp
${QUERY_DIR}/query_reevaluation.hpp
Expand Down Expand Up @@ -430,11 +431,6 @@ SET_SOURCE_FILES_PROPERTIES(
PROPERTIES LANGUAGE CXX
)

SET_SOURCE_FILES_PROPERTIES(
${BASE_DIR}/md5.c
PROPERTIES LANGUAGE C
)

set (CUBRID_LIB_SOURCES
${BASE_SOURCES}
${COMMUNICATION_SOURCES}
Expand Down Expand Up @@ -497,7 +493,7 @@ if(WIN32)
target_link_libraries(cubrid LINK_PRIVATE ws2_32 ${JVM_LIBS})
set_target_properties(cubrid PROPERTIES LINK_FLAGS "/DEF:\"${CMAKE_SOURCE_DIR}/win/libcubrid/libcubrid.def\"" LINK_FLAGS_RELEASE "/NODEFAULTLIB:libcmt.lib" LINK_FLAGS_DEBUG "/NODEFAULTLIB:msvcrt.lib")
endif(WIN32)
target_include_directories(cubrid PRIVATE ${CMAKE_SOURCE_DIR}/src/heaplayers/util ${JAVA_INC} ${EP_INCLUDES} ${FLEX_INCLUDE_DIRS})
target_include_directories(cubrid PRIVATE ${JAVA_INC} ${EP_INCLUDES} ${FLEX_INCLUDE_DIRS})
if(UNIX)
target_link_libraries(cubrid LINK_PRIVATE -Wl,-whole-archive ${EP_LIBS} -Wl,-no-whole-archive)
target_link_libraries(cubrid LINK_PUBLIC ${CURSES_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${CMAKE_DL_LIBS})
Expand Down Expand Up @@ -529,7 +525,6 @@ if(AT_LEAST_ONE_UNIT_TEST)
)

target_include_directories(cubrid-win-lib PRIVATE
${CMAKE_SOURCE_DIR}/src/heaplayers/util
${JAVA_INC}
${EP_INCLUDES}
${FLEX_INCLUDE_DIRS}
Expand Down
7 changes: 4 additions & 3 deletions msg/de_DE.utf8/utils.msg
Original file line number Diff line number Diff line change
Expand Up @@ -552,16 +552,17 @@ gültige Optionen:\n\
-i, --input-class-file=DATEI Eingabedatei mit Tabellennamen \n\
Klassenname Liste muss leer sein \n\
Standard: alle Klassen komprimieren\n\
Nur in CS-Modus aktiviert\n\
-p, --pages-commited-once=ANZAHL maximale Anzahl der Seiten, die einmal festgeschrieben werden dürfen \n\
Standard: 10\n\
Nur in CS-Modus aktiviert\n\
-S, --SA-mode Stand-Alone-Ausführung\n\
-C, --CS-mode Client-Server-Ausführung\n\
-d, --delete-old-repr alte Klasserepräsentierungen aus dem Katalog löschen; Standard: inaktiv\n\
class_name_list Nur in CS-Modus aktiviert\n\
-I, --Instance-lock-timeout Timeout für Instanz-Lock\n\
-c, --class-lock-timeout Timeout für Klassen-Lock \n
Nur in CS-Modus aktiviert\n\
-c, --class-lock-timeout Timeout für Klassen-Lock \n\
Nur in CS-Modus aktiviert\n\
class_name_list Liste der zu komprimierenden Klassennamen\n

$set 15 MSGCAT_UTIL_SET_COMMDB
21 Der CUBRID Master auf Host %1$s \nwurde am %2$s gestartet
Expand Down
Loading

0 comments on commit 0d57a8e

Please sign in to comment.