Table of Contents

Interface IExtremeRowRenderer

Namespace
NextORM.Core
Assembly
nextorm.core.dll

A dialect's optional native renderer for SelectWhereMax/SelectWhereMin (PostgreSQL DISTINCT ON/ORDER BY ... LIMIT 1, ClickHouse argMin/argMax). The object's presence is the capability: a dialect that returns null keeps the shared portable window-function lowering, as does a renderer whose CanRender(ExtremeRowDescription) answers false.

public interface IExtremeRowRenderer
Extension Methods

Remarks

CanRender(ExtremeRowDescription) runs before the shared path builds any SQL, alias or parameter, so it must be side-effect free; only a positive answer leads to Render(ExtremeRowRenderRequest), whose failure is propagated (there is no late fallback to the portable path).

Methods

CanRender(ExtremeRowDescription)

True when this dialect can natively express the described command. Called with a prepared, immutable description before any SQL is assembled; must not mutate shared state.

bool CanRender(ExtremeRowDescription description)

Parameters

description ExtremeRowDescription

Returns

bool

Render(ExtremeRowRenderRequest)

Renders the native winning-row source over the already-prepared SourceSql, exposing the request's PayloadAliases. The shared path already applied the compatibility validation and the source filter, and applies the outer projection, DISTINCT and output ordering afterwards.

string Render(ExtremeRowRenderRequest request)

Parameters

request ExtremeRowRenderRequest

Returns

string