summaryrefslogtreecommitdiff
path: root/vendor/github.com/Masterminds/squirrel/insert_ctx.go
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-24 17:58:01 -0600
committermo khan <mo@mokhan.ca>2025-07-24 17:58:01 -0600
commit72296119fc9755774719f8f625ad03e0e0ec457a (patch)
treeed236ddee12a20fb55b7cfecf13f62d3a000dcb5 /vendor/github.com/Masterminds/squirrel/insert_ctx.go
parenta920a8cfe415858bb2777371a77018599ffed23f (diff)
parenteaa1bd3b8e12934aed06413d75e7482ac58d805a (diff)
Merge branch 'the-spice-must-flow' into 'main'
Add SpiceDB Authorization See merge request gitlab-org/software-supply-chain-security/authorization/sparkled!19
Diffstat (limited to 'vendor/github.com/Masterminds/squirrel/insert_ctx.go')
-rw-r--r--vendor/github.com/Masterminds/squirrel/insert_ctx.go69
1 files changed, 69 insertions, 0 deletions
diff --git a/vendor/github.com/Masterminds/squirrel/insert_ctx.go b/vendor/github.com/Masterminds/squirrel/insert_ctx.go
new file mode 100644
index 0000000..4541c2f
--- /dev/null
+++ b/vendor/github.com/Masterminds/squirrel/insert_ctx.go
@@ -0,0 +1,69 @@
+// +build go1.8
+
+package squirrel
+
+import (
+ "context"
+ "database/sql"
+
+ "github.com/lann/builder"
+)
+
+func (d *insertData) ExecContext(ctx context.Context) (sql.Result, error) {
+ if d.RunWith == nil {
+ return nil, RunnerNotSet
+ }
+ ctxRunner, ok := d.RunWith.(ExecerContext)
+ if !ok {
+ return nil, NoContextSupport
+ }
+ return ExecContextWith(ctx, ctxRunner, d)
+}
+
+func (d *insertData) QueryContext(ctx context.Context) (*sql.Rows, error) {
+ if d.RunWith == nil {
+ return nil, RunnerNotSet
+ }
+ ctxRunner, ok := d.RunWith.(QueryerContext)
+ if !ok {
+ return nil, NoContextSupport
+ }
+ return QueryContextWith(ctx, ctxRunner, d)
+}
+
+func (d *insertData) QueryRowContext(ctx context.Context) RowScanner {
+ if d.RunWith == nil {
+ return &Row{err: RunnerNotSet}
+ }
+ queryRower, ok := d.RunWith.(QueryRowerContext)
+ if !ok {
+ if _, ok := d.RunWith.(QueryerContext); !ok {
+ return &Row{err: RunnerNotQueryRunner}
+ }
+ return &Row{err: NoContextSupport}
+ }
+ return QueryRowContextWith(ctx, queryRower, d)
+}
+
+// ExecContext builds and ExecContexts the query with the Runner set by RunWith.
+func (b InsertBuilder) ExecContext(ctx context.Context) (sql.Result, error) {
+ data := builder.GetStruct(b).(insertData)
+ return data.ExecContext(ctx)
+}
+
+// QueryContext builds and QueryContexts the query with the Runner set by RunWith.
+func (b InsertBuilder) QueryContext(ctx context.Context) (*sql.Rows, error) {
+ data := builder.GetStruct(b).(insertData)
+ return data.QueryContext(ctx)
+}
+
+// QueryRowContext builds and QueryRowContexts the query with the Runner set by RunWith.
+func (b InsertBuilder) QueryRowContext(ctx context.Context) RowScanner {
+ data := builder.GetStruct(b).(insertData)
+ return data.QueryRowContext(ctx)
+}
+
+// ScanContext is a shortcut for QueryRowContext().Scan.
+func (b InsertBuilder) ScanContext(ctx context.Context, dest ...interface{}) error {
+ return b.QueryRowContext(ctx).Scan(dest...)
+}