ERUCES::TEAdminQuery
#include <teadmin_query.h>
The TEAdminQuery class is for query administration.
© Pi Soft, 2018-2026 · Tricryption Engine 8.1
Inheritance
- Inherits ERUCES::TEAdmin
Public Member Functions
| Member | Description |
|---|---|
TEAdminQuery() | The TEAdminQuery constructor is the default class constructor. |
~TEAdminQuery() | The TEAdminQuery destructor is the class destructor. |
size_t getPrincipalList(const _TESTD string &className, const TEQuery &query, TEObjectContainer &principals, uint32_t sid=0) | The getPrincipalList method queries principals. |
Member Function Documentation
TEAdminQuery()
The TEAdminQuery constructor is the default class constructor.
~TEAdminQuery()
The TEAdminQuery destructor is the class destructor.
size_t getPrincipalList(const _TESTD string &className, const TEQuery &query, TEObjectContainer &principals, uint32_t sid=0)
The getPrincipalList method queries principals.
Parameters
| Parameter | Description |
|---|---|
className | A string representing the classname. |
query | A TEQuery object representing the query. |
principals | An TEObjectContainer container of principals. |
sid | An integer representing the system ID. |
Returns: Returns size_t
Remark: TE81-416: THIS IS THE REPLACEMENT FOR THE BULK LISTING, not merely an alternative to it. TEAdmin::getPrincipalList is @deprecated as of ADR-0095, because above the wire object limit a bulk listing FAILS – the Key Service refuses at the 1,025th object rather than emitting a package no conforming reader can read (WireLimits::MAX_OBJECT_PARAMS = 1024, ADR-0084) – and a bounded single-class query does not.
Remark: BUILD THE TEQuery WITH AN ORDER BEFORE A LIMIT. An unordered window is not a window over one ordered set: two requests for "rows 20-39" can return overlapping sets, which is how a union of pages comes to contain a duplicate and a gap at once. Order on the same column you filter on.
Remark: ONE CONCRETE CLASS AT A TIME. className names one real principal class; the abstract umbrella has no name column of its own and five real subclasses, so a window over it would apply per subclass and the pages would overlap. For "every principal regardless of type", page each real class and concatenate in the application – that is what ADR-0095 rules, rather than a paged umbrella query.
Remark: A SHORT PAGE IS THE END OF THE LIST, and there is no total to check it against: the operation returns rows, never a cardinality. The last page of an exact multiple therefore looks full and costs one short request to discover.
Remark: sid>0 takes the FEDERATED path. The window there is applied to the post-filtered authorized sequence rather than at the database cursor, which is what makes the short-page rule above true on that path as well.