Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
6cfd94cc
Unverified
Commit
6cfd94cc
authored
Jan 11, 2024
by
Wen Sun
Committed by
GitHub
Jan 11, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: deleting inbox records that senders have been deleted (#2743)
Deleting inbox records that senders have been deleted
parent
79b68222
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
51 additions
and
0 deletions
+51
-0
inbox.go
store/db/mysql/inbox.go
+11
-0
mysql.go
store/db/mysql/mysql.go
+3
-0
inbox.go
store/db/postgres/inbox.go
+11
-0
postgres.go
store/db/postgres/postgres.go
+3
-0
inbox.go
store/db/sqlite/inbox.go
+20
-0
sqlite.go
store/db/sqlite/sqlite.go
+3
-0
No files found.
store/db/mysql/inbox.go
View file @
6cfd94cc
...
@@ -2,6 +2,7 @@ package mysql
...
@@ -2,6 +2,7 @@ package mysql
import
(
import
(
"context"
"context"
"database/sql"
"strings"
"strings"
"github.com/pkg/errors"
"github.com/pkg/errors"
...
@@ -132,3 +133,13 @@ func (d *DB) DeleteInbox(ctx context.Context, delete *store.DeleteInbox) error {
...
@@ -132,3 +133,13 @@ func (d *DB) DeleteInbox(ctx context.Context, delete *store.DeleteInbox) error {
}
}
return
nil
return
nil
}
}
func
vacuumInbox
(
ctx
context
.
Context
,
tx
*
sql
.
Tx
)
error
{
stmt
:=
"DELETE FROM `inbox` WHERE `sender_id` NOT IN (SELECT `id` FROM `user`)"
_
,
err
:=
tx
.
ExecContext
(
ctx
,
stmt
)
if
err
!=
nil
{
return
err
}
return
nil
}
store/db/mysql/mysql.go
View file @
6cfd94cc
...
@@ -72,6 +72,9 @@ func (d *DB) Vacuum(ctx context.Context) error {
...
@@ -72,6 +72,9 @@ func (d *DB) Vacuum(ctx context.Context) error {
if
err
:=
vacuumMemoRelations
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
vacuumMemoRelations
(
ctx
,
tx
);
err
!=
nil
{
return
err
return
err
}
}
if
err
:=
vacuumInbox
(
ctx
,
tx
);
err
!=
nil
{
return
err
}
if
err
:=
vacuumTag
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
vacuumTag
(
ctx
,
tx
);
err
!=
nil
{
// Prevent revive warning.
// Prevent revive warning.
return
err
return
err
...
...
store/db/postgres/inbox.go
View file @
6cfd94cc
...
@@ -2,6 +2,7 @@ package postgres
...
@@ -2,6 +2,7 @@ package postgres
import
(
import
(
"context"
"context"
"database/sql"
"strings"
"strings"
"github.com/pkg/errors"
"github.com/pkg/errors"
...
@@ -132,3 +133,13 @@ func (d *DB) DeleteInbox(ctx context.Context, delete *store.DeleteInbox) error {
...
@@ -132,3 +133,13 @@ func (d *DB) DeleteInbox(ctx context.Context, delete *store.DeleteInbox) error {
}
}
return
nil
return
nil
}
}
func
vacuumInbox
(
ctx
context
.
Context
,
tx
*
sql
.
Tx
)
error
{
stmt
:=
`DELETE FROM inbox WHERE sender_id NOT IN (SELECT id FROM "user")`
_
,
err
:=
tx
.
ExecContext
(
ctx
,
stmt
)
if
err
!=
nil
{
return
err
}
return
nil
}
store/db/postgres/postgres.go
View file @
6cfd94cc
...
@@ -66,6 +66,9 @@ func (d *DB) Vacuum(ctx context.Context) error {
...
@@ -66,6 +66,9 @@ func (d *DB) Vacuum(ctx context.Context) error {
if
err
:=
vacuumMemoRelations
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
vacuumMemoRelations
(
ctx
,
tx
);
err
!=
nil
{
return
err
return
err
}
}
if
err
:=
vacuumInbox
(
ctx
,
tx
);
err
!=
nil
{
return
err
}
if
err
:=
vacuumTag
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
vacuumTag
(
ctx
,
tx
);
err
!=
nil
{
// Prevent revive warning.
// Prevent revive warning.
return
err
return
err
...
...
store/db/sqlite/inbox.go
View file @
6cfd94cc
...
@@ -2,6 +2,7 @@ package sqlite
...
@@ -2,6 +2,7 @@ package sqlite
import
(
import
(
"context"
"context"
"database/sql"
"strings"
"strings"
"github.com/pkg/errors"
"github.com/pkg/errors"
...
@@ -123,3 +124,22 @@ func (d *DB) DeleteInbox(ctx context.Context, delete *store.DeleteInbox) error {
...
@@ -123,3 +124,22 @@ func (d *DB) DeleteInbox(ctx context.Context, delete *store.DeleteInbox) error {
}
}
return
nil
return
nil
}
}
func
vacuumInbox
(
ctx
context
.
Context
,
tx
*
sql
.
Tx
)
error
{
stmt
:=
`
DELETE FROM
inbox
WHERE
sender_id NOT IN (
SELECT
id
FROM
user
)`
_
,
err
:=
tx
.
ExecContext
(
ctx
,
stmt
)
if
err
!=
nil
{
return
err
}
return
nil
}
store/db/sqlite/sqlite.go
View file @
6cfd94cc
...
@@ -97,6 +97,9 @@ func vacuumImpl(ctx context.Context, tx *sql.Tx) error {
...
@@ -97,6 +97,9 @@ func vacuumImpl(ctx context.Context, tx *sql.Tx) error {
if
err
:=
vacuumMemoRelations
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
vacuumMemoRelations
(
ctx
,
tx
);
err
!=
nil
{
return
err
return
err
}
}
if
err
:=
vacuumInbox
(
ctx
,
tx
);
err
!=
nil
{
return
err
}
if
err
:=
vacuumTag
(
ctx
,
tx
);
err
!=
nil
{
if
err
:=
vacuumTag
(
ctx
,
tx
);
err
!=
nil
{
// Prevent revive warning.
// Prevent revive warning.
return
err
return
err
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment