oceanbase
111 строк · 2.6 Кб
1// Code generated by entc, DO NOT EDIT.
2
3package ent
4
5import (
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.
17type ObClusterDelete struct {
18config
19hooks []Hook
20mutation *ObClusterMutation
21}
22
23// Where appends a list predicates to the ObClusterDelete builder.
24func (ocd *ObClusterDelete) Where(ps ...predicate.ObCluster) *ObClusterDelete {
25ocd.mutation.Where(ps...)
26return ocd
27}
28
29// Exec executes the deletion query and returns how many vertices were deleted.
30func (ocd *ObClusterDelete) Exec(ctx context.Context) (int, error) {
31var (
32err error
33affected int
34)
35if len(ocd.hooks) == 0 {
36affected, err = ocd.sqlExec(ctx)
37} else {
38var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
39mutation, ok := m.(*ObClusterMutation)
40if !ok {
41return nil, fmt.Errorf("unexpected mutation type %T", m)
42}
43ocd.mutation = mutation
44affected, err = ocd.sqlExec(ctx)
45mutation.done = true
46return affected, err
47})
48for i := len(ocd.hooks) - 1; i >= 0; i-- {
49if ocd.hooks[i] == nil {
50return 0, fmt.Errorf("ent: uninitialized hook (forgotten import ent/runtime?)")
51}
52mut = ocd.hooks[i](mut)
53}
54if _, err := mut.Mutate(ctx, ocd.mutation); err != nil {
55return 0, err
56}
57}
58return affected, err
59}
60
61// ExecX is like Exec, but panics if an error occurs.
62func (ocd *ObClusterDelete) ExecX(ctx context.Context) int {
63n, err := ocd.Exec(ctx)
64if err != nil {
65panic(err)
66}
67return n
68}
69
70func (ocd *ObClusterDelete) sqlExec(ctx context.Context) (int, error) {
71_spec := &sqlgraph.DeleteSpec{
72Node: &sqlgraph.NodeSpec{
73Table: obcluster.Table,
74ID: &sqlgraph.FieldSpec{
75Type: field.TypeInt,
76Column: obcluster.FieldID,
77},
78},
79}
80if ps := ocd.mutation.predicates; len(ps) > 0 {
81_spec.Predicate = func(selector *sql.Selector) {
82for i := range ps {
83ps[i](selector)
84}
85}
86}
87return sqlgraph.DeleteNodes(ctx, ocd.driver, _spec)
88}
89
90// ObClusterDeleteOne is the builder for deleting a single ObCluster entity.
91type ObClusterDeleteOne struct {
92ocd *ObClusterDelete
93}
94
95// Exec executes the deletion query.
96func (ocdo *ObClusterDeleteOne) Exec(ctx context.Context) error {
97n, err := ocdo.ocd.Exec(ctx)
98switch {
99case err != nil:
100return err
101case n == 0:
102return &NotFoundError{obcluster.Label}
103default:
104return nil
105}
106}
107
108// ExecX is like Exec, but panics if an error occurs.
109func (ocdo *ObClusterDeleteOne) ExecX(ctx context.Context) {
110ocdo.ocd.ExecX(ctx)
111}
112