func (n *limitNode) ExplainTypes(regTypes func(string, string)) { if n.countExpr != nil { regTypes("count", parser.AsStringWithFlags(n.countExpr, parser.FmtShowTypes)) } if n.offsetExpr != nil { regTypes("offset", parser.AsStringWithFlags(n.offsetExpr, parser.FmtShowTypes)) } }
func (s *selectNode) ExplainTypes(regTypes func(string, string)) { if s.filter != nil { regTypes("filter", parser.AsStringWithFlags(s.filter, parser.FmtShowTypes)) } for i, rexpr := range s.render { regTypes(fmt.Sprintf("render %d", i), parser.AsStringWithFlags(rexpr, parser.FmtShowTypes)) } }
func (u *updateNode) ExplainTypes(regTypes func(string, string)) { cols := u.rh.columns for i, rexpr := range u.rh.exprs { regTypes(fmt.Sprintf("returning %s", cols[i].Name), parser.AsStringWithFlags(rexpr, parser.FmtShowTypes)) } for i, dexpr := range u.defaultExprs { regTypes(fmt.Sprintf("default %d", i), parser.AsStringWithFlags(dexpr, parser.FmtShowTypes)) } }
func (n *insertNode) ExplainTypes(regTypes func(string, string)) { for i, dexpr := range n.defaultExprs { regTypes(fmt.Sprintf("default %d", i), parser.AsStringWithFlags(dexpr, parser.FmtShowTypes)) } for i, cexpr := range n.checkExprs { regTypes(fmt.Sprintf("check %d", i), parser.AsStringWithFlags(cexpr, parser.FmtShowTypes)) } cols := n.rh.columns for i, rexpr := range n.rh.exprs { regTypes(fmt.Sprintf("returning %s", cols[i].Name), parser.AsStringWithFlags(rexpr, parser.FmtShowTypes)) } }
func (n *scanNode) ExplainTypes(regTypes func(string, string)) { if n.filter != nil { regTypes("filter", parser.AsStringWithFlags(n.filter, parser.FmtShowTypes)) } }
func (d *deleteNode) ExplainTypes(regTypes func(string, string)) { cols := d.rh.columns for i, rexpr := range d.rh.exprs { regTypes(fmt.Sprintf("returning %s", cols[i].Name), parser.AsStringWithFlags(rexpr, parser.FmtShowTypes)) } }