MCPcopy
hub / github.com/ory/keto / DeleteRelationTuples

Method DeleteRelationTuples

internal/persistence/sql/relationtuples.go:204–228  ·  view source on GitHub ↗
(ctx context.Context, rs ...*relationtuple.RelationTuple)

Source from the content-addressed store, hash-verified

202}
203
204func (p *Persister) DeleteRelationTuples(ctx context.Context, rs ...*relationtuple.RelationTuple) (err error) {
205 if len(rs) == 0 {
206 return nil
207 }
208
209 ctx, span := p.d.Tracer(ctx).Tracer().Start(ctx, "persistence.sql.DeleteRelationTuples",
210 trace.WithAttributes(attribute.Int("count", len(rs))))
211 defer otelx.End(span, &err)
212
213 return p.Transaction(ctx, func(ctx context.Context) error {
214 for chunk := range slices.Chunk(rs, chunkSizeDeleteTuple) {
215 q, args, err := buildDelete(p.NetworkID(ctx), chunk)
216 if err != nil {
217 return err
218 }
219 if q == "" {
220 continue
221 }
222 if err := p.Connection(ctx).RawQuery(q, args...).Exec(); err != nil {
223 return sqlcon.HandleError(err)
224 }
225 }
226 return nil
227 })
228}
229
230func (p *Persister) DeleteAllRelationTuples(ctx context.Context, query *relationtuple.RelationQuery) (err error) {
231 ctx, span := p.d.Tracer(ctx).Tracer().Start(ctx, "persistence.sql.DeleteAllRelationTuples")

Callers 1

Implementers 1

Persisterinternal/persistence/sql/persister.go

Calls 6

TransactionMethod · 0.95
NetworkIDMethod · 0.95
ConnectionMethod · 0.95
buildDeleteFunction · 0.85
TracerMethod · 0.65
ExecMethod · 0.65

Tested by

no test coverage detected