| 788 | } |
| 789 | |
| 790 | func convertSQLVal(val *sqlparser.SQLVal) tree.Expr { |
| 791 | switch val.Type { |
| 792 | case sqlparser.StrVal: |
| 793 | return tree.NewStrVal(string(val.Val)) |
| 794 | case sqlparser.IntVal: |
| 795 | i, err := strconv.Atoi(string(val.Val)) |
| 796 | if err != nil { |
| 797 | panic(err) |
| 798 | } |
| 799 | return tree.NewDInt(tree.DInt(i)) |
| 800 | case sqlparser.FloatVal: |
| 801 | f, err := strconv.ParseFloat(string(val.Val), 64) |
| 802 | if err != nil { |
| 803 | panic(err) |
| 804 | } |
| 805 | return tree.NewDFloat(tree.DFloat(f)) |
| 806 | case sqlparser.HexVal: |
| 807 | return tree.NewStrVal(fmt.Sprintf("x'%s'", val.Val)) |
| 808 | case sqlparser.HexNum: |
| 809 | return tree.NewStrVal(fmt.Sprintf("x'%s'", val.Val)) |
| 810 | default: |
| 811 | panic(fmt.Sprintf("unhandled type: %v", val.Type)) |
| 812 | } |
| 813 | } |
| 814 | |
| 815 | func transformDrop(query string, stmt *sqlparser.DDL) ([]string, bool) { |
| 816 | // TODO |