Skip to main content

ERUCES::TEAdminQuery

#include <teadmin_query.h>

The TEAdminQuery class is for query administration.

© Pi Soft, 2018-2026 · Tricryption Engine 8.1

Inheritance​

Public Member Functions​

MemberDescription
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

ParameterDescription
classNameA string representing the classname.
queryA TEQuery object representing the query.
principalsAn TEObjectContainer container of principals.
sidAn 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.

Examples​