22
33import lombok .RequiredArgsConstructor ;
44import net .javadiscord .javabot .data .h2db .message_cache .model .CachedMessage ;
5+ import org .jetbrains .annotations .NotNull ;
56
67import java .sql .*;
78import java .util .ArrayList ;
@@ -39,11 +40,12 @@ public boolean insert(CachedMessage message) throws SQLException {
3940 * @param messages The List to insert.
4041 * @throws SQLException If an error occurs.
4142 */
42- public void insertList (List <CachedMessage > messages ) throws SQLException {
43+ public void insertList (@ NotNull List <CachedMessage > messages ) throws SQLException {
44+ List <CachedMessage > all = getAll ();
4345 try (PreparedStatement stmt = con .prepareStatement ("INSERT INTO message_cache (message_id, author_id, message_content) VALUES (?, ?, ?)" ,
4446 Statement .RETURN_GENERATED_KEYS
4547 )) {
46- for (CachedMessage msg : messages ) {
48+ for (CachedMessage msg : messages . stream (). filter ( s -> ! all . contains ( s )). toList () ) {
4749 stmt .setLong (1 , msg .getMessageId ());
4850 stmt .setLong (2 , msg .getAuthorId ());
4951 stmt .setString (3 , msg .getMessageContent ());
@@ -59,7 +61,7 @@ public void insertList(List<CachedMessage> messages) throws SQLException {
5961 * @return Whether there were rows affected by this process.
6062 * @throws SQLException If an error occurs.
6163 */
62- public boolean update (CachedMessage message ) throws SQLException {
64+ public boolean update (@ NotNull CachedMessage message ) throws SQLException {
6365 try (PreparedStatement stmt = con .prepareStatement ("UPDATE message_cache SET message_content = ? WHERE message_id = ?" ,
6466 Statement .RETURN_GENERATED_KEYS
6567 )) {
0 commit comments