summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/bun/relation_join.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2022-11-28 11:19:39 +0100
committerLibravatar GitHub <noreply@github.com>2022-11-28 11:19:39 +0100
commitdaf44ac2b709922512cfee3cde686b84b4868775 (patch)
tree2967df466f8d4515d32c05cf520ba3e7a19d4fae /vendor/github.com/uptrace/bun/relation_join.go
parent[chore]: Bump codeberg.org/gruf/go-store/v2 from 2.0.9 to 2.0.10 (#1160) (diff)
downloadgotosocial-daf44ac2b709922512cfee3cde686b84b4868775.tar.xz
[chore] Bump database dependencies (#1164)
github.com/uptrace/bun v1.1.8 -> v1.1.9 github.com/uptrace/bun/pgdialect v1.1.8 -> v1.1.9 github.com/uptrace/bun/sqlitedialect v1.1.8 -> v1.1.9 modernc.org/sqlite v1.18.2 -> v1.19.5
Diffstat (limited to 'vendor/github.com/uptrace/bun/relation_join.go')
-rw-r--r--vendor/github.com/uptrace/bun/relation_join.go26
1 files changed, 20 insertions, 6 deletions
diff --git a/vendor/github.com/uptrace/bun/relation_join.go b/vendor/github.com/uptrace/bun/relation_join.go
index 19dda774e..200f6758a 100644
--- a/vendor/github.com/uptrace/bun/relation_join.go
+++ b/vendor/github.com/uptrace/bun/relation_join.go
@@ -3,6 +3,7 @@ package bun
import (
"context"
"reflect"
+ "time"
"github.com/uptrace/bun/dialect/feature"
"github.com/uptrace/bun/internal"
@@ -256,14 +257,27 @@ func (j *relationJoin) appendBaseAlias(fmter schema.Formatter, b []byte) []byte
return append(b, j.BaseModel.Table().SQLAlias...)
}
-func (j *relationJoin) appendSoftDelete(b []byte, flags internal.Flag) []byte {
+func (j *relationJoin) appendSoftDelete(fmter schema.Formatter, b []byte, flags internal.Flag) []byte {
b = append(b, '.')
- b = append(b, j.JoinModel.Table().SoftDeleteField.SQLName...)
- if flags.Has(deletedFlag) {
- b = append(b, " IS NOT NULL"...)
+
+ field := j.JoinModel.Table().SoftDeleteField
+ b = append(b, field.SQLName...)
+
+ if field.IsPtr || field.NullZero {
+ if flags.Has(deletedFlag) {
+ b = append(b, " IS NOT NULL"...)
+ } else {
+ b = append(b, " IS NULL"...)
+ }
} else {
- b = append(b, " IS NULL"...)
+ if flags.Has(deletedFlag) {
+ b = append(b, " != "...)
+ } else {
+ b = append(b, " = "...)
+ }
+ b = fmter.Dialect().AppendTime(b, time.Time{})
}
+
return b
}
@@ -306,7 +320,7 @@ func (j *relationJoin) appendHasOneJoin(
if isSoftDelete {
b = append(b, " AND "...)
b = j.appendAlias(fmter, b)
- b = j.appendSoftDelete(b, q.flags)
+ b = j.appendSoftDelete(fmter, b, q.flags)
}
return b, nil