[no merge] no db #8
|
@ -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})
|
||||||
|
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
Reference in New Issue