[no merge] no db #8

Closed
Ghost wants to merge 2 commits from nodb into fork
2 changed files with 72 additions and 69 deletions

View File

@ -145,6 +145,7 @@ endif()
set(CMAKE_THREAD_PREFER_PTHREAD ON) set(CMAKE_THREAD_PREFER_PTHREAD ON)
set(THREADS_PREFER_PTHREAD_FLAG ON) set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
find_package(mimalloc 1.0 REQUIRED)
if (THREADS_HAVE_PTHREAD_ARG) if (THREADS_HAVE_PTHREAD_ARG)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
@ -758,7 +759,9 @@ target_include_directories(tdclient PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${TL_TD_AUTO_INCLUDES}> $<BUILD_INTERFACE:${TL_TD_AUTO_INCLUDES}>
) )
target_link_libraries(tdclient PRIVATE tdcore) target_link_libraries(tdclient PRIVATE tdcore)
target_link_libraries(tdclient PUBLIC mimalloc)
if (TD_ENABLE_JNI AND NOT ANDROID) # jni is available by default on Android if (TD_ENABLE_JNI AND NOT ANDROID) # jni is available by default on Android
target_include_directories(tdclient PUBLIC ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2}) target_include_directories(tdclient PUBLIC ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})

View File

@ -289,75 +289,75 @@ class MessagesDbImpl : public MessagesDbSyncInterface {
add_message_stmt_.reset(); add_message_stmt_.reset();
}; };
seqno_++; // seqno_++;
//
if (seqno_ % 8128 == 0) { // if (seqno_ % 8128 == 0) {
TRY_STATUS(db_memory_.exec("DELETE FROM messages WHERE seqno < " + to_string(seqno_ - 7168))); // TRY_STATUS(db_memory_.exec("DELETE FROM messages WHERE seqno < " + to_string(seqno_ - 7168)));
} // }
//
add_message_stmt_.bind_int32(12, seqno_).ensure(); // add_message_stmt_.bind_int32(12, seqno_).ensure();
//
add_message_stmt_.bind_int64(1, dialog_id.get()).ensure(); // add_message_stmt_.bind_int64(1, dialog_id.get()).ensure();
add_message_stmt_.bind_int64(2, message_id.get()).ensure(); // add_message_stmt_.bind_int64(2, message_id.get()).ensure();
//
if (unique_message_id.is_valid()) { // if (unique_message_id.is_valid()) {
add_message_stmt_.bind_int32(3, unique_message_id.get()).ensure(); // add_message_stmt_.bind_int32(3, unique_message_id.get()).ensure();
} else { // } else {
add_message_stmt_.bind_null(3).ensure(); // add_message_stmt_.bind_null(3).ensure();
} // }
//
if (sender_user_id.is_valid()) { // if (sender_user_id.is_valid()) {
add_message_stmt_.bind_int32(4, sender_user_id.get()).ensure(); // add_message_stmt_.bind_int32(4, sender_user_id.get()).ensure();
} else { // } else {
add_message_stmt_.bind_null(4).ensure(); // add_message_stmt_.bind_null(4).ensure();
} // }
//
if (random_id != 0) { // if (random_id != 0) {
add_message_stmt_.bind_int64(5, random_id).ensure(); // add_message_stmt_.bind_int64(5, random_id).ensure();
} else { // } else {
add_message_stmt_.bind_null(5).ensure(); // add_message_stmt_.bind_null(5).ensure();
} // }
//
add_message_stmt_.bind_blob(6, data.as_slice()).ensure(); // add_message_stmt_.bind_blob(6, data.as_slice()).ensure();
//
if (ttl_expires_at != 0) { // if (ttl_expires_at != 0) {
add_message_stmt_.bind_int32(7, ttl_expires_at).ensure(); // add_message_stmt_.bind_int32(7, ttl_expires_at).ensure();
} else { // } else {
add_message_stmt_.bind_null(7).ensure(); // add_message_stmt_.bind_null(7).ensure();
} // }
//
if (index_mask != 0) { // if (index_mask != 0) {
add_message_stmt_.bind_int32(8, index_mask).ensure(); // add_message_stmt_.bind_int32(8, index_mask).ensure();
} else { // } else {
add_message_stmt_.bind_null(8).ensure(); // add_message_stmt_.bind_null(8).ensure();
} // }
if (search_id != 0) { // if (search_id != 0) {
// add dialog_id to text // // add dialog_id to text
text += PSTRING() << " \a" << dialog_id.get(); // text += PSTRING() << " \a" << dialog_id.get();
if (index_mask) { // if (index_mask) {
for (int i = 0; i < MESSAGES_DB_INDEX_COUNT; i++) { // for (int i = 0; i < MESSAGES_DB_INDEX_COUNT; i++) {
if ((index_mask & (1 << i))) { // if ((index_mask & (1 << i))) {
text += PSTRING() << " \a\a" << i; // text += PSTRING() << " \a\a" << i;
} // }
} // }
} // }
add_message_stmt_.bind_int64(9, search_id).ensure(); // add_message_stmt_.bind_int64(9, search_id).ensure();
} else { // } else {
text = ""; // text = "";
add_message_stmt_.bind_null(9).ensure(); // add_message_stmt_.bind_null(9).ensure();
} // }
if (!text.empty()) { // if (!text.empty()) {
add_message_stmt_.bind_string(10, text).ensure(); // add_message_stmt_.bind_string(10, text).ensure();
} else { // } else {
add_message_stmt_.bind_null(10).ensure(); // add_message_stmt_.bind_null(10).ensure();
} // }
if (notification_id.is_valid()) { // if (notification_id.is_valid()) {
add_message_stmt_.bind_int32(11, notification_id.get()).ensure(); // add_message_stmt_.bind_int32(11, notification_id.get()).ensure();
} else { // } else {
add_message_stmt_.bind_null(11).ensure(); // add_message_stmt_.bind_null(11).ensure();
} // }
//
add_message_stmt_.step().ensure(); // add_message_stmt_.step().ensure();
return Status::OK(); return Status::OK();
} }