vitessio/vitess

go/vt/sqlparser: statement serialized incorrectly

dvyukov opened this issue · 0 comments

The following program fails:

package main

import (
    "fmt"
    "github.com/youtube/vitess/go/vt/sqlparser"
)

func main() {
    data := []byte("select a as `BY` from f")
    stmt, err := sqlparser.Parse(string(data))
    if err != nil {
        return
    }
    data1 := sqlparser.String(stmt)
    _, err = sqlparser.Parse(data1)
    if err != nil {
        fmt.Printf("data0: %q\n", data)
        fmt.Printf("data1: %q\n", data1)
        panic(err)
    }
}
data0: "select a as `BY` from f"
data1: "select a as by from f"
panic: syntax error at position 15 near by

on commit 27bdc06