@@ -93,11 +93,12 @@ func (t *TriggerExecutor) CheckPrivileges(ctx *sql.Context, opChecker sql.Privil
9393}
9494
9595type triggerIter struct {
96- child sql.RowIter
97- executionLogic sql.Node
98- triggerTime TriggerTime
99- triggerEvent TriggerEvent
100- ctx * sql.Context
96+ child sql.RowIter
97+ executionLogic sql.Node
98+ triggerTime TriggerTime
99+ triggerEvent TriggerEvent
100+ triggerDefinition sql.TriggerDefinition
101+ ctx * sql.Context
101102}
102103
103104// prependRowInPlanForTriggerExecution returns a transformation function that prepends the row given to any row source in a query
@@ -172,14 +173,14 @@ func (t *triggerIter) Next(ctx *sql.Context) (row sql.Row, returnErr error) {
172173 // For some logic statements, we want to return the result of the logic operation as our row, e.g. a Set that alters
173174 // the fields of the new row
174175 if ok , returnRow := shouldUseLogicResult (logic , logicRow ); ok {
175- if t .TriggerDefinition .Callback != nil {
176- t .TriggerDefinition .Callback ()
176+ if t .triggerDefinition .Callback != nil {
177+ t .triggerDefinition .Callback ()
177178 }
178179 return returnRow , nil
179180 }
180181
181- if t .TriggerDefinition .Callback != nil {
182- t .TriggerDefinition .Callback ()
182+ if t .triggerDefinition .Callback != nil {
183+ t .triggerDefinition .Callback ()
183184 }
184185 return childRow , nil
185186}
@@ -234,11 +235,12 @@ func (t *TriggerExecutor) RowIter(ctx *sql.Context, row sql.Row) (sql.RowIter, e
234235 }
235236
236237 return & triggerIter {
237- child : childIter ,
238- triggerTime : t .TriggerTime ,
239- triggerEvent : t .TriggerEvent ,
240- executionLogic : t .right ,
241- ctx : ctx ,
238+ child : childIter ,
239+ triggerTime : t .TriggerTime ,
240+ triggerEvent : t .TriggerEvent ,
241+ triggerDefinition : t .TriggerDefinition , // add this
242+ executionLogic : t .right ,
243+ ctx : ctx ,
242244 }, nil
243245}
244246
0 commit comments