summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/bun/model_table_slice.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2021-10-24 13:14:37 +0200
committerLibravatar GitHub <noreply@github.com>2021-10-24 13:14:37 +0200
commit8b7c3507fe0c8f6e921ee2de2c170ef93eeb7275 (patch)
treee79e3f5a59fb8942de79955bd26bf665be0acce8 /vendor/github.com/uptrace/bun/model_table_slice.go
parentdocs typo fix (#290) (diff)
downloadgotosocial-8b7c3507fe0c8f6e921ee2de2c170ef93eeb7275.tar.xz
upstep bun to v1.0.14 (#291)
Diffstat (limited to 'vendor/github.com/uptrace/bun/model_table_slice.go')
-rw-r--r--vendor/github.com/uptrace/bun/model_table_slice.go25
1 files changed, 23 insertions, 2 deletions
diff --git a/vendor/github.com/uptrace/bun/model_table_slice.go b/vendor/github.com/uptrace/bun/model_table_slice.go
index b312b663d..32e48c0dc 100644
--- a/vendor/github.com/uptrace/bun/model_table_slice.go
+++ b/vendor/github.com/uptrace/bun/model_table_slice.go
@@ -91,10 +91,31 @@ func (m *sliceTableModel) ScanRows(ctx context.Context, rows *sql.Rows) (int, er
return n, nil
}
+var _ schema.BeforeAppendModelHook = (*sliceTableModel)(nil)
+
+func (m *sliceTableModel) BeforeAppendModel(ctx context.Context, query Query) error {
+ if !m.table.HasBeforeAppendModelHook() {
+ return nil
+ }
+
+ sliceLen := m.slice.Len()
+ for i := 0; i < sliceLen; i++ {
+ strct := m.slice.Index(i)
+ if !m.sliceOfPtr {
+ strct = strct.Addr()
+ }
+ err := strct.Interface().(schema.BeforeAppendModelHook).BeforeAppendModel(ctx, query)
+ if err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
// Inherit these hooks from structTableModel.
var (
- _ schema.BeforeScanHook = (*sliceTableModel)(nil)
- _ schema.AfterScanHook = (*sliceTableModel)(nil)
+ _ schema.BeforeScanRowHook = (*sliceTableModel)(nil)
+ _ schema.AfterScanRowHook = (*sliceTableModel)(nil)
)
func (m *sliceTableModel) updateSoftDeleteField(tm time.Time) error {