diff --git a/store/db/mysql/memo.go b/store/db/mysql/memo.go index 5b1b4667..271fe0c9 100644 --- a/store/db/mysql/memo.go +++ b/store/db/mysql/memo.go @@ -121,8 +121,11 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo if err := d.ConvertExprToSQL(convertCtx, parsedExpr.GetExpr()); err != nil { return nil, err } - where = append(where, fmt.Sprintf("(%s)", convertCtx.Buffer.String())) - args = append(args, convertCtx.Args...) + condition := convertCtx.Buffer.String() + if condition != "" { + where = append(where, fmt.Sprintf("(%s)", condition)) + args = append(args, convertCtx.Args...) + } } if find.ExcludeComments { having = append(having, "`parent_id` IS NULL") diff --git a/store/db/postgres/memo.go b/store/db/postgres/memo.go index 242fe040..104c8a04 100644 --- a/store/db/postgres/memo.go +++ b/store/db/postgres/memo.go @@ -113,8 +113,11 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo if err := d.ConvertExprToSQL(convertCtx, parsedExpr.GetExpr()); err != nil { return nil, err } - where = append(where, fmt.Sprintf("(%s)", convertCtx.Buffer.String())) - args = append(args, convertCtx.Args...) + condition := convertCtx.Buffer.String() + if condition != "" { + where = append(where, fmt.Sprintf("(%s)", condition)) + args = append(args, convertCtx.Args...) + } } if find.ExcludeComments { where = append(where, "memo_relation.related_memo_id IS NULL") diff --git a/store/db/sqlite/memo.go b/store/db/sqlite/memo.go index d1ea204a..a66d7c00 100644 --- a/store/db/sqlite/memo.go +++ b/store/db/sqlite/memo.go @@ -113,8 +113,11 @@ func (d *DB) ListMemos(ctx context.Context, find *store.FindMemo) ([]*store.Memo if err := d.ConvertExprToSQL(convertCtx, parsedExpr.GetExpr()); err != nil { return nil, err } - where = append(where, fmt.Sprintf("(%s)", convertCtx.Buffer.String())) - args = append(args, convertCtx.Args...) + condition := convertCtx.Buffer.String() + if condition != "" { + where = append(where, fmt.Sprintf("(%s)", condition)) + args = append(args, convertCtx.Args...) + } } if find.ExcludeComments { where = append(where, "`parent_id` IS NULL") diff --git a/store/db/sqlite/memo_filter_test.go b/store/db/sqlite/memo_filter_test.go index c78b5d0d..27889ec7 100644 --- a/store/db/sqlite/memo_filter_test.go +++ b/store/db/sqlite/memo_filter_test.go @@ -54,6 +54,11 @@ func TestConvertExprToSQL(t *testing.T) { want: "(JSON_EXTRACT(`memo`.`payload`, '$.tags') LIKE ? OR `memo`.`content` LIKE ?)", args: []any{`%"tag1"%`, "%hello%"}, }, + { + filter: `1`, + want: "", + args: []any{}, + }, } for _, tt := range tests {