[jira] [Commented] (CALCITE-1181) FetchResponse always return no rows
[ https://issues.apache.org/jira/browse/CALCITE-1181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15273679#comment-15273679 ] Francis Chuang commented on CALCITE-1181: - I attempted to implement {{prepareAndExecute}} in my golang driver and hit this issue again. I was able to narrow the problem down with my tests. This issue does not exist if you use the "long way": {{PrepareRequest}}, {{ExecuteRequest}}, {{FetchRequest}}. The problem only exists if you attempt to use {{prepareAndExecute}} and then use {{FetchRequest}} to fetch more rows. The current work around is to use the "long way" when querying. > FetchResponse always return no rows > --- > > Key: CALCITE-1181 > URL: https://issues.apache.org/jira/browse/CALCITE-1181 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.7.1 > Environment: HBase 1.1 and Phoenix 4.7.0, HBase 1.1 and Phoenix > 4.8.0-SNAPSHOT >Reporter: Francis Chuang >Assignee: Julian Hyde > > Assuming I have a table called my_table which is created and seeded like so: > {code:sql} > CREATE TABLE my_table (k BIGINT PRIMARY KEY, v VARCHAR) TRANSACTIONAL=true > UPSERT INTO my_table VALUES (1,'A') > UPSERT INTO my_table VALUES (2,'B') > {code} > I have 2 rows in the table. If I query the table using SELECT * FROM > my_table, and request a maxRowCount of 1, using FetchRequest to request > further rows always returns 0 rows. > For ease of reproduction, I have included CURL commands (avatica will need to > have serialization set to JSON): > {code} > curl localhost:8765 -XPOST --data '{"request": > "openConnection","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "createStatement","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "prepareAndExecute","connectionId": "my-conn","statementId": 12345,"sql": > "SELECT * FROM my_table","maxRowCount": 1}' # update the statementId > curl localhost:8765 -XPOST --data '{"request": "fetch","connectionId": > "my-conn","statementId": 12345,"offset": 0,"fetchMaxRowCount": 1}' # update > the statementId > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1181) FetchResponse always return no rows
[ https://issues.apache.org/jira/browse/CALCITE-1181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15224254#comment-15224254 ] Josh Elser commented on CALCITE-1181: - {{"offset": 0}} is also not quite correct. Since you already got the first "frame" (batch) of results, you'd want {{"offset": 1}}. I'm not sure at a glance why you wouldn't get back the first result twice though (or why {{done}} would be true). Any interest in writing up a unit case which shows this? It should be fairly easy to put together if you [have an example|https://github.com/apache/calcite/blob/master/avatica/server/src/test/java/org/apache/calcite/avatica/RemoteDriverTest.java#L1458]. This should help us track down the issue to Avatica specifically. If nothing else, we might be able to find out what is going wrong. > FetchResponse always return no rows > --- > > Key: CALCITE-1181 > URL: https://issues.apache.org/jira/browse/CALCITE-1181 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.7.1 > Environment: HBase 1.1 and Phoenix 4.7.0, HBase 1.1 and Phoenix > 4.8.0-SNAPSHOT >Reporter: Francis Chuang >Assignee: Julian Hyde > > Assuming I have a table called my_table which is created and seeded like so: > {code:sql} > CREATE TABLE my_table (k BIGINT PRIMARY KEY, v VARCHAR) TRANSACTIONAL=true > UPSERT INTO my_table VALUES (1,'A') > UPSERT INTO my_table VALUES (2,'B') > {code} > I have 2 rows in the table. If I query the table using SELECT * FROM > my_table, and request a maxRowCount of 1, using FetchRequest to request > further rows always returns 0 rows. > For ease of reproduction, I have included CURL commands (avatica will need to > have serialization set to JSON): > {code} > curl localhost:8765 -XPOST --data '{"request": > "openConnection","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "createStatement","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "prepareAndExecute","connectionId": "my-conn","statementId": 12345,"sql": > "SELECT * FROM my_table","maxRowCount": 1}' # update the statementId > curl localhost:8765 -XPOST --data '{"request": "fetch","connectionId": > "my-conn","statementId": 12345,"offset": 0,"fetchMaxRowCount": 1}' # update > the statementId > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1181) FetchResponse always return no rows
[ https://issues.apache.org/jira/browse/CALCITE-1181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15224232#comment-15224232 ] Josh Elser commented on CALCITE-1181: - bq. In prepareAndExecute, I get 1 row back (the select statement should return 2 rows) and done is false. When I use fetch to fetch the remaining row, done is true, but the array of rows is empty. You got back one row because you requested {{"maxRowCount": 1}} in your {{prepareAndExecute}} request. > FetchResponse always return no rows > --- > > Key: CALCITE-1181 > URL: https://issues.apache.org/jira/browse/CALCITE-1181 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.7.1 > Environment: HBase 1.1 and Phoenix 4.7.0, HBase 1.1 and Phoenix > 4.8.0-SNAPSHOT >Reporter: Francis Chuang >Assignee: Julian Hyde > > Assuming I have a table called my_table which is created and seeded like so: > {code:sql} > CREATE TABLE my_table (k BIGINT PRIMARY KEY, v VARCHAR) TRANSACTIONAL=true > UPSERT INTO my_table VALUES (1,'A') > UPSERT INTO my_table VALUES (2,'B') > {code} > I have 2 rows in the table. If I query the table using SELECT * FROM > my_table, and request a maxRowCount of 1, using FetchRequest to request > further rows always returns 0 rows. > For ease of reproduction, I have included CURL commands (avatica will need to > have serialization set to JSON): > {code} > curl localhost:8765 -XPOST --data '{"request": > "openConnection","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "createStatement","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "prepareAndExecute","connectionId": "my-conn","statementId": 12345,"sql": > "SELECT * FROM my_table","maxRowCount": 1}' # update the statementId > curl localhost:8765 -XPOST --data '{"request": "fetch","connectionId": > "my-conn","statementId": 12345,"offset": 0,"fetchMaxRowCount": 1}' # update > the statementId > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1181) FetchResponse always return no rows
[ https://issues.apache.org/jira/browse/CALCITE-1181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15223609#comment-15223609 ] Francis Chuang commented on CALCITE-1181: - I just tested Phoenix 4.8.0-SNAPSHOT which uses avatica 1.7.1 and it also exhibits the same problem. > FetchResponse always return no rows > --- > > Key: CALCITE-1181 > URL: https://issues.apache.org/jira/browse/CALCITE-1181 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.7.1 > Environment: HBase 1.1 and Phoenix 4.7.0 >Reporter: Francis Chuang >Assignee: Julian Hyde > > Assuming I have a table called my_table which is created and seeded like so: > {code:sql} > CREATE TABLE my_table (k BIGINT PRIMARY KEY, v VARCHAR) TRANSACTIONAL=true > UPSERT INTO my_table VALUES (1,'A') > UPSERT INTO my_table VALUES (2,'B') > {code} > I have 2 rows in the table. If I query the table using SELECT * FROM > my_table, and request a maxRowCount of 1, using FetchRequest to request > further rows always returns 0 rows. > For ease of reproduction, I have included CURL commands (avatica will need to > have serialization set to JSON): > {code} > curl localhost:8765 -XPOST --data '{"request": > "openConnection","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "createStatement","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "prepareAndExecute","connectionId": "my-conn","statementId": 12345,"sql": > "SELECT * FROM my_table","maxRowCount": 1}' # update the statementId > curl localhost:8765 -XPOST --data '{"request": "fetch","connectionId": > "my-conn","statementId": 12345,"offset": 0,"fetchMaxRowCount": 1}' # update > the statementId > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1181) FetchResponse always return no rows
[ https://issues.apache.org/jira/browse/CALCITE-1181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15223523#comment-15223523 ] Francis Chuang commented on CALCITE-1181: - In `prepareAndExecute`, I get 1 row back (the select statement should return 2 rows) and `done` is false. When I use `fetch` to fetch the remaining row, `done` is false, but the array of rows is empty. > FetchResponse always return no rows > --- > > Key: CALCITE-1181 > URL: https://issues.apache.org/jira/browse/CALCITE-1181 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.7.1 > Environment: HBase 1.1 and Phoenix 4.7.0 >Reporter: Francis Chuang >Assignee: Julian Hyde > > Assuming I have a table called my_table which is created and seeded like so: > {code:sql} > CREATE TABLE my_table (k BIGINT PRIMARY KEY, v VARCHAR) TRANSACTIONAL=true > UPSERT INTO my_table VALUES (1,'A') > UPSERT INTO my_table VALUES (2,'B') > {code} > I have 2 rows in the table. If I query the table using SELECT * FROM > my_table, and request a maxRowCount of 1, using FetchRequest to request > further rows always returns 0 rows. > For ease of reproduction, I have included CURL commands (avatica will need to > have serialization set to JSON): > {code} > curl localhost:8765 -XPOST --data '{"request": > "openConnection","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "createStatement","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "prepareAndExecute","connectionId": "my-conn","statementId": 12345,"sql": > "SELECT * FROM my_table","maxRowCount": 1}' # update the statementId > curl localhost:8765 -XPOST --data '{"request": "fetch","connectionId": > "my-conn","statementId": 12345,"offset": 0,"fetchMaxRowCount": 1}' # update > the statementId > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1181) FetchResponse always return no rows
[ https://issues.apache.org/jira/browse/CALCITE-1181?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15223439#comment-15223439 ] Julian Hyde commented on CALCITE-1181: -- Maybe some rows are being returned in the response to {{prepareAndExecute}}? > FetchResponse always return no rows > --- > > Key: CALCITE-1181 > URL: https://issues.apache.org/jira/browse/CALCITE-1181 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.7.1 > Environment: HBase 1.1 and Phoenix 4.7.0 >Reporter: Francis Chuang >Assignee: Julian Hyde > > Assuming I have a table called my_table which is created and seeded like so: > {code:sql} > CREATE TABLE my_table (k BIGINT PRIMARY KEY, v VARCHAR) TRANSACTIONAL=true > UPSERT INTO my_table VALUES (1,'A') > UPSERT INTO my_table VALUES (2,'B') > {code} > I have 2 rows in the table. If I query the table using SELECT * FROM > my_table, and request a maxRowCount of 1, using FetchRequest to request > further rows always returns 0 rows. > For ease of reproduction, I have included CURL commands (avatica will need to > have serialization set to JSON): > {code} > curl localhost:8765 -XPOST --data '{"request": > "openConnection","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "createStatement","connectionId": "my-conn"}' > curl localhost:8765 -XPOST --data '{"request": > "prepareAndExecute","connectionId": "my-conn","statementId": 12345,"sql": > "SELECT * FROM my_table","maxRowCount": 1}' # update the statementId > curl localhost:8765 -XPOST --data '{"request": "fetch","connectionId": > "my-conn","statementId": 12345,"offset": 0,"fetchMaxRowCount": 1}' # update > the statementId > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)