Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CSV incorrectly parses multiple results with multiple tables #61

Closed
wojciechka opened this issue Feb 27, 2020 · 2 comments · Fixed by #64
Closed

CSV incorrectly parses multiple results with multiple tables #61

wojciechka opened this issue Feb 27, 2020 · 2 comments · Fixed by #64
Labels
bug Something isn't working
Milestone

Comments

@wojciechka
Copy link

CSV parsing fails to properly parse the following into 4 tables:

#group,false,false,true,true,true,true,false,false,true
#datatype,string,long,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string
#default,t1,,,,,,,,
,result,table,_field,_measurement,_start,_stop,_time,_value,tag
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:20:00Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:21:40Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:23:20Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:25:00Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:26:40Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:28:20Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:30:00Z,2,test1
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:20:00Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:21:40Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:23:20Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:25:00Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:26:40Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:28:20Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:30:00Z,2,test2

#group,false,false,true,true,true,true,false,false,true
#datatype,string,long,string,string,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string
#default,t2,,,,,,,,
,result,table,_field,_measurement,_start,_stop,_time,_value,tag
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:20:00Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:21:40Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:23:20Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:25:00Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:26:40Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:28:20Z,2,test1
,,0,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:30:00Z,2,test1
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:20:00Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:21:40Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:23:20Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:25:00Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:26:40Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:28:20Z,2,test2
,,1,value,python_client_test,2010-02-27T04:48:32.752600083Z,2020-02-27T16:48:32.752600083Z,2020-02-27T16:30:00Z,2,test2

To reproduce:

  1. Create "tests" bucket and load the following into it:
python_client_test,tag=test1 value=2 1582820400000000000
python_client_test,tag=test1 value=2 1582820500000000000
python_client_test,tag=test1 value=2 1582820600000000000
python_client_test,tag=test1 value=2 1582820700000000000
python_client_test,tag=test1 value=2 1582820800000000000
python_client_test,tag=test1 value=2 1582820900000000000
python_client_test,tag=test1 value=2 1582821000000000000
python_client_test,tag=test2 value=2 1582820400000000000
python_client_test,tag=test2 value=2 1582820500000000000
python_client_test,tag=test2 value=2 1582820600000000000
python_client_test,tag=test2 value=2 1582820700000000000
python_client_test,tag=test2 value=2 1582820800000000000
python_client_test,tag=test2 value=2 1582820900000000000
python_client_test,tag=test2 value=2 1582821000000000000
  1. Run the following code:
c = InfluxDBClient(...)

query = "%s\n%s" % (
  'from(bucket: "tests") |> range(start: -10y) |> filter(fn: (r) => r._measurement == "python_client_test") |> map(fn: (r) => ({ r with _value: r._value })) |> yield(name: "t1")',
  'from(bucket: "tests") |> range(start: -10y) |> filter(fn: (r) => r._measurement == "python_client_test") |> map(fn: (r) => ({ r with _value: r._value })) |> yield(name: "t2")',
)

result = list(c.query_api().query(query))
print(len(result))

This should print out 4, but prints out 3.

The third table contains data from both 3rd and 4th table.

@wojciechka wojciechka changed the title CSV parsing fails to handle case of multipl CSV incorrectly parses multiple results with multiple tables Feb 27, 2020
@bednar bednar added this to the 1.5.0 milestone Feb 28, 2020
@bednar bednar added the bug Something isn't working label Feb 28, 2020
@bednar
Copy link
Contributor

bednar commented Feb 28, 2020

Hi @wojciechka,

The issue is fixed in 1.5.0 milestone.

If you would like to use a dev version then install client via:

pip install git+https://github.com/influxdata/influxdb-client-python.git@master

Regards

@wojciechka
Copy link
Author

Hi,

I can confirm that code from master worked fine for me.

Thanks for improving the code and fixing it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
2 participants