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