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

Method RowIter

server/node/grant.go:97–135  ·  view source on GitHub ↗

RowIter implements the interface sql.ExecSourceRel.

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

Source from the content-addressed store, hash-verified

95
96// RowIter implements the interface sql.ExecSourceRel.
97func (g *Grant) RowIter(ctx *sql.Context, r sql.Row) (sql.RowIter, error) {
98 var err error
99 auth.LockWrite(func() {
100 switch {
101 case g.GrantTable != nil:
102 if err = g.grantTable(ctx); err != nil {
103 return
104 }
105 case g.GrantSchema != nil:
106 if err = g.grantSchema(ctx); err != nil {
107 return
108 }
109 case g.GrantDatabase != nil:
110 if err = g.grantDatabase(ctx); err != nil {
111 return
112 }
113 case g.GrantSequence != nil:
114 if err = g.grantSequence(ctx); err != nil {
115 return
116 }
117 case g.GrantRoutine != nil:
118 if err = g.grantRoutine(ctx); err != nil {
119 return
120 }
121 case g.GrantRole != nil:
122 if err = g.grantRole(ctx); err != nil {
123 return
124 }
125 default:
126 err = errors.Errorf("GRANT statement is not yet supported")
127 return
128 }
129 err = auth.PersistChanges()
130 })
131 if err != nil {
132 return nil, err
133 }
134 return sql.RowsToRowIter(), nil
135}
136
137// Schema implements the interface sql.ExecSourceRel.
138func (g *Grant) Schema(ctx *sql.Context) sql.Schema {

Callers

nothing calls this directly

Calls 9

grantTableMethod · 0.95
grantSchemaMethod · 0.95
grantDatabaseMethod · 0.95
grantSequenceMethod · 0.95
grantRoutineMethod · 0.95
grantRoleMethod · 0.95
LockWriteFunction · 0.92
PersistChangesFunction · 0.92
ErrorfMethod · 0.65

Tested by

no test coverage detected