|
@@ -76,6 +76,8 @@ func (e *columnEncoder) ColumnConverter(idx int) ValueConverter {
|
|
|
switch e.columnTypes[idx] {
|
|
switch e.columnTypes[idx] {
|
|
|
case typeInt:
|
|
case typeInt:
|
|
|
return ValueConverter(encInt)
|
|
return ValueConverter(encInt)
|
|
|
|
|
+ case typeBigInt:
|
|
|
|
|
+ return ValueConverter(encBigInt)
|
|
|
case typeFloat:
|
|
case typeFloat:
|
|
|
return ValueConverter(encFloat)
|
|
return ValueConverter(encFloat)
|
|
|
case typeDouble:
|
|
case typeDouble:
|
|
@@ -121,6 +123,12 @@ func encInt(v interface{}) (driver.Value, error) {
|
|
|
return b, nil
|
|
return b, nil
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func encBigInt(v interface{}) (driver.Value, error) {
|
|
|
|
|
+ b := make([]byte, 8)
|
|
|
|
|
+ binary.BigEndian.PutUint64(b, uint64(v.(int64)))
|
|
|
|
|
+ return b, nil
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func encVarchar(v interface{}) (driver.Value, error) {
|
|
func encVarchar(v interface{}) (driver.Value, error) {
|
|
|
x, err := driver.String.ConvertValue(v)
|
|
x, err := driver.String.ConvertValue(v)
|
|
|
if err != nil {
|
|
if err != nil {
|