oceanbase

Форк
0
/
obcluster_delete.go 
111 строк · 2.6 Кб
1
// Code generated by entc, DO NOT EDIT.
2

3
package ent
4

5
import (
6
	"context"
7
	"fmt"
8

9
	"entgo.io/ent/dialect/sql"
10
	"entgo.io/ent/dialect/sql/sqlgraph"
11
	"entgo.io/ent/schema/field"
12
	"github.com/oceanbase/configserver/ent/obcluster"
13
	"github.com/oceanbase/configserver/ent/predicate"
14
)
15

16
// ObClusterDelete is the builder for deleting a ObCluster entity.
17
type ObClusterDelete struct {
18
	config
19
	hooks    []Hook
20
	mutation *ObClusterMutation
21
}
22

23
// Where appends a list predicates to the ObClusterDelete builder.
24
func (ocd *ObClusterDelete) Where(ps ...predicate.ObCluster) *ObClusterDelete {
25
	ocd.mutation.Where(ps...)
26
	return ocd
27
}
28

29
// Exec executes the deletion query and returns how many vertices were deleted.
30
func (ocd *ObClusterDelete) Exec(ctx context.Context) (int, error) {
31
	var (
32
		err      error
33
		affected int
34
	)
35
	if len(ocd.hooks) == 0 {
36
		affected, err = ocd.sqlExec(ctx)
37
	} else {
38
		var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
39
			mutation, ok := m.(*ObClusterMutation)
40
			if !ok {
41
				return nil, fmt.Errorf("unexpected mutation type %T", m)
42
			}
43
			ocd.mutation = mutation
44
			affected, err = ocd.sqlExec(ctx)
45
			mutation.done = true
46
			return affected, err
47
		})
48
		for i := len(ocd.hooks) - 1; i >= 0; i-- {
49
			if ocd.hooks[i] == nil {
50
				return 0, fmt.Errorf("ent: uninitialized hook (forgotten import ent/runtime?)")
51
			}
52
			mut = ocd.hooks[i](mut)
53
		}
54
		if _, err := mut.Mutate(ctx, ocd.mutation); err != nil {
55
			return 0, err
56
		}
57
	}
58
	return affected, err
59
}
60

61
// ExecX is like Exec, but panics if an error occurs.
62
func (ocd *ObClusterDelete) ExecX(ctx context.Context) int {
63
	n, err := ocd.Exec(ctx)
64
	if err != nil {
65
		panic(err)
66
	}
67
	return n
68
}
69

70
func (ocd *ObClusterDelete) sqlExec(ctx context.Context) (int, error) {
71
	_spec := &sqlgraph.DeleteSpec{
72
		Node: &sqlgraph.NodeSpec{
73
			Table: obcluster.Table,
74
			ID: &sqlgraph.FieldSpec{
75
				Type:   field.TypeInt,
76
				Column: obcluster.FieldID,
77
			},
78
		},
79
	}
80
	if ps := ocd.mutation.predicates; len(ps) > 0 {
81
		_spec.Predicate = func(selector *sql.Selector) {
82
			for i := range ps {
83
				ps[i](selector)
84
			}
85
		}
86
	}
87
	return sqlgraph.DeleteNodes(ctx, ocd.driver, _spec)
88
}
89

90
// ObClusterDeleteOne is the builder for deleting a single ObCluster entity.
91
type ObClusterDeleteOne struct {
92
	ocd *ObClusterDelete
93
}
94

95
// Exec executes the deletion query.
96
func (ocdo *ObClusterDeleteOne) Exec(ctx context.Context) error {
97
	n, err := ocdo.ocd.Exec(ctx)
98
	switch {
99
	case err != nil:
100
		return err
101
	case n == 0:
102
		return &NotFoundError{obcluster.Label}
103
	default:
104
		return nil
105
	}
106
}
107

108
// ExecX is like Exec, but panics if an error occurs.
109
func (ocdo *ObClusterDeleteOne) ExecX(ctx context.Context) {
110
	ocdo.ocd.ExecX(ctx)
111
}
112

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.