[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15962326#comment-15962326 ] ASF GitHub Bot commented on CALCITE-1353: - Github user asfgit closed the pull request at: https://github.com/apache/calcite-avatica/pull/5 > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Assignee: Josh Elser >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15960229#comment-15960229 ] Francis Chuang commented on CALCITE-1353: - Thanks for fixing this one, Josh! > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Assignee: Josh Elser >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15959976#comment-15959976 ] ASF GitHub Bot commented on CALCITE-1353: - GitHub user joshelser opened a pull request: https://github.com/apache/calcite-avatica/pull/5 [CALCITE-1353] Convert first_frame_max_size to an int32 A uint64 is wrong because -1 is a valid value and Java can only handle a max of 2**32, not 2**64, elements. You can merge this pull request into a Git repository by running: $ git pull https://github.com/joshelser/calcite-avatica 1353-execute-request Alternatively you can review and apply these changes as the patch at: https://github.com/apache/calcite-avatica/pull/5.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #5 commit 2b4762275c9833f305438a895dd8764f4f1b4d53 Author: Josh ElserDate: 2017-04-06T23:37:37Z [CALCITE-1353] Convert first_frame_max_size to an int32 A uint64 is wrong because -1 is a valid value and Java can only handle a max of 2**32, not 2**64, elements. > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Assignee: Josh Elser >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15959952#comment-15959952 ] Josh Elser commented on CALCITE-1353: - Hope you don't mind, [~francischuang], stealing this one from you :) > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Assignee: Josh Elser >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15886538#comment-15886538 ] Francis Chuang commented on CALCITE-1353: - I am going to close that PR as it breaks backwards compatibility. I believe the best way would be to introduce a new field under a new name, so that older clients won't be broken. > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Assignee: Francis Chuang >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15886284#comment-15886284 ] Julian Hyde commented on CALCITE-1353: -- [~elserj] Can I have your input on this? The [PR|https://github.com/apache/calcite/pull/319] has been languishing too long. > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Assignee: Francis Chuang >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15623380#comment-15623380 ] Francis Chuang commented on CALCITE-1353: - [~julianhyde] Not a problem! I would absolutely love to get this one resolved. [~elserj] Any thoughts on how we should approach this for backwards compatibility? > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Assignee: Francis Chuang >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15603557#comment-15603557 ] Francis Chuang commented on CALCITE-1353: - Perhaps it might also be a good time to do an audit on all the fields so we can deprecate/introduce the new fields in 1.10. > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15603499#comment-15603499 ] Francis Chuang commented on CALCITE-1353: - Good point, [~elserj]. Go does have uint64 and int32 types. With the Go driver, this change would require a minor update to the client. The code currently casts the int32 to a uint64, so if it is set to -1, it overflows to 18446744073709551615, which should be pretty much "all" rows. Changing it to an int32 would require me to remove the cast from int32 to uint64, but I believe it is much better than relying on the overflowing behaviour. For backwards compatibility, I think the idea of introducing a new field is probably the best way forward. In this case, do you have a proposed name for the field? I also think it would be nice to incorporate changes to maxRowCount into this (totally missed that!), but again, if we want a new field, we need to decide on a suitable name. > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15603425#comment-15603425 ] Julian Hyde commented on CALCITE-1353: -- Thanks [~francischuang]. Looks good to me; [~elserj], does this meet your requirements for backwards compatibility? If so I'll commit and include in the 1.9 release. > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15603383#comment-15603383 ] Francis Chuang commented on CALCITE-1353: - See https://github.com/apache/calcite/pull/319 > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15603114#comment-15603114 ] Julian Hyde commented on CALCITE-1353: -- [~francischuang], Would you (or anyone else) like to develop a PR for this? > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Priority: Minor > Fix For: avatica-1.10.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15467959#comment-15467959 ] Josh Elser commented on CALCITE-1353: - bq. would it make sense to change it to a int32 rather than a uint32? Yup, exactly. I think the reason that this is a 32bit number instead of 64bit is because of Java's limit on array length. bq. That way, if we want all the rows in the first frame, we could set it to -1. Agreed (with the caveat on maximum number of rows in a {{Frame}}). > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: avatica-1.8.0 >Reporter: Francis Chuang >Priority: Minor > Fix For: avatica-1.9.0 > > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1353) first_frame_max_size in an ExecuteRequest should be an int32 in protobuf definitions.
[ https://issues.apache.org/jira/browse/CALCITE-1353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15430996#comment-15430996 ] Josh Elser commented on CALCITE-1353: - Good catch, [~francischuang]. Looks right to me. I should have changed this from an int64 to a uint32 in CALCITE-1243. Will need to make a backwards-compatible change since this was released in avatica-1.8.0 > first_frame_max_size in an ExecuteRequest should be an int32 in protobuf > definitions. > - > > Key: CALCITE-1353 > URL: https://issues.apache.org/jira/browse/CALCITE-1353 > Project: Calcite > Issue Type: Bug > Components: avatica >Reporter: Francis Chuang >Priority: Minor > > In the protobuf definition for {{ExecuteRequest}}, the > {{first_frame_max_size}} parameter is typed as an {{uint64}}. See > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L130. > For consistency, it should be an {{int32}}. > Similar parameters relating to the frame size are all typed as {{int32}}. > For a {{PrepareAndExecuteRequest}}, {{first_frame_max_size}} is a{{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L78 > For a {{FetchRequest}}, {{frame_max_size}} is a {{int32}}: > https://github.com/apache/calcite/blob/master/avatica/core/src/main/protobuf/requests.proto#L96 -- This message was sent by Atlassian JIRA (v6.3.4#6332)