MCPcopy Create free account
hub / github.com/bytebase/bytebase / convertValue

Function convertValue

backend/plugin/db/starrocks/query.go:36–85  ·  view source on GitHub ↗
(typeName string, columnType *sql.ColumnType, value any)

Source from the content-addressed store, hash-verified

34}
35
36func convertValue(typeName string, columnType *sql.ColumnType, value any) *v1pb.RowValue {
37 switch raw := value.(type) {
38 case *sql.NullString:
39 if raw.Valid {
40 if typeName == "TIMESTAMP" || typeName == "DATETIME" {
41 _, scale, _ := columnType.DecimalSize()
42 return util.BuildTimestampOrStringRowValue(raw.String, scale)
43 }
44 return &v1pb.RowValue{
45 Kind: &v1pb.RowValue_StringValue{
46 StringValue: raw.String,
47 },
48 }
49 }
50 case *sql.NullInt64:
51 if raw.Valid {
52 return &v1pb.RowValue{
53 Kind: &v1pb.RowValue_Int64Value{
54 Int64Value: raw.Int64,
55 },
56 }
57 }
58 case *[]byte:
59 if len(*raw) > 0 {
60 return &v1pb.RowValue{
61 Kind: &v1pb.RowValue_BytesValue{
62 BytesValue: *raw,
63 },
64 }
65 }
66 case *sql.NullBool:
67 if raw.Valid {
68 return &v1pb.RowValue{
69 Kind: &v1pb.RowValue_BoolValue{
70 BoolValue: raw.Bool,
71 },
72 }
73 }
74 case *sql.NullFloat64:
75 if raw.Valid {
76 return &v1pb.RowValue{
77 Kind: &v1pb.RowValue_DoubleValue{
78 DoubleValue: raw.Float64,
79 },
80 }
81 }
82 default:
83 }
84 return util.NullRowValue
85}
86
87func getStatementWithResultLimit(statement string, limit int) string {
88 trimmedStatement := strings.TrimSpace(statement)

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected