Skip to content

Commit bc429d2

Browse files
authored
Fix getLong("Time") for tree model (#129)
1 parent cc784eb commit bc429d2

File tree

2 files changed

+69
-1
lines changed

2 files changed

+69
-1
lines changed

client/rpcdataset.go

+4
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,10 @@ func (s *IoTDBRpcDataSet) getLongByTsBlockColumnIndex(tsBlockColumnIndex int32)
442442
if err := s.checkRecord(); err != nil {
443443
return 0, err
444444
}
445+
if tsBlockColumnIndex < 0 {
446+
s.lastReadWasNull = false
447+
return s.curTsBlock.GetTimeByIndex(s.tsBlockIndex)
448+
}
445449
if !s.isNull(tsBlockColumnIndex, s.tsBlockIndex) {
446450
s.lastReadWasNull = false
447451
dataType := s.curTsBlock.GetColumn(tsBlockColumnIndex).GetDataType()

test/e2e/e2e_test.go

+65-1
Original file line numberDiff line numberDiff line change
@@ -488,7 +488,7 @@ func (s *e2eTestSuite) Test_QueryAllDataType() {
488488
r, err := s.session.InsertAlignedTablet(tablet, true)
489489
s.checkError(r, err)
490490

491-
sessionDataSet, err := s.session.ExecuteQueryStatement("select * from root.tsg1.d1 limit 1", nil)
491+
sessionDataSet, err := s.session.ExecuteQueryStatement("select s0, s1, s2, s3, s4, s5, s6, s7, s8, s9 from root.tsg1.d1 limit 1", nil)
492492
for {
493493
if hasNext, err := sessionDataSet.Next(); err != nil || !hasNext {
494494
break
@@ -498,6 +498,65 @@ func (s *e2eTestSuite) Test_QueryAllDataType() {
498498
s.NoError(err)
499499
s.False(isNull)
500500
}
501+
timeValue, err := sessionDataSet.GetLongByIndex(1)
502+
s.NoError(err)
503+
s.Equal(int64(1), timeValue)
504+
boolValue, err := sessionDataSet.GetBooleanByIndex(2)
505+
s.NoError(err)
506+
s.Equal(true, boolValue)
507+
508+
intValue, err := sessionDataSet.GetIntByIndex(3)
509+
s.NoError(err)
510+
s.Equal(int32(1), intValue)
511+
512+
longValue, err := sessionDataSet.GetLongByIndex(4)
513+
s.NoError(err)
514+
s.Equal(int64(1), longValue)
515+
516+
floatValue, err := sessionDataSet.GetFloatByIndex(5)
517+
s.NoError(err)
518+
s.Equal(float32(1), floatValue)
519+
520+
doubleValue, err := sessionDataSet.GetDoubleByIndex(6)
521+
s.NoError(err)
522+
s.Equal(float64(1), doubleValue)
523+
524+
textValue, err := sessionDataSet.GetStringByIndex(7)
525+
s.NoError(err)
526+
s.Equal("text", textValue)
527+
528+
timestampValue, err := sessionDataSet.GetTimestampByIndex(8)
529+
s.NoError(err)
530+
s.Equal(time.Unix(0, 1e6), timestampValue)
531+
532+
dateValue, err := sessionDataSet.GetDateByIndex(9)
533+
s.NoError(err)
534+
s.Equal(expectedDate, dateValue)
535+
536+
blobValue, err := sessionDataSet.GetBlobByIndex(10)
537+
s.NoError(err)
538+
s.Equal([]byte{1}, blobValue.GetValues())
539+
540+
stringValue, err := sessionDataSet.GetStringByIndex(11)
541+
s.NoError(err)
542+
s.Equal("string", stringValue)
543+
}
544+
sessionDataSet.Close()
545+
546+
sessionDataSet, err = s.session.ExecuteQueryStatement("select s0, s1, s2, s3, s4, s5, s6, s7, s8, s9 from root.tsg1.d1 limit 1", nil)
547+
for {
548+
if hasNext, err := sessionDataSet.Next(); err != nil || !hasNext {
549+
break
550+
}
551+
for _, columnName := range sessionDataSet.GetColumnNames() {
552+
isNull, err := sessionDataSet.IsNull(columnName)
553+
s.NoError(err)
554+
s.False(isNull)
555+
}
556+
timeValue, err := sessionDataSet.GetLong("Time")
557+
s.NoError(err)
558+
s.Equal(int64(1), timeValue)
559+
501560
boolValue, err := sessionDataSet.GetBoolean("root.tsg1.d1.s0")
502561
s.NoError(err)
503562
s.Equal(true, boolValue)
@@ -550,6 +609,10 @@ func (s *e2eTestSuite) Test_QueryAllDataType() {
550609
s.NoError(err)
551610
s.False(isNull)
552611
}
612+
timeValue, err := sessionDataSet.GetObject("Time")
613+
s.NoError(err)
614+
s.Equal(time.Unix(0, 1*1e6), timeValue)
615+
553616
boolValue, err := sessionDataSet.GetObject("root.tsg1.d1.s0")
554617
s.NoError(err)
555618
s.Equal(true, boolValue)
@@ -591,6 +654,7 @@ func (s *e2eTestSuite) Test_QueryAllDataType() {
591654
s.NoError(err)
592655
s.Equal("string", stringValue)
593656
}
657+
sessionDataSet.Close()
594658
}
595659

596660
func (s *e2eTestSuite) Test_InvalidSQL() {

0 commit comments

Comments
 (0)