Retrieves rows of properties (Properties objects) from the repository or repositories specified for this instance.

The following property settings can affect this method:

  • ObjectStore.DefaultQueryTimeLimit
  • ObjectStore.MaxQueryTimeLimit
  • ObjectStore.QueryDatabaseTimeout
  • IServerCacheConfiguration.QueryPageMaxSize
  • IServerCacheConfiguration.QueryPageDefaultSize
  • IServerCacheConfiguration.NonPagedQueryMaxSize
  • IServerCacheConfiguration.QueryCountDefaultSize
  • IServerCacheConfiguration.QueryCountMaxSize

Namespace:  FileNet.Api.Query
Assembly:  FileNet.Api (in FileNet.Api.dll)

ToggleSyntax

Visual Basic (Declaration)
Public Function FetchRows ( _
	searchSQL As SearchSQL, _
	pageSize As Nullable(Of Integer), _
	filter As PropertyFilter, _
	continuable As Nullable(Of Boolean) _
) As IRepositoryRowSet
C#
public IRepositoryRowSet FetchRows(
	SearchSQL searchSQL,
	Nullable<int> pageSize,
	PropertyFilter filter,
	Nullable<bool> continuable
)
Visual C++
public:
IRepositoryRowSet^ FetchRows(
	SearchSQL^ searchSQL, 
	Nullable<int> pageSize, 
	PropertyFilter^ filter, 
	Nullable<bool> continuable
)
JavaScript
function fetchRows(searchSQL, pageSize, filter, continuable);

Parameters

searchSQL
Type: FileNet.Api.Query..::.SearchSQL
A SearchSQL instance containing the SQL statement to use for the search.
pageSize
Type: System..::.Nullable<(Of <(Int32>)>)
An Integer indicating the maximum number of Properties objects per page to retrieve. This can be Null. When unspecified, the default page size (ServerCacheCofiguration.QueryPageDefaultSize)is used.

Note: If the continuable parameter is false or Null, this pageSize value is ignored.

The number you specify here determines what constitutes a page of query result data. This value, in conjunction with the (Boolean) value you specify for the continuable parameter, can impact retrieval performance.

filter
Type: FileNet.Api.Property..::.PropertyFilter
A PropertyFilter object that represents information for controlling which property values (and with what level of detail and recursion) to return. If null, this method returns values for all non-object properties and returns placeholders for all object-valued properties (PropertyEngineObject properties with a state of PropertyState.UNEVALUATED or PropertyState.REFERENCE); any subsequent attempts to access an object-valued property will cause an automatic round-trip to the server to fetch its value.
continuable
Type: System..::.Nullable<(Of <(Boolean>)>)
A Boolean value. If false or Null, the query is not paged, the pageSize parameter and the default page size in ServerCacheCofiguration.QueryPageDefaultSize are ignored, and the query will return a number of rows limited by the following values:
  • The "TOP" value (if specified) in the selection list.
  • The value of ServerCacheCofiguration.NonPagedQueryMaxSize.

If this continuable value is true, the query can be continued. In this case, when the end of the first page is reached, a request for the next page of Properties objects is issued. Page requests iterate until all of the Properties objects satisfying the query are retrieved.

Queries using continuation use ORDER BY in their implementation. If an ORDER BY clause is not specified in the SQL statement (the searchSQL parameter), an ORDER BY Id clause is used. If an ORDER BY clause is specified in the SQL statement, but does not contain the Id property, the Id property (having a unique value) is appended to the end of the ORDER BY clause. You should consider to what extent adding the Id property to the ORDER BY clause increases resource consumption for your application. Do not use a continuable query if it would cause a severe performance reduction.

Return Value

An IRepositoryRowSet collection object containing IRepositoryRow objects for each row of properties retrieved. All properties returned will have the names as specified in the SQL statement used for the query. Any properties that are not defined in a particular repository, will be returned with Null values.

When the properties are retrieved from multiple repositories, the returned properties can be different than these same properties returned by other methods. This is because the same properties can exist on multiple repositories, yet have different values on each. When such properties are returned by a query across repositories, the property values are aggregated.

ToggleSee Also