> I think queryResultSetLimit might be a way for TypedJson to cut a collection
short.

Kirk, did you mean queryCollectionsDepth here?

I would like to argue that we do not need queryCollectionsDepth, because
returning only a subset of data without even telling the users that its a
subset, or allowing the users to control the parameter is just wrong.

On Wed, Sep 14, 2016 at 3:04 PM, Anthony Baker <[email protected]> wrote:

> Perhaps a custom jackson serializer for Collections that stops after
> queryCollectionsDepth would do the trick.
>
> Anthony
>
>
> > On Sep 14, 2016, at 2:24 PM, Kirk Lund <[email protected]> wrote:
> >
> > Yep, that method does add " LIMIT X" to the query where X
> > equals queryResultSetLimit.
> >
> > I think queryResultSetLimit might be a way for TypedJson to cut a
> > collection short. It's always 100 and if one of the fields of your value
> > object is a collection then I believe the resulting json will always
> > include up to 100 maximum elements of that collection. This seems to be
> use
> > for it. But it's hardcoded to 100 and not exposed to the user in any way.
> >
> > Thanks,
> > Kirk
> >
> >
> > On Wed, Sep 14, 2016 at 2:15 PM, John Blum <[email protected]> wrote:
> >
> >> Hi Kirk-
> >>
> >> Also, TMK there is no specific API call and/or parameter to limit the
> >> result set of a query, rather it is typically expressed in the OQL
> query as
> >> so...
> >>
> >> SELECT * FROM /Region WHERE <predicate> LIMIT X
> >>
> >> Where 'X' is the desired result quantity.
> >>
> >> So, perhaps the question is more of what does the following API call
> >> translate into OQL as...
> >>
> >> QueryDataFunction.queryData(query, members, limit, false,
> >> queryResultSetLimit, queryCollectionsDepth);
> >>
> >> Hope this helps,
> >>
> >> John
> >>
> >>
> >>
> >> On Wed, Sep 14, 2016 at 11:36 AM, Jason Huynh <[email protected]>
> wrote:
> >>
> >>> Hi Kirk,
> >>>
> >>> I am not too familiar with the TypeJson class or how it was being
> used...
> >>> for number 2, I am assuming the queryCollectionsDepth is a specific
> >>> gfsh/function specific to gfsh.  I don't think there is an equivalent
> oql
> >>> keyword or call for that.
> >>>
> >>> -Jason
> >>>
> >>> On Wed, Sep 14, 2016 at 10:11 AM Kirk Lund <[email protected]> wrote:
> >>>
> >>>> I'm trying to remove TypedJson and replace it with Jackson.
> >>> Unfortunately,
> >>>> it appears that some of the behavior for limiting how much data a
> query
> >>>> returns has leaked into the TypedJson class in the form of
> >>>> "queryCollectionsDepth".
> >>>>
> >>>> Both GFSH and Pulse use the following to limit how much a query
> >>> returns...
> >>>>
> >>>>  /**
> >>>>   * Number of rows queryData operation will return. By default it will
> >>> be
> >>>> 1000
> >>>>   */
> >>>>  private int queryResultSetLimit =
> >>>> ManagementConstants.DEFAULT_QUERY_LIMIT;
> >>>>
> >>>>  /**
> >>>>   * NUmber of elements to be shown in queryData operation if query
> >>> results
> >>>> contain collections like Map, List etc.
> >>>>   */
> >>>>  private int queryCollectionsDepth =
> >>>> TypedJson.DEFAULT_COLLECTION_ELEMENT_LIMIT;
> >>>>
> >>>> These are passed into:
> >>>>
> >>>> QueryDataFunction.queryData(query, members, limit, false,
> >>>> queryResultSetLimit, queryCollectionsDepth);
> >>>>
> >>>> 1) queryResultSetLimit is fed into the query itself as a LIMIT
> >>>>
> >>>> 2) queryCollectionsDepth is apparently fed into TypedJson as some sort
> >> of
> >>>> limit involving depth of recursing a collection -- this should
> probably
> >>>> move into the query in some way.
> >>>>
> >>>> Does anyone understand querying enough to help me move this behavior
> to
> >>>> some proper place such as a querying class? I'm completely unfamiliar
> >>> with
> >>>> the querying code so I'm not sure where to even begin on #2.
> >>>>
> >>>> Thanks,
> >>>> Kirk
> >>>>
> >>>
> >>
> >>
> >>
> >> --
> >> -John
> >> 503-504-8657
> >> john.blum10101 (skype)
> >>
>
>

Reply via email to