mirror of https://gitee.com/bigwinds/arangodb
Bug fix/issues 23122018 (#7847)
This commit is contained in:
parent
20d5e1655e
commit
f4f61e2947
|
@ -483,7 +483,7 @@ class Utf32String {
|
|||
Utf32String& operator=(const Utf32String& that) {
|
||||
if (this != &that) {
|
||||
delete[] _data;
|
||||
_data = new char32_t[that._length]();
|
||||
_data = new char32_t[that._length + 1]();
|
||||
_length = that._length;
|
||||
memcpy(_data, that._data, sizeof(char32_t) * _length);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
devel
|
||||
-----
|
||||
|
||||
* speed up data-modification operations in exclusive transactions in the RocksDB
|
||||
storage engine
|
||||
|
||||
* An AQL query that uses the edge index only and returns the opposite side of
|
||||
the edge can now be executed in a more optimized way, e.g.
|
||||
|
||||
|
|
|
@ -206,6 +206,12 @@ void RocksDBTransactionState::createTransaction() {
|
|||
trxOpts.set_snapshot = true;
|
||||
// unclear performance implications do not use for now
|
||||
// trxOpts.deadlock_detect = !hasHint(transaction::Hints::Hint::NO_DLD);
|
||||
|
||||
if (isOnlyExclusiveTransaction()) {
|
||||
// we are exclusively modifying collection data here, so we can turn off
|
||||
// all concurrency controls to save time
|
||||
trxOpts.skip_concurrency_control = true;
|
||||
}
|
||||
|
||||
TRI_ASSERT(_rocksTransaction == nullptr ||
|
||||
_rocksTransaction->GetState() == rocksdb::Transaction::COMMITED ||
|
||||
|
|
|
@ -149,9 +149,15 @@ set(ARANGODB_TESTS_SOURCES
|
|||
|
||||
if (LINUX)
|
||||
# add "-fno-var-tracking" to the compiler flags
|
||||
# this speeds up the compilation with newer g++ versions and prevents the
|
||||
# "variable tracking size limit exceeded warnings"
|
||||
set_source_files_properties(${ARANGODB_TESTS_SOURCES} PROPERTIES COMPILE_FLAGS -fno-var-tracking)
|
||||
# this speeds up the compilation with optimizations and newer g++ versions
|
||||
# and prevents the "variable tracking size limit exceeded warnings" from
|
||||
# occurring
|
||||
if (CMAKE_COMPILER_IS_GNUCC)
|
||||
# also turn off super-expensive global common subexpression elimination for tests
|
||||
set_source_files_properties(${ARANGODB_TESTS_SOURCES} PROPERTIES COMPILE_FLAGS "-fno-var-tracking -fno-gcse")
|
||||
else ()
|
||||
set_source_files_properties(${ARANGODB_TESTS_SOURCES} PROPERTIES COMPILE_FLAGS -fno-var-tracking)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
add_executable(
|
||||
|
|
Loading…
Reference in New Issue