Returns the cache TTL (in seconds) configured on the external data source — the basis for
time-bounded caching of external reads. Unlike MJ-DB entities, external reads can't be
event-invalidated (their data changes on the remote system), so callers cache them with a
TTL instead. Implementations resolve the ExternalDataSource and return its
DefaultCacheTTLSeconds (falling back to a sane default when unset). A return value of 0
signals "do not cache this source." Resolved through the engine's already-cached data
source, so this is cheap to call on the read hot path.
OptionalcontextUser: UserInfoOptionalprovider: IMetadataProviderIntrospect the schema of an external data source (its tables/views/collections and their
columns), delegating to the resolved driver's IntrospectSchema. Used by CodeGen to
generate/sync EntityField metadata for external-backed entities — the remote analogue of
reading INFORMATION_SCHEMA for an MJ-DB entity. schemaName narrows to a single
schema/namespace when supplied. Reached via MJGlobal.ClassFactory so build-time consumers
stay free of a hard dependency on the engine + driver SDKs.
OptionalschemaName: stringOptionalcontextUser: UserInfoOptionalprovider: IMetadataProviderLoad a single record by primary key for an entity whose EntityInfo.ExternalDataSourceID
is set. Composite-key aware: every field of CompositeKey is matched with a quoted,
parameter-bound predicate at the driver boundary (so mixed-case / reserved-word PK columns
work on case-sensitive external dialects). Returns a RunViewResult whose Results
holds the single matched row (or is empty when not found) — mirroring
RunViewExternal so the provider's Load path stays uniform.
OptionalcontextUser: UserInfoOptionalprovider: IMetadataProviderProxy a native-dialect MJ Query whose ExternalDataSourceID is set.
Takes primitives (not the query entity) so this contract stays in
@memberjunction/core without a circular dependency on core-entities.
sql is the fully-rendered query text (MJ parameter templating already applied).
OptionalcontextUser: UserInfoOptionalprovider: IMetadataProviderProxy a RunView for an entity whose EntityInfo.ExternalDataSourceID is set.
OptionalcontextUser: UserInfoOptionalprovider: IMetadataProvider
Concrete ExternalDataSourceReadRouter registered for the ClassFactory so foundational providers can reach the External Data Sources engine without a compile-time dependency on it. Translates MJ's RunView/RunQuery shapes to the driver contract and back, delegating driver/credential resolution to ExternalDataSourceRouter (the BaseSingleton that owns the per-source driver + connection-pool cache).