kandi background
Explore Kits

oceanbase | enterprise distributed relational database | Database library

 by   oceanbase C++ Version: v3.1.3_CE License: Non-SPDX

 by   oceanbase C++ Version: v3.1.3_CE License: Non-SPDX

Download this library from

kandi X-RAY | oceanbase Summary

oceanbase is a C++ library typically used in Database applications. oceanbase has no bugs, it has no vulnerabilities and it has medium support. However oceanbase has a Non-SPDX License. You can download it from GitHub.
OceanBase Database is a native distributed relational database. It is developed entirely by Alibaba and Ant Group. OceanBase Database is built on a common server cluster. Based on the Paxos protocol and its distributed structure, OceanBase Database provides high availability and linear scalability. OceanBase Database is not dependent on specific hardware architectures.
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • oceanbase has a medium active ecosystem.
  • It has 4231 star(s) with 951 fork(s). There are 90 watchers for this library.
  • There were 2 major release(s) in the last 12 months.
  • There are 106 open issues and 476 have been closed. On average issues are closed in 134 days. There are 39 open pull requests and 0 closed requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of oceanbase is v3.1.3_CE
oceanbase Support
Best in #Database
Average in #Database
oceanbase Support
Best in #Database
Average in #Database

quality kandi Quality

  • oceanbase has no bugs reported.
oceanbase Quality
Best in #Database
Average in #Database
oceanbase Quality
Best in #Database
Average in #Database

securitySecurity

  • oceanbase has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
oceanbase Security
Best in #Database
Average in #Database
oceanbase Security
Best in #Database
Average in #Database

license License

  • oceanbase has a Non-SPDX License.
  • Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
oceanbase License
Best in #Database
Average in #Database
oceanbase License
Best in #Database
Average in #Database

buildReuse

  • oceanbase releases are available to install and integrate.
  • Installation instructions are available. Examples and code snippets are not available.
oceanbase Reuse
Best in #Database
Average in #Database
oceanbase Reuse
Best in #Database
Average in #Database
Top functions reviewed by kandi - BETA

kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
Currently covering the most popular Java, JavaScript and Python libraries. See a Sample Here

Get all kandi verified functions for this library.

Get all kandi verified functions for this library.

oceanbase Key Features

High availability Single server failure recovers automatically. OceanBase Database supports cross-city disaster tolerance for multiple IDCs and zero data loss. OceanBase Database meets the financial industry Level 6 disaster recovery standard (RPO=0, RTO<=30 seconds).

Linear scalability OceanBase Database scales transparently to applications and balances the system load automatically. Its cluster can contain more than 1500 nodes. The data volume can reach petabytes. The records in a single table can be more than a trillion rows.

Highly compatible with MySQL OceanBase Database is compatible with MySQL protocol and syntax. You can access to OceanBase Database by using MySQL client.

High performance OceanBase Database supports quasi memory level data change and exclusive encoding compression. Together with the linear scalability, OceanBase Database provides high performance.

Low cost OceanBase Database uses PC servers and cheap SSDs. Its high storage compression ratio and high performance also reduce the storage and computing cost.

Multi-tenancy OceanBase Database supports native multi-tenancy architecture. One cluster supports multiple businesses. Data is isolated among tenants. This reduces the deployment, operation, and maintenance costs.

Community Discussions

Trending Discussions on oceanbase
  • CMAKE_EXPORT_COMPILE_COMMANDS doesn't work since many cpp files is built into 1 big file somehow
Trending Discussions on oceanbase

QUESTION

CMAKE_EXPORT_COMPILE_COMMANDS doesn't work since many cpp files is built into 1 big file somehow

Asked 2021-Jun-05 at 10:17

I want to use CMAKE_EXPORT_COMPILE_COMMANDS to generate compile_commands.json, however I find many files are missed. Here is what I found:

  1. I modified a file named ob_join_order.cpp, and then build the project again, then I see
Building CXX objectsrc/sql/CMakeFiles/ob_sql.dir/Unity/unity_ob_sql_optimizer/0_cxx.cxx.o

You can see that it is not ob_join_order.cpp, but it is 0_cxx.cxx.o. By checking the files src/sql/CMakeFiles/ob_sql.dir/Unity/unity_ob_sql_optimizer/0_cxx.cxx, I see something like this.

#include "/u01/yizhi/github/oceanbase/src/sql/optimizer/ob_join_order.cpp"
#ifdef USING_LOG_PREFIX
#undef USING_LOG_PREFIX
#endif

#include "/u01/yizhi/github/oceanbase/src/sql/optimizer/ob_log_monitoring_dump.cpp"
#ifdef USING_LOG_PREFIX
#undef USING_LOG_PREFIX
#endif

So I think before the compiler compile the source file, the source files are merged into a big one. that's why CMAKE_EXPORT_COMPILE_COMMANDS failed.

Is it some tech in CMake or not? how can I disable it?

All the stuff can be reproduced by

git clone https://github.com/oceanbase/oceanbase.git

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 540863a..d12c4e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,8 @@ project("OceanBase CE"
   HOMEPAGE_URL "https://www.oceanbase.com/"
   LANGUAGES CXX C ASM)
 
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE INTERNAL "")
+
 ob_define(WITH_OSS OFF)
 
 if(ENABLE_DEBUG_LOG)
diff --git a/build.sh b/build.sh
index 98f91e4..0d17d42 100755
--- a/build.sh
+++ b/build.sh
@@ -94,7 +94,7 @@ function do_build
 {
     TYPE=$1; shift
     prepare_build_dir $TYPE || return
-    ${CMAKE_COMMAND} ${TOPDIR} "$@"
+    ${CMAKE_COMMAND}  -DCMAKE_EXPORT_COMPILE_COMMANDS=1 ${TOPDIR} "$@"
 }

sh build.sh debug --init --make

ANSWER

Answered 2021-Jun-05 at 10:17

You're correct all the files are being collected into a single file, and that CMake is partially responsible. However this isn't default CMake behavior.

OceanBase is specifically configured as a unity build, meaning all of the translation units are collected into a single "unity" translation unit. You can see where they set this up in their cmake utilities. The relevant target property is UNITY_BUILD ON.

Source https://stackoverflow.com/questions/67848375

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

Vulnerabilities

No vulnerabilities reported

Install oceanbase

Refer to the Get Started guide to try out OceanBase Database.

Support

English (Coming soon)Simplified Chinese (简体中文)

DOWNLOAD this Library from

Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases
Explore Kits

Save this library and start creating your kit

Explore Related Topics

Share this Page

share link
Reuse Pre-built Kits with oceanbase
Consider Popular Database Libraries
Try Top Libraries by oceanbase
Compare Database Libraries with Highest Support
Compare Database Libraries with Highest Quality
Compare Database Libraries with Highest Security
Compare Database Libraries with Permissive License
Compare Database Libraries with Highest Reuse
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases
Explore Kits

Save this library and start creating your kit

  • © 2022 Open Weaver Inc.