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 <jb...@pivotal.io> 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 <jhu...@pivotal.io> 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 <kl...@pivotal.io> 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