MCPcopy Create free account
hub / github.com/dolthub/doltgresql / RowIter

Method RowIter

server/node/revoke.go:98–140  ·  view source on GitHub ↗

RowIter implements the interface sql.ExecSourceRel.

(ctx *sql.Context, _ sql.Row)

Source from the content-addressed store, hash-verified

96
97// RowIter implements the interface sql.ExecSourceRel.
98func (r *Revoke) RowIter(ctx *sql.Context, _ sql.Row) (sql.RowIter, error) {
99 if r.Cascade {
100 return nil, errors.New("REVOKE does not yet support CASCADE")
101 }
102
103 var err error
104 auth.LockWrite(func() {
105 switch {
106 case r.RevokeTable != nil:
107 if err = r.revokeTable(ctx); err != nil {
108 return
109 }
110 case r.RevokeSchema != nil:
111 if err = r.revokeSchema(ctx); err != nil {
112 return
113 }
114 case r.RevokeDatabase != nil:
115 if err = r.revokeDatabase(ctx); err != nil {
116 return
117 }
118 case r.RevokeSequence != nil:
119 if err = r.revokeSequence(ctx); err != nil {
120 return
121 }
122 case r.RevokeRoutine != nil:
123 if err = r.revokeRoutine(ctx); err != nil {
124 return
125 }
126 case r.RevokeRole != nil:
127 if err = r.revokeRole(ctx); err != nil {
128 return
129 }
130 default:
131 err = errors.Errorf("REVOKE statement is not yet supported")
132 return
133 }
134 err = auth.PersistChanges()
135 })
136 if err != nil {
137 return nil, err
138 }
139 return sql.RowsToRowIter(), nil
140}
141
142// Schema implements the interface sql.ExecSourceRel.
143func (r *Revoke) Schema(ctx *sql.Context) sql.Schema {

Callers

nothing calls this directly

Calls 9

revokeTableMethod · 0.95
revokeSchemaMethod · 0.95
revokeDatabaseMethod · 0.95
revokeSequenceMethod · 0.95
revokeRoutineMethod · 0.95
revokeRoleMethod · 0.95
LockWriteFunction · 0.92
PersistChangesFunction · 0.92
ErrorfMethod · 0.65

Tested by

no test coverage detected