summaryrefslogtreecommitdiff
path: root/vendor/github.com/uptrace/bun/schema/hook.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/uptrace/bun/schema/hook.go')
-rw-r--r--vendor/github.com/uptrace/bun/schema/hook.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/vendor/github.com/uptrace/bun/schema/hook.go b/vendor/github.com/uptrace/bun/schema/hook.go
index 5391981d5..624601c9f 100644
--- a/vendor/github.com/uptrace/bun/schema/hook.go
+++ b/vendor/github.com/uptrace/bun/schema/hook.go
@@ -2,9 +2,32 @@ package schema
import (
"context"
+ "database/sql"
"reflect"
)
+type Model interface {
+ ScanRows(ctx context.Context, rows *sql.Rows) (int, error)
+ Value() interface{}
+}
+
+type Query interface {
+ QueryAppender
+ Operation() string
+ GetModel() Model
+ GetTableName() string
+}
+
+//------------------------------------------------------------------------------
+
+type BeforeAppendModelHook interface {
+ BeforeAppendModel(ctx context.Context, query Query) error
+}
+
+var beforeAppendModelHookType = reflect.TypeOf((*BeforeAppendModelHook)(nil)).Elem()
+
+//------------------------------------------------------------------------------
+
type BeforeScanHook interface {
BeforeScan(context.Context) error
}
@@ -18,3 +41,19 @@ type AfterScanHook interface {
}
var afterScanHookType = reflect.TypeOf((*AfterScanHook)(nil)).Elem()
+
+//------------------------------------------------------------------------------
+
+type BeforeScanRowHook interface {
+ BeforeScanRow(context.Context) error
+}
+
+var beforeScanRowHookType = reflect.TypeOf((*BeforeScanRowHook)(nil)).Elem()
+
+//------------------------------------------------------------------------------
+
+type AfterScanRowHook interface {
+ AfterScanRow(context.Context) error
+}
+
+var afterScanRowHookType = reflect.TypeOf((*AfterScanRowHook)(nil)).Elem()