1
0
Fork 0

Bug fix/issues 23122018 (#7847)

This commit is contained in:
Jan 2019-01-02 11:11:03 +01:00 committed by GitHub
parent 20d5e1655e
commit f4f61e2947
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 4 deletions

View File

@ -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);
}

View File

@ -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.

View File

@ -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 ||

View File

@ -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(