func (c User) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) {
	return userFuncLogic(ctx, row)
}
Eval implements sql.Expression
package function
import "github.com/dolthub/go-mysql-server/sql"
type ConnectionID struct {
	NoArgFunc
}
func connIDFuncLogic(ctx *sql.Context, _ sql.Row) (interface{}, error) {
	return ctx.ID(), nil
}
var _ sql.FunctionExpression = ConnectionID{}
func NewConnectionID() sql.Expression {
	return ConnectionID{
		NoArgFunc: NoArgFunc{"connection_id", sql.Uint32},
	}
}
func (c ConnectionID) Eval(ctx *sql.Context, row sql.Row) (interface{}, error) {
	return connIDFuncLogic(ctx, row)
}
func (c ConnectionID) WithChildren(children ...sql.Expression) (sql.Expression, error) {
	return NoArgFuncWithChildren(c, children)
}
type User struct {
	NoArgFunc
}
func userFuncLogic(ctx *sql.Context, _ sql.Row) (interface{}, error) {
	if ctx.Client().User == "" && ctx.Client().Address == "" {
		return "", nil
	}
	return ctx.Client().User + "@" + ctx.Client().Address, nil
}
var _ sql.FunctionExpression = User{}
func NewUser() sql.Expression {
	return User{
		NoArgFunc: NoArgFunc{"user", sql.LongText},
	}
}
func NewCurrentUser() sql.Expression {
	return User{
		NoArgFunc: NoArgFunc{"current_user", sql.LongText},
	}
}