func (e *Evaluator) isTruth(v *ast.IsTruthExpr) bool { var boolVal bool datum := v.Expr.GetDatum() if !datum.IsNull() { ival, err := datum.ToBool() if err != nil { e.err = errors.Trace(err) return false } if ival == v.True { boolVal = true } } if v.Not { boolVal = !boolVal } v.GetDatum().SetInt64(boolToInt64(boolVal)) return true }
func (e *Evaluator) isTruth(v *ast.IsTruthExpr) bool { var boolVal bool val := v.Expr.GetValue() if !types.IsNil(val) { ival, err := types.ToBool(val) if err != nil { e.err = errors.Trace(err) return false } if ival == v.True { boolVal = true } } if v.Not { boolVal = !boolVal } v.SetValue(boolToInt64(boolVal)) return true }