From d6f9a03786a8ae18c7a25c332a68257d885c6510 Mon Sep 17 00:00:00 2001 From: heimoshuiyu Date: Thu, 16 Dec 2021 22:34:18 +0800 Subject: [PATCH] SQL ORDER and IGNORE tag exists --- pkg/database/method_tag_and_file.go | 5 +---- pkg/database/sql_stmt.go | 10 ++++++++-- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/pkg/database/method_tag_and_file.go b/pkg/database/method_tag_and_file.go index 6765aa1..299a245 100644 --- a/pkg/database/method_tag_and_file.go +++ b/pkg/database/method_tag_and_file.go @@ -4,13 +4,10 @@ func (database *Database) PutTagOnFile(tagID, fileID, userID int64) error { database.singleThreadLock.Lock() defer database.singleThreadLock.Unlock() - result, err := database.stmt.putTagOnFile.Exec(tagID, fileID, userID) + _, err := database.stmt.putTagOnFile.Exec(tagID, fileID, userID) if err != nil { return err } - if rows, _ := result.RowsAffected(); rows == 0 { - return ErrTagNotFound - } return nil } diff --git a/pkg/database/sql_stmt.go b/pkg/database/sql_stmt.go index 64cd313..dce4946 100644 --- a/pkg/database/sql_stmt.go +++ b/pkg/database/sql_stmt.go @@ -126,6 +126,7 @@ files.id, files.folder_id, files.filename, folders.foldername, files.filesize FROM files JOIN folders ON files.folder_id = folders.id WHERE filename LIKE ? +ORDER BY folders.foldername, files.filename LIMIT ? OFFSET ?;` var getFolderQuery = `SELECT folder FROM folders WHERE id = ? LIMIT 1;` @@ -145,6 +146,7 @@ var searchFoldersQuery = `SELECT id, folder, foldername FROM folders WHERE foldername LIKE ? +ORDER BY foldername LIMIT ? OFFSET ?;` var getFilesInFolderQuery = `SELECT @@ -152,6 +154,7 @@ files.id, files.filename, files.filesize, folders.foldername FROM files JOIN folders ON files.folder_id = folders.id WHERE folder_id = ? +ORDER BY files.filename LIMIT ? OFFSET ?;` var getRandomFilesQuery = `SELECT @@ -220,17 +223,20 @@ tags.id, tags.name, tags.description, users.id, users.username, users.role, users.avatar_id FROM tags JOIN users ON tags.created_by_user_id = users.id +ORDER BY tags.name ;` var updateTagQuery = `UPDATE tags SET name = ?, description = ? WHERE id = ?;` -var putTagOnFileQuery = `INSERT OR REPLACE INTO file_has_tag (tag_id, file_id, user_id) VALUES (?, ?, ?);` +var putTagOnFileQuery = `INSERT OR IGNORE INTO file_has_tag (tag_id, file_id, user_id) VALUES (?, ?, ?);` var getTagsOnFileQuery = `SELECT tags.id, tags.name, tags.description, tags.created_by_user_id FROM file_has_tag JOIN tags ON file_has_tag.tag_id = tags.id -WHERE file_has_tag.file_id = ?;` +WHERE file_has_tag.file_id = ? +ORDER BY tags.name +;` var deleteTagOnFileQuery = `DELETE FROM file_has_tag WHERE tag_id = ? AND file_id = ?;`