{"action":"closed","issue":{"url":"https://api.github.com/repos/influxdata/platform/issues/73","repository_url":"https://api.github.com/repos/influxdata/platform","labels_url":"https://api.github.com/repos/influxdata/platform/issues/73/labels{/name}","comments_url":"https://api.github.com/repos/influxdata/platform/issues/73/comments","events_url":"https://api.github.com/repos/influxdata/platform/issues/73/events","html_url":"https://github.com/influxdata/platform/issues/73","id":327791520,"node_id":"MDU6SXNzdWUzMjc3OTE1MjA=","number":73,"title":"Refactor transpiler interface","user":{"login":"jsternberg","id":1212129,"node_id":"MDQ6VXNlcjEyMTIxMjk=","avatar_url":"https://avatars2.githubusercontent.com/u/1212129?v=4","gravatar_id":"","url":"https://api.github.com/users/jsternberg","html_url":"https://github.com/jsternberg","followers_url":"https://api.github.com/users/jsternberg/followers","following_url":"https://api.github.com/users/jsternberg/following{/other_user}","gists_url":"https://api.github.com/users/jsternberg/gists{/gist_id}","starred_url":"https://api.github.com/users/jsternberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsternberg/subscriptions","organizations_url":"https://api.github.com/users/jsternberg/orgs","repos_url":"https://api.github.com/users/jsternberg/repos","events_url":"https://api.github.com/users/jsternberg/events{/privacy}","received_events_url":"https://api.github.com/users/jsternberg/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"jsternberg","id":1212129,"node_id":"MDQ6VXNlcjEyMTIxMjk=","avatar_url":"https://avatars2.githubusercontent.com/u/1212129?v=4","gravatar_id":"","url":"https://api.github.com/users/jsternberg","html_url":"https://github.com/jsternberg","followers_url":"https://api.github.com/users/jsternberg/followers","following_url":"https://api.github.com/users/jsternberg/following{/other_user}","gists_url":"https://api.github.com/users/jsternberg/gists{/gist_id}","starred_url":"https://api.github.com/users/jsternberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsternberg/subscriptions","organizations_url":"https://api.github.com/users/jsternberg/orgs","repos_url":"https://api.github.com/users/jsternberg/repos","events_url":"https://api.github.com/users/jsternberg/events{/privacy}","received_events_url":"https://api.github.com/users/jsternberg/received_events","type":"User","site_admin":false},"assignees":[{"login":"jsternberg","id":1212129,"node_id":"MDQ6VXNlcjEyMTIxMjk=","avatar_url":"https://avatars2.githubusercontent.com/u/1212129?v=4","gravatar_id":"","url":"https://api.github.com/users/jsternberg","html_url":"https://github.com/jsternberg","followers_url":"https://api.github.com/users/jsternberg/followers","following_url":"https://api.github.com/users/jsternberg/following{/other_user}","gists_url":"https://api.github.com/users/jsternberg/gists{/gist_id}","starred_url":"https://api.github.com/users/jsternberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsternberg/subscriptions","organizations_url":"https://api.github.com/users/jsternberg/orgs","repos_url":"https://api.github.com/users/jsternberg/repos","events_url":"https://api.github.com/users/jsternberg/events{/privacy}","received_events_url":"https://api.github.com/users/jsternberg/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2018-05-30T15:48:08Z","updated_at":"2018-08-13T19:12:18Z","closed_at":"2018-08-13T19:12:18Z","author_association":"CONTRIBUTOR","body":"The transpiler interface needs to be refactored so the result encoder is part of the interface somehow. The result encoder needs information about the query that is performed during transpilation to output the correct format so we need to figure out a generic way to create an interface for that.\r\n\r\nThere are two reasons in particular why the encoder needs information about the query it is transforming.\r\n\r\n1. The ordering and naming of columns. IFQL currently has the columns as unordered. This is likely changing (#72), but it is still likely not going to be possible to have multiple columns with the same name which would be needed to transpile an influxql query. So we're going to need some way to map the values from the ifql response to influxql as part of a final step.\r\n2. We will need to differentiate between tags and fields and when both are used. We cannot use a keys presence in the partition key as proof that it's a tag because it may not be! It is also possible to write an influxql query where a tag is returned both in the tags section and in the values section.\r\n\r\nBoth of these are likely implausible to add into ifql. In all honesty, neither of the features is very useful and are likely mistakes in how a person builds a query. At the same time, we should still support them in the transpiler.\r\n\r\nSo the interface for the transpiler needs to be changed so the encoding is part of the transpile interface in some way."}}
{"actor":{"display_login":"jsternberg"}}