diff --git a/go.mod b/go.mod index 1926ca19b1..75c8993345 100644 --- a/go.mod +++ b/go.mod @@ -20,9 +20,9 @@ require ( github.com/stretchr/testify v1.7.1 go.opentelemetry.io/otel v1.7.0 go.opentelemetry.io/otel/trace v1.7.0 - golang.org/x/sync v0.0.0-20210220032951-036812b2e83c + golang.org/x/sync v0.1.0 golang.org/x/text v0.3.7 - golang.org/x/tools v0.1.10 + golang.org/x/tools v0.3.0 gopkg.in/src-d/go-errors.v1 v1.0.0 ) @@ -31,8 +31,8 @@ require ( github.com/golang/protobuf v1.5.2 // indirect github.com/kr/text v0.2.0 // indirect github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect - golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect - golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 // indirect + golang.org/x/mod v0.7.0 // indirect + golang.org/x/sys v0.2.0 // indirect golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect google.golang.org/genproto v0.0.0-20210506142907-4a47615972c2 // indirect google.golang.org/grpc v1.37.0 // indirect diff --git a/go.sum b/go.sum index dcc17a5dc1..8bcb2f61af 100755 --- a/go.sum +++ b/go.sum @@ -353,6 +353,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 h1:kQgndtyPBW/JIYERgdxfwMYh3AVStj88WQTlNDi2a+o= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -372,6 +374,7 @@ golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f h1:OfiFi4JbukWwe3lzw+xunroH1mnC1e2Gy5cxNJApiSY= +golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -383,6 +386,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -406,6 +411,8 @@ golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654 h1:id054HUawV2/6IGm2IV8KZQjqtwAOo2CYlOToYqa0d0= golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= @@ -433,6 +440,8 @@ golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.10 h1:QjFRCZxdOhBJ/UNgnBZLbNV13DlbnK0quyivTnXJM20= golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E= +golang.org/x/tools v0.3.0 h1:SrNbZl6ECOS1qFzgTdQfWXZM9XBkiA6tkFrH9YSTPHM= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/optgen/cmd/optgen/main.go b/optgen/cmd/optgen/main.go index b3aa968ec2..19da0a7ca9 100644 --- a/optgen/cmd/optgen/main.go +++ b/optgen/cmd/optgen/main.go @@ -5,13 +5,13 @@ import ( "errors" "flag" "fmt" - "go/format" "io" "os" - "github.com/dolthub/go-mysql-server/sql/analyzer" + "golang.org/x/tools/imports" "github.com/dolthub/go-mysql-server/optgen/cmd/support" + "github.com/dolthub/go-mysql-server/sql/analyzer" "github.com/dolthub/go-mysql-server/sql/expression/function/aggregation" ) @@ -154,7 +154,7 @@ func generate(defines support.GenDefs, w io.Writer, genFunc func(defines support var err error if useGoFmt { - b, err = format.Source(buf.Bytes()) + b, err = imports.Process("github.com/dolthub/go-mysql-server", buf.Bytes(), nil) if err != nil { // Write out incorrect source for easier debugging. b = buf.Bytes() diff --git a/sql/analyzer/memo.go b/sql/analyzer/memo.go index 0023c743e0..83c1c79dde 100644 --- a/sql/analyzer/memo.go +++ b/sql/analyzer/memo.go @@ -24,7 +24,7 @@ import ( "github.com/dolthub/go-mysql-server/sql/plan" ) -//go:generate optgen -out memo.og.go -pkg analyzer memo memo.go +//go:generate go run ../../optgen/cmd/optgen/main.go -out memo.og.go -pkg analyzer memo memo.go type GroupId uint16 type TableId uint16 @@ -558,4 +558,8 @@ var ExprDefs support.GenDefs = []support.MemoDef{ // alphabetically sorted Name: "subqueryAlias", SourceType: "*plan.SubqueryAlias", }, + { + Name: "tableFunc", + SourceType: "sql.TableFunction", + }, } diff --git a/sql/expression/function/aggregation/unary_aggs.go b/sql/expression/function/aggregation/unary_aggs.go index a23aae473d..eab9b123b2 100644 --- a/sql/expression/function/aggregation/unary_aggs.go +++ b/sql/expression/function/aggregation/unary_aggs.go @@ -2,7 +2,7 @@ package aggregation import "github.com/dolthub/go-mysql-server/optgen/cmd/support" -//go:generate optgen -out unary_aggs.og.go -pkg aggregation aggs unary_aggs.go +//go:generate go run ../../../../optgen/cmd/optgen/main.go -out unary_aggs.og.go -pkg aggregation aggs unary_aggs.go var UnaryAggDefs support.GenDefs = []support.AggDef{ // alphabetically sorted { diff --git a/sql/expression/function/aggregation/window_framer.go b/sql/expression/function/aggregation/window_framer.go index bd7c8025e9..ad3c80359f 100644 --- a/sql/expression/function/aggregation/window_framer.go +++ b/sql/expression/function/aggregation/window_framer.go @@ -25,7 +25,7 @@ import ( "github.com/dolthub/go-mysql-server/sql/expression" ) -//go:generate optgen -out window_framer.og.go -pkg aggregation framer window_framer.go +//go:generate go run ../../../../optgen/cmd/optgen/main.go -out window_framer.og.go -pkg aggregation framer window_framer.go var ErrPartitionNotSet = errors.New("attempted to general a window frame interval before framer partition was set") var ErrRangeIntervalTypeMismatch = errors.New("range bound type must match the order by expression type") diff --git a/sql/parse/window_frame_factory.go b/sql/parse/window_frame_factory.go index 6f963757e0..9089505a5e 100644 --- a/sql/parse/window_frame_factory.go +++ b/sql/parse/window_frame_factory.go @@ -6,7 +6,7 @@ import ( "github.com/dolthub/go-mysql-server/sql" ) -//go:generate optgen -out window_frame_factory.og.go -pkg parse frameFactory window_frame_factory.go +//go:generate go run ../../optgen/cmd/optgen/main.go -out window_frame_factory.og.go -pkg parse frameFactory window_frame_factory.go func getFrameStartNPreceding(ctx *sql.Context, frame *ast.Frame) (sql.Expression, error) { if frame == nil || frame.Extent.Start.Type != ast.ExprPreceding { diff --git a/sql/plan/window_frame.go b/sql/plan/window_frame.go index 172a09a8fa..1c39098f42 100644 --- a/sql/plan/window_frame.go +++ b/sql/plan/window_frame.go @@ -6,7 +6,7 @@ import ( "github.com/dolthub/go-mysql-server/sql" ) -//go:generate optgen -out window_frame.og.go -pkg plan frame window_frame.go +//go:generate go run ../../optgen/cmd/optgen/main.go -out window_frame.og.go -pkg plan frame window_frame.go // windowFrameBase maintains window frame bounds if // set for a plan.Window's over clause.