Skip to content

args do not support uint64 #1089

Closed
Closed
@zhixinwen

Description

@zhixinwen

Issue description

We upgrade the driver from 1.4.1 to 1.5, and all the select statements with uint64 as args are failing.

I think the issue is introduced by #838., which would fail https://github.com/golang/go/blob/master/src/database/sql/convert.go#L83.

For

	var err error
	arg := nv.Value
	nv.Value, err = c.cci.ColumnConverter(index).ConvertValue(arg)
	if err != nil {
		return err
	}
	if !driver.IsValue(nv.Value) {
		return fmt.Errorf("driver ColumnConverter error converted %T to unsupported type %T", arg, nv.Value)
	}
	return nil

In 1.4, nv.Value would be casted to int64, so driver.IsValue returns true. Now, nv.Value would remainuint64, and driver.IsValue would return false, and cause the error above.

Error log

converting argument $1 type: driver ColumnConverter error converted uint64 to unsupported type uint64"```

### Configuration
*Driver version (or git SHA):*
1.5
*Go version:* run `go version` in your console
go version go1.14.2 darwin/amd64

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions