From 6d0436b1aa4a5371d9ada206493226370e365f19 Mon Sep 17 00:00:00 2001 From: sxwebdev Date: Mon, 24 Jul 2023 19:23:25 +0300 Subject: [PATCH] fixes --- cast_types.go | 4 +++- insert.go | 14 +++++++++++++- select.go | 8 ++++---- tsdbbuilder_test.go | 2 +- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/cast_types.go b/cast_types.go index 8d9ade9..c3f02ea 100644 --- a/cast_types.go +++ b/cast_types.go @@ -8,8 +8,10 @@ import ( func castType(value any) (string, error) { switch v := value.(type) { - case float32, float64, int8, uint8, int16, uint16, int32, uint32, int64, uint64, int, uint: + case int8, uint8, int16, uint16, int32, uint32, int64, uint64, int, uint: return fmt.Sprintf("%d", v), nil + case float32, float64: + return fmt.Sprintf("%f", v), nil case string: return fmt.Sprint("'" + v + "'"), nil case bool: diff --git a/insert.go b/insert.go index a1c1ed4..6e203fc 100644 --- a/insert.go +++ b/insert.go @@ -89,11 +89,23 @@ func (s *insertBuilder) Build() (string, error) { // add tags if len(table.tags) > 0 { + tagsKeys := make([]string, 0, len(table.tags)) tagsValues := make([]any, 0, len(table.tags)) - for _, value := range table.tags { + for key, value := range table.tags { + tagsKeys = append(tagsKeys, key) tagsValues = append(tagsValues, value) } + b.WriteString("(") + for index, value := range tagsKeys { + b.WriteString(value) + + if index != len(tagsKeys)-1 { + b.WriteString(", ") + } + } + b.WriteString(") ") + b.WriteString("TAGS (") for index, value := range tagsValues { v, err := castType(value) diff --git a/select.go b/select.go index 8076c98..4bed96d 100644 --- a/select.go +++ b/select.go @@ -116,22 +116,22 @@ func (s *selectBuilder) Build() (string, error) { // add limit if s.limit != nil { - b.WriteString(fmt.Sprintf("%d", *s.limit) + " ") + b.WriteString(fmt.Sprintf("LIMIT %d", *s.limit) + " ") } // add slimit if s.slimit != nil { - b.WriteString(fmt.Sprintf("%d", *s.slimit) + " ") + b.WriteString(fmt.Sprintf("SLIMIT %d", *s.slimit) + " ") } // add offset if s.offset != nil { - b.WriteString(fmt.Sprintf("%d", *s.offset) + " ") + b.WriteString(fmt.Sprintf("OFFSET %d", *s.offset) + " ") } // add soffset if s.soffset != nil { - b.WriteString(fmt.Sprintf("%d", *s.soffset) + " ") + b.WriteString(fmt.Sprintf("SOFFSET %d", *s.soffset) + " ") } b.WriteString(";") diff --git a/tsdbbuilder_test.go b/tsdbbuilder_test.go index f63531a..5d74166 100644 --- a/tsdbbuilder_test.go +++ b/tsdbbuilder_test.go @@ -49,7 +49,7 @@ func Test_Insert(t *testing.T) { b.AddTable("test_table_2"). Using("s_table_name"). Tags(map[string]any{ - "tag_1": 1, + "tag_1": 1.1, "tag_2": 2, "tag_3": 3, }).