insert error entry one by one

This commit is contained in:
Cuong-Tran
2024-10-24 03:37:46 +07:00
parent 2979caa676
commit 28fa0dec6a
10 changed files with 54 additions and 57 deletions

View File

@@ -37,6 +37,15 @@ class LibraryUpdateErrorRepositoryImpl(
}
}
override suspend fun upsert(libraryUpdateError: LibraryUpdateError) {
return handler.await(inTransaction = true) {
libraryUpdateErrorQueries.upsert(
mangaId = libraryUpdateError.mangaId,
messageId = libraryUpdateError.messageId,
)
}
}
override suspend fun insert(libraryUpdateError: LibraryUpdateError) {
return handler.await(inTransaction = true) {
libraryUpdateErrorQueries.insert(

View File

@@ -29,8 +29,14 @@ class LibraryUpdateErrorMessageRepositoryImpl(
return handler.await { libraryUpdateErrorMessageQueries.deleteAllErrorMessages() }
}
override suspend fun insert(libraryUpdateErrorMessage: LibraryUpdateErrorMessage): Long? {
return handler.awaitOneOrNullExecutable(inTransaction = true) {
override suspend fun get(message: String): Long? {
return handler.awaitOneOrNullExecutable {
libraryUpdateErrorMessageQueries.getErrorMessages(message) { id, _ -> id }
}
}
override suspend fun insert(libraryUpdateErrorMessage: LibraryUpdateErrorMessage): Long {
return handler.awaitOneExecutable(inTransaction = true) {
libraryUpdateErrorMessageQueries.insert(libraryUpdateErrorMessage.message)
libraryUpdateErrorMessageQueries.selectLastInsertedRowId()
}

View File

@@ -1,6 +1,6 @@
CREATE TABLE libraryUpdateError (
_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
manga_id INTEGER NOT NULL,
manga_id INTEGER NOT NULL UNIQUE,
message_id INTEGER NOT NULL
);
@@ -11,6 +11,15 @@ FROM libraryUpdateError;
insert:
INSERT INTO libraryUpdateError(manga_id, message_id) VALUES (:mangaId, :messageId);
upsert:
INSERT INTO libraryUpdateError(manga_id, message_id)
VALUES (:mangaId, :messageId)
ON CONFLICT(manga_id)
DO UPDATE
SET
message_id = :messageId
WHERE manga_id = :mangaId;
deleteAllErrors:
DELETE FROM libraryUpdateError;

View File

@@ -7,6 +7,10 @@ getAllErrorMessages:
SELECT *
FROM libraryUpdateErrorMessage;
getErrorMessages:
SELECT *
FROM libraryUpdateErrorMessage WHERE message == :message;
insert:
INSERT INTO libraryUpdateErrorMessage(message) VALUES (:message);

View File

@@ -2,7 +2,7 @@ DROP VIEW IF EXISTS libraryUpdateErrorView;
CREATE TABLE IF NOT EXISTS libraryUpdateError (
_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
manga_id INTEGER NOT NULL,
manga_id INTEGER NOT NULL UNIQUE,
message_id INTEGER NOT NULL
);