Skip to content
46 changes: 46 additions & 0 deletions enginetest/queries/variable_queries.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
"math"

"github.com/dolthub/go-mysql-server/sql"
"github.com/dolthub/go-mysql-server/sql/types"
)

var VariableQueries = []ScriptTest{
Expand Down Expand Up @@ -60,6 +61,51 @@ var VariableQueries = []ScriptTest{
{uint64(2)},
},
},
{
Name: "variable scope is included in returned column name when explicitly provided",
Assertions: []ScriptTestAssertion{
{
Query: "select @@max_allowed_packet;",
Expected: []sql.Row{{1073741824}},
ExpectedColumns: sql.Schema{
{
Name: "@@max_allowed_packet",
Type: types.Uint64,
},
},
},
{
Query: "select @@session.max_allowed_packet;",
Expected: []sql.Row{{1073741824}},
ExpectedColumns: sql.Schema{
{
Name: "@@session.max_allowed_packet",
Type: types.Uint64,
},
},
},
{
Query: "select @@global.max_allowed_packet;",
Expected: []sql.Row{{1073741824}},
ExpectedColumns: sql.Schema{
{
Name: "@@global.max_allowed_packet",
Type: types.Uint64,
},
},
},
{
Query: "select @@GLoBAL.max_allowed_packet;",
Expected: []sql.Row{{1073741824}},
ExpectedColumns: sql.Schema{
{
Name: "@@GLoBAL.max_allowed_packet",
Type: types.Uint64,
},
},
},
},
},
{
Name: "@@server_id",
Assertions: []ScriptTestAssertion{
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ require (
github.com/dolthub/go-icu-regex v0.0.0-20230524105445-af7e7991c97e
github.com/dolthub/jsonpath v0.0.2-0.20230525180605-8dc13778fd72
github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81
github.com/dolthub/vitess v0.0.0-20240117220136-123ca09b8929
github.com/dolthub/vitess v0.0.0-20240117224045-c9088efc7f8c
github.com/go-kit/kit v0.10.0
github.com/go-sql-driver/mysql v1.7.2-0.20231213112541-0004702b931d
github.com/gocraft/dbr/v2 v2.7.2
Expand Down
12 changes: 6 additions & 6 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,12 @@ github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81 h1:7/v8q9X
github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81/go.mod h1:siLfyv2c92W1eN/R4QqG/+RjjX5W2+gCTRjZxBjI3TY=
github.com/dolthub/vitess v0.0.0-20240110233415-e46007d964c0 h1:P8wb4dR5krirPa0swEJbEObc/I7GaAM/01nOnuQrl0c=
github.com/dolthub/vitess v0.0.0-20240110233415-e46007d964c0/go.mod h1:IwjNXSQPymrja5pVqmfnYdcy7Uv7eNJNBPK/MEh9OOw=
github.com/dolthub/vitess v0.0.0-20240117061527-f9260279b3d3 h1:nEwq2/8gTI2jm/4APIMTrWNDDRCn8AWJjrCbH+d7CJc=
github.com/dolthub/vitess v0.0.0-20240117061527-f9260279b3d3/go.mod h1:IwjNXSQPymrja5pVqmfnYdcy7Uv7eNJNBPK/MEh9OOw=
github.com/dolthub/vitess v0.0.0-20240117195812-420942cccb48 h1:Bdsy71WXx4yvK71IFwIqQ2duL5a/y15EuKEhVN51bSE=
github.com/dolthub/vitess v0.0.0-20240117195812-420942cccb48/go.mod h1:IwjNXSQPymrja5pVqmfnYdcy7Uv7eNJNBPK/MEh9OOw=
github.com/dolthub/vitess v0.0.0-20240117220136-123ca09b8929 h1:6SExRtdwbcNPl7q09SXxtnwk+pVdhrsd0ap1DVfphEg=
github.com/dolthub/vitess v0.0.0-20240117220136-123ca09b8929/go.mod h1:IwjNXSQPymrja5pVqmfnYdcy7Uv7eNJNBPK/MEh9OOw=
github.com/dolthub/vitess v0.0.0-20240117190712-1b506b108f54 h1:AjTW9LRaRq12Pu1tt0YG+vjfDduA59O7DhtyiNgY0Yw=
github.com/dolthub/vitess v0.0.0-20240117190712-1b506b108f54/go.mod h1:IwjNXSQPymrja5pVqmfnYdcy7Uv7eNJNBPK/MEh9OOw=
github.com/dolthub/vitess v0.0.0-20240117191503-43038f0e7332 h1:lkY6/i/jFn70eQWfZaxMhjlMtcTZiLErCBAoKcySzCQ=
github.com/dolthub/vitess v0.0.0-20240117191503-43038f0e7332/go.mod h1:IwjNXSQPymrja5pVqmfnYdcy7Uv7eNJNBPK/MEh9OOw=
github.com/dolthub/vitess v0.0.0-20240117224045-c9088efc7f8c h1:smzyKT85EbK/RZnu+KFku63enuWx5IZ9rehPdngoBrk=
github.com/dolthub/vitess v0.0.0-20240117224045-c9088efc7f8c/go.mod h1:IwjNXSQPymrja5pVqmfnYdcy7Uv7eNJNBPK/MEh9OOw=
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
Expand Down
15 changes: 15 additions & 0 deletions server/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -718,6 +718,20 @@ func schemaToFields(ctx *sql.Context, s sql.Schema) []*querypb.Field {
charset = uint32(charSetResults)
}

var flags querypb.MySqlFlag
if !c.Nullable {
flags = flags | querypb.MySqlFlag_NOT_NULL_FLAG
}
if c.AutoIncrement {
flags = flags | querypb.MySqlFlag_AUTO_INCREMENT_FLAG
}
if c.PrimaryKey {
flags = flags | querypb.MySqlFlag_PRI_KEY_FLAG
}
if types.IsUnsigned(c.Type) {
flags = flags | querypb.MySqlFlag_UNSIGNED_FLAG
}

fields[i] = &querypb.Field{
Name: c.Name,
OrgName: c.Name,
Expand All @@ -727,6 +741,7 @@ func schemaToFields(ctx *sql.Context, s sql.Schema) []*querypb.Field {
Type: c.Type.Type(),
Charset: charset,
ColumnLength: c.Type.MaxTextResponseByteLength(ctx),
Flags: uint32(flags),
}

if types.IsDecimal(c.Type) {
Expand Down
Loading