[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(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
find_package(mimalloc 1.0 REQUIRED)
if (THREADS_HAVE_PTHREAD_ARG)
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:${TL_TD_AUTO_INCLUDES}>
)
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
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();
};
seqno_++;
if (seqno_ % 8128 == 0) {
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_int64(1, dialog_id.get()).ensure();
add_message_stmt_.bind_int64(2, message_id.get()).ensure();
if (unique_message_id.is_valid()) {
add_message_stmt_.bind_int32(3, unique_message_id.get()).ensure();
} else {
add_message_stmt_.bind_null(3).ensure();
}
if (sender_user_id.is_valid()) {
add_message_stmt_.bind_int32(4, sender_user_id.get()).ensure();
} else {
add_message_stmt_.bind_null(4).ensure();
}
if (random_id != 0) {
add_message_stmt_.bind_int64(5, random_id).ensure();
} else {
add_message_stmt_.bind_null(5).ensure();
}
add_message_stmt_.bind_blob(6, data.as_slice()).ensure();
if (ttl_expires_at != 0) {
add_message_stmt_.bind_int32(7, ttl_expires_at).ensure();
} else {
add_message_stmt_.bind_null(7).ensure();
}
if (index_mask != 0) {
add_message_stmt_.bind_int32(8, index_mask).ensure();
} else {
add_message_stmt_.bind_null(8).ensure();
}
if (search_id != 0) {
// add dialog_id to text
text += PSTRING() << " \a" << dialog_id.get();
if (index_mask) {
for (int i = 0; i < MESSAGES_DB_INDEX_COUNT; i++) {
if ((index_mask & (1 << i))) {
text += PSTRING() << " \a\a" << i;
}
}
}
add_message_stmt_.bind_int64(9, search_id).ensure();
} else {
text = "";
add_message_stmt_.bind_null(9).ensure();
}
if (!text.empty()) {
add_message_stmt_.bind_string(10, text).ensure();
} else {
add_message_stmt_.bind_null(10).ensure();
}
if (notification_id.is_valid()) {
add_message_stmt_.bind_int32(11, notification_id.get()).ensure();
} else {
add_message_stmt_.bind_null(11).ensure();
}
add_message_stmt_.step().ensure();
// seqno_++;
//
// if (seqno_ % 8128 == 0) {
// 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_int64(1, dialog_id.get()).ensure();
// add_message_stmt_.bind_int64(2, message_id.get()).ensure();
//
// if (unique_message_id.is_valid()) {
// add_message_stmt_.bind_int32(3, unique_message_id.get()).ensure();
// } else {
// add_message_stmt_.bind_null(3).ensure();
// }
//
// if (sender_user_id.is_valid()) {
// add_message_stmt_.bind_int32(4, sender_user_id.get()).ensure();
// } else {
// add_message_stmt_.bind_null(4).ensure();
// }
//
// if (random_id != 0) {
// add_message_stmt_.bind_int64(5, random_id).ensure();
// } else {
// add_message_stmt_.bind_null(5).ensure();
// }
//
// add_message_stmt_.bind_blob(6, data.as_slice()).ensure();
//
// if (ttl_expires_at != 0) {
// add_message_stmt_.bind_int32(7, ttl_expires_at).ensure();
// } else {
// add_message_stmt_.bind_null(7).ensure();
// }
//
// if (index_mask != 0) {
// add_message_stmt_.bind_int32(8, index_mask).ensure();
// } else {
// add_message_stmt_.bind_null(8).ensure();
// }
// if (search_id != 0) {
// // add dialog_id to text
// text += PSTRING() << " \a" << dialog_id.get();
// if (index_mask) {
// for (int i = 0; i < MESSAGES_DB_INDEX_COUNT; i++) {
// if ((index_mask & (1 << i))) {
// text += PSTRING() << " \a\a" << i;
// }
// }
// }
// add_message_stmt_.bind_int64(9, search_id).ensure();
// } else {
// text = "";
// add_message_stmt_.bind_null(9).ensure();
// }
// if (!text.empty()) {
// add_message_stmt_.bind_string(10, text).ensure();
// } else {
// add_message_stmt_.bind_null(10).ensure();
// }
// if (notification_id.is_valid()) {
// add_message_stmt_.bind_int32(11, notification_id.get()).ensure();
// } else {
// add_message_stmt_.bind_null(11).ensure();
// }
//
// add_message_stmt_.step().ensure();
return Status::OK();
}