Skip to content
This repository was archived by the owner on Feb 26, 2024. It is now read-only.

Commit dedc40b

Browse files
authored
Merge pull request ClickHouse#225 from housepower/int_compacity
add more uint64 case for uint column
2 parents 01e778c + 8456bef commit dedc40b

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

lib/column/uint16.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ func (u *UInt16) Write(encoder *binary.Encoder, v interface{}) error {
2020
return encoder.UInt16(v)
2121
case int64:
2222
return encoder.UInt16(uint16(v))
23+
case uint64:
24+
return encoder.UInt16(uint16(v))
2325
case int:
2426
return encoder.UInt16(uint16(v))
2527

@@ -28,6 +30,8 @@ func (u *UInt16) Write(encoder *binary.Encoder, v interface{}) error {
2830
return encoder.UInt16(*v)
2931
case *int64:
3032
return encoder.UInt16(uint16(*v))
33+
case *uint64:
34+
return encoder.UInt16(uint16(*v))
3135
case *int:
3236
return encoder.UInt16(uint16(*v))
3337
}

lib/column/uint32.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,16 @@ func (u *UInt32) Write(encoder *binary.Encoder, v interface{}) error {
1818
switch v := v.(type) {
1919
case uint32:
2020
return encoder.UInt32(v)
21+
case uint64:
22+
return encoder.UInt32(uint32(v))
2123
case int64:
2224
return encoder.UInt32(uint32(v))
2325
case int:
2426
return encoder.UInt32(uint32(v))
2527

2628
// this relies on Nullable never sending nil values through
29+
case *uint64:
30+
return encoder.UInt32(uint32(*v))
2731
case *uint32:
2832
return encoder.UInt32(*v)
2933
case *int64:

lib/column/uint8.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ func (u *UInt8) Write(encoder *binary.Encoder, v interface{}) error {
2222
return encoder.UInt8(v)
2323
case int64:
2424
return encoder.UInt8(uint8(v))
25+
case uint64:
26+
return encoder.UInt8(uint8(v))
2527
case int:
2628
return encoder.UInt8(uint8(v))
2729

@@ -32,6 +34,8 @@ func (u *UInt8) Write(encoder *binary.Encoder, v interface{}) error {
3234
return encoder.UInt8(*v)
3335
case *int64:
3436
return encoder.UInt8(uint8(*v))
37+
case *uint64:
38+
return encoder.UInt8(uint8(*v))
3539
case *int:
3640
return encoder.UInt8(uint8(*v))
3741
}

0 commit comments

Comments
 (0)