@@ -506,4 +506,24 @@ def test_parse_without_datatype
506
506
assert_equal '11' , tables [ 0 ] . records [ 0 ] . values [ 'value1' ]
507
507
assert_equal 'west' , tables [ 0 ] . records [ 0 ] . values [ 'region' ]
508
508
end
509
+
510
+ def test_parse_duplicate_column_names
511
+ data = '#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,string,string,double
512
+ #group,false,false,true,true,false,true,true,false
513
+ #default,_result,,,,,,,
514
+ ,result,table,_start,_stop,_time,_measurement,location,result
515
+ ,,0,2022-09-13T06:14:40.469404272Z,2022-09-13T06:24:40.469404272Z,2022-09-13T06:24:33.746Z,my_measurement,Prague,25.3
516
+ ,,0,2022-09-13T06:14:40.469404272Z,2022-09-13T06:24:40.469404272Z,2022-09-13T06:24:39.299Z,my_measurement,Prague,25.3
517
+ ,,0,2022-09-13T06:14:40.469404272Z,2022-09-13T06:24:40.469404272Z,2022-09-13T06:24:40.454Z,my_measurement,Prague,25.3'
518
+
519
+ tables = InfluxDB2 ::FluxCsvParser . new ( data , stream : false , response_mode : InfluxDB2 ::FluxResponseMode ::ONLY_NAMES )
520
+ . parse
521
+ . tables
522
+ assert_equal 1 , tables . size
523
+ assert_equal 8 , tables [ 0 ] . columns . size
524
+ assert_equal 3 , tables [ 0 ] . records . size
525
+ assert_equal 7 , tables [ 0 ] . records [ 0 ] . values . size
526
+ assert_equal 8 , tables [ 0 ] . records [ 0 ] . row . size
527
+ assert_equal 25.3 , tables [ 0 ] . records [ 0 ] . row [ 7 ]
528
+ end
509
529
end
0 commit comments