To make it clear, gfsh could print the query it sent to server in the
result summary (it shows if it got executed with the limit):
Query     :
Result     : true
startCount : 0
endCount   : 20
Rows       : 1

-Anil.


On Tue, Jul 11, 2017 at 12:48 PM, John Blum <[email protected]> wrote:

> I think it might be worth differentiating the result "LIMIT" (as used in
> the OQL query statement like so... "SELECT * FROM /Region WHERE ... LIMIT
> 1000")  from what is actually "streamed" back to *Gfsh* as the default
> (e.g. 100).
>
> Clearly sending all the results back is quite expensive depending on the
> number of results/LIMIT specified.  Therefore, whatever "--option" is
> provided to the `query` command is a further reduction in what is
> actually streamed back to the client (e.g. *Gfsh*) initially, sort of
> like paging, therefore ... `gfsh> query --query="SELECT * FROM /Region
> WHERE ... LIMIT 1000" --page-size=25`... perhaps?
>
> Therefore, I think having 2 limits, as in OQL LIMIT and a --limit option
> would just be confusing to users.  LIMIT like sort (ORDER BY) can only be
> effectively applied to the OQL as it determines what results the query
> actually returns.
>
>
> On Tue, Jul 11, 2017 at 11:24 AM, Anilkumar Gingade <[email protected]>
> wrote:
>
>> >> Actually a really nice thing would be to put the pagination feature
>> into the OQL engine where it belongs.
>> +1 on this.
>>
>> >> if they query mode is interactive, it sends the first 20 (page-size,
>> not configurable) records. and user uses "n" to go to the next page,
>> >> once it hits the last page (showing all 1000 record or get to the end
>> of the result set), the command finishes.
>>
>> We could provide one more option to end user to quit getting to next page
>> and go-back to gfsh command for new commands (if its not there).
>>
>> I think providing multiple options to view large result set, is a nice
>> feature from tooling perspective (interactive result batching, dumping into
>> an external file, etc...)
>>
>> >> It’s fairly common in query tooling to be able to set a result set
>> limit.
>> Yes...many of the interactive query tools allow pagination/batching as
>> part of the result display.
>>
>> >> gfsh> query --query='select * from /A limit 10' --limit=100
>> We need to make sure that user can differentiate query commands from
>> options provided by tool.
>>
>> -Anil.
>>
>>
>>
>>
>>
>> On Tue, Jul 11, 2017 at 9:56 AM, William Markito Oliveira <
>> [email protected]> wrote:
>>
>>> The way I read this is: One is limiting on the server side, the other is
>>> limiting the client side.  IOW within the query string is acting on server
>>> side.
>>>
>>> On Tue, Jul 11, 2017 at 11:19 AM, Jinmei Liao <[email protected]> wrote:
>>>
>>>> what if user wants to do:
>>>> gfsh> query --query='select * from /A limit 10' --limit=100
>>>>
>>>> What's the difference between put it inside the query string or
>>>> outside? I think eventually it's adding the limit clause to the query.
>>>>
>>>> On Tue, Jul 11, 2017 at 8:41 AM, Anthony Baker <[email protected]>
>>>> wrote:
>>>>
>>>>> It’s fairly common in query tooling to be able to set a result set
>>>>> limit.  I would make this a first class option within gfsh instead of an
>>>>> environment variable.
>>>>>
>>>>> gfsh> set query-limit=1000
>>>>>
>>>>> or
>>>>>
>>>>> gfsh> query --query='select * from /A’ --limit=1000
>>>>>
>>>>> The result set limit is semantically different from specifying a LIMIT
>>>>> on the OQL query itself.
>>>>>
>>>>> Anthony
>>>>>
>>>>> On Jul 11, 2017, at 7:53 AM, William Markito Oliveira <
>>>>> [email protected]> wrote:
>>>>>
>>>>> +1 for the combination of 1 and 2 as well.  It would be interesting to
>>>>> explore at least a couple output formats, csv being one of the most common
>>>>> for people that wants to import or analyze the data using other tools.
>>>>>
>>>>> On Tue, Jul 11, 2017 at 8:31 AM, Michael Stolz <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Actually a really nice thing would be to put the pagination feature
>>>>>> into the OQL engine where it belongs. Clients shouldn't have to implement
>>>>>> pagination.
>>>>>>
>>>>>> --
>>>>>> Mike Stolz
>>>>>> Principal Engineer, GemFire Product Manager
>>>>>> Mobile: +1-631-835-4771 <(631)%20835-4771>
>>>>>>
>>>>>> On Tue, Jul 11, 2017 at 12:00 AM, Michael William Dodge <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> I prefer to redirect output to a file when there is any chance that
>>>>>>> the results might be huge. Thus I find the combination of #1 and #2 to 
>>>>>>> be
>>>>>>> sufficient for me.
>>>>>>>
>>>>>>> Sarge
>>>>>>>
>>>>>>> > On 10 Jul, 2017, at 17:13, Jinmei Liao <[email protected]> wrote:
>>>>>>> >
>>>>>>> > Hi, all gfsh-users,
>>>>>>> >
>>>>>>> > In our refactor week, we are trying to refactor how multi-step
>>>>>>> command is implemented. The currently implementation is hard to 
>>>>>>> understand
>>>>>>> to begin with. The implementation breaks the OO design principals in
>>>>>>> multiple ways. It's not thread-safe either. This is an internal command
>>>>>>> type, and and only our "query" command uses it.
>>>>>>> >
>>>>>>> > This is how our current "query" command works:
>>>>>>> > 1) user issues a "query --query='select * from /A'" command,
>>>>>>> > 2) server retrieves the first 1000 (fetch-size, not configurable)
>>>>>>> rows,
>>>>>>> > 3) if the query mode is NOT interactive, it sends back all the
>>>>>>> result at one.
>>>>>>> > 4) if they query mode is interactive, it sends the first 20
>>>>>>> (page-size, not configurable) records. and user uses "n" to go to the 
>>>>>>> next
>>>>>>> page, once it hits the last page (showing all 1000 record or get to the 
>>>>>>> end
>>>>>>> of the result set), the command finishes.
>>>>>>> >
>>>>>>> > we would like to ask how useful is this interactive feature. Is it
>>>>>>> critical for you? Would the following simplification be sufficient?
>>>>>>> >
>>>>>>> > 1) query command always returns the entire fetch size. We can make
>>>>>>> it configurable through environment variables, default to be 100, and 
>>>>>>> you
>>>>>>> can also reset it in each individual query command using "query
>>>>>>> --query='select * from /A limit 10'
>>>>>>> >
>>>>>>> > 2) provide an option for you to specify a file where we can dump
>>>>>>> all the query result in and you can use shell pagination to list the
>>>>>>> content of the file.
>>>>>>> >
>>>>>>> > Please let us know your thoughts/comments. Thanks!
>>>>>>> >
>>>>>>> >
>>>>>>> > --
>>>>>>> > Cheers
>>>>>>> >
>>>>>>> > Jinmei
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> ~/William
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Cheers
>>>>
>>>> Jinmei
>>>>
>>>
>>>
>>>
>>> --
>>> ~/William
>>>
>>
>>
>
>
> --
> -John
> john.blum10101 (skype)
>

Reply via email to