Limit query result depth

Prev Next

Queries that join tables can return results with deep hierarchies. You can control this depth using parameters.

A query that doesn't use joins returns tabular results. Tabular results are defined as having a depth of one. Queries that use the joinTable parameter return hierarchical results. Specifying more than one table in a joinTable parameter can result in a multi-level result set. Each level of objects increases the result depth by one. To prevent result sets from becoming too deep, the core.executeQuery command defaults to a maximum depth of 5 levels. If this default limit is too restrictive for the query being run, you can change it with a new value for the depth parameter.

Caution

Ad-hoc queries that return deep result sets can take a long time to run and can consume many system resources to generate. You should consider this when joining more than two tables, or increasing the query result depth limit.