client/utils.go (74 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package client import ( "bytes" "encoding/binary" "fmt" "strconv" "github.com/apache/iotdb-client-go/rpc" ) func int32ToString(n int32) string { return strconv.Itoa(int(n)) } func int64ToString(n int64) string { return strconv.FormatInt(n, 10) } func float32ToString(val float32) string { return strconv.FormatFloat(float64(val), 'f', -1, 32) } func float64ToString(val float64) string { return strconv.FormatFloat(val, 'f', -1, 64) } func int32ToBytes(n int32) []byte { bytesBuffer := bytes.NewBuffer([]byte{}) binary.Write(bytesBuffer, binary.BigEndian, n) return bytesBuffer.Bytes() } func int64ToBytes(n int64) []byte { bytesBuffer := bytes.NewBuffer([]byte{}) binary.Write(bytesBuffer, binary.BigEndian, n) return bytesBuffer.Bytes() } func bytesToInt32(bys []byte) int32 { bytebuff := bytes.NewBuffer(bys) var data int32 binary.Read(bytebuff, binary.BigEndian, &data) return int32(data) } func bytesToInt64(bys []byte) int64 { bytebuff := bytes.NewBuffer(bys) var data int64 binary.Read(bytebuff, binary.BigEndian, &data) return int64(data) } func verifySuccesses(statuses []*rpc.TSStatus) error { buff := bytes.Buffer{} for _, status := range statuses { if status.Code != SuccessStatus && status.Code != RedirectionRecommend { buff.WriteString(*status.Message + ";") } } errMsgs := buff.String() if len(errMsgs) > 0 { return NewBatchError(statuses) } return nil } func VerifySuccess(status *rpc.TSStatus) error { if status.Code == RedirectionRecommend { return nil } if status.Code == MultipleError { if err := verifySuccesses(status.GetSubStatus()); err != nil { return err } return nil } if status.Code != SuccessStatus { if status.Message != nil { return fmt.Errorf("Error Code: %d, Message: %v", status.Code, *status.Message) } else { return fmt.Errorf("Error Code: %d", status.Code) } } return nil }