mirror of
https://github.com/Eggbertx/gochan.git
synced 2025-08-18 07:36:24 -07:00
Update post/thread/file deletion query scan parameters
This commit is contained in:
parent
7c417e6b7c
commit
d41127a1df
2 changed files with 6 additions and 5 deletions
|
@ -24,6 +24,7 @@ import (
|
|||
|
||||
type delPost struct {
|
||||
postID int
|
||||
threadID int
|
||||
opID int
|
||||
isOP bool
|
||||
filename string
|
||||
|
@ -117,12 +118,12 @@ func getAllPostsToDelete(postIDs []any, fileOnly bool) ([]delPost, []any, error)
|
|||
params := postIDs
|
||||
if fileOnly {
|
||||
// only deleting this post's file, not subfiles if it's an OP
|
||||
query = "SELECT * FROM DBPREFIXv_posts_to_delete_file_only WHERE p.id IN " + setPart
|
||||
query = "SELECT * FROM DBPREFIXv_posts_to_delete_file_only WHERE postid IN " + setPart
|
||||
} else {
|
||||
// deleting everything, including subfiles
|
||||
params = append(params, postIDs...)
|
||||
query = "SELECT * FROM DBPREFIXv_posts_to_delete WHERE p.id IN " + setPart +
|
||||
` OR p.thread_id IN (SELECT thread_id from DBPREFIXposts op WHERE op.id IN ` + setPart + ` AND is_top_post)`
|
||||
query = "SELECT * FROM DBPREFIXv_posts_to_delete WHERE postid IN " + setPart +
|
||||
` OR thread_id IN (SELECT thread_id from DBPREFIXposts op WHERE opid IN ` + setPart + ` AND is_top_post)`
|
||||
}
|
||||
rows, err := gcsql.QuerySQL(query, params...)
|
||||
if err != nil {
|
||||
|
@ -132,7 +133,7 @@ func getAllPostsToDelete(postIDs []any, fileOnly bool) ([]delPost, []any, error)
|
|||
var postIDsAny []any
|
||||
for rows.Next() {
|
||||
var post delPost
|
||||
if err = rows.Scan(&post.postID, &post.opID, &post.isOP, &post.filename, &post.boardDir); err != nil {
|
||||
if err = rows.Scan(&post.postID, &post.threadID, &post.opID, &post.isOP, &post.filename, &post.boardDir); err != nil {
|
||||
rows.Close()
|
||||
return nil, nil, err
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ INNER JOIN DBPREFIXv_top_post_thread_ids op ON op.thread_id = p.thread_id
|
|||
WHERE p.is_deleted = FALSE;
|
||||
|
||||
CREATE VIEW DBPREFIXv_posts_to_delete AS
|
||||
SELECT p.id AS postid, (
|
||||
SELECT p.id AS postid, thread_id, (
|
||||
SELECT op.id AS opid FROM DBPREFIXposts op
|
||||
WHERE op.thread_id = p.thread_id AND is_top_post LIMIT 1
|
||||
) as opid, is_top_post, COALESCE(filename, '') AS filename, dir
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue