@@ -212,11 +212,38 @@ def test_to_json(self):
212212 import json
213213 self .assertEqual (query_output , json .dumps (tables , cls = FluxStructureEncoder , indent = 2 ))
214214
215+ def test_pandas_lot_of_columns (self ):
216+ data_types = ""
217+ groups = ""
218+ defaults = ""
219+ columns = ""
220+ values = ""
221+ for i in range (0 , 200 ):
222+ data_types += f",long"
223+ groups += f",false"
224+ defaults += f","
225+ columns += f",column_{ i } "
226+ values += f",{ i } "
227+
228+ data = f"#datatype,string,long,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string{ data_types } \n " \
229+ f"#group,false,false,true,true,true,true,false,false,true{ groups } \n " \
230+ f"#default,_result,,,,,,,,{ defaults } \n " \
231+ f",result,table,_field,_measurement,_start,_stop,_time,_value,tag{ columns } \n " \
232+ f",,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:20:00Z,2,test1{ values } \n " \
233+
234+ parser = self ._parse (data = data , serialization_mode = FluxSerializationMode .dataFrame )
235+ _dataFrames = list (parser .generator ())
236+ self .assertEqual (1 , _dataFrames .__len__ ())
237+
215238 @staticmethod
216- def _parse_to_tables (data : str ):
217- fp = BytesIO (str .encode (data ))
218- _parser = FluxCsvParser (response = HTTPResponse (fp , preload_content = False ),
219- serialization_mode = FluxSerializationMode .tables )
239+ def _parse_to_tables (data : str , serialization_mode = FluxSerializationMode .tables ):
240+ _parser = FluxCsvParserTest ._parse (data , serialization_mode )
220241 list (_parser .generator ())
221242 tables = _parser .tables
222243 return tables
244+
245+ @staticmethod
246+ def _parse (data , serialization_mode ):
247+ fp = BytesIO (str .encode (data ))
248+ return FluxCsvParser (response = HTTPResponse (fp , preload_content = False ),
249+ serialization_mode = serialization_mode )
0 commit comments