@@ -123,6 +123,13 @@ def __mod__(self, value: Any) -> "InstrumentedExpression":
123123 def __rmod__ (self , value : Any ) -> "InstrumentedExpression" :
124124 return InstrumentedExpression (f"{ json .dumps (value )} % { self ._expr } " )
125125
126+ def where (self , expr : "InstrumentedExpression" ) -> "InstrumentedExpression" :
127+ """Add a condition to be met for the row to be included.
128+
129+ Use only in expressions given in the ``STATS`` command.
130+ """
131+ return InstrumentedExpression (f"{ self ._expr } WHERE { json .dumps (expr )} " )
132+
126133
127134class InstrumentedField (InstrumentedExpression ):
128135 """Proxy object for a mapped document field.
@@ -170,15 +177,31 @@ def __neg__(self) -> str: # type: ignore[override]
170177 return f"-{ self ._expr } "
171178
172179 def asc (self ) -> "InstrumentedField" :
180+ """Return the field name representation for ascending sort order.
181+
182+ For use in ES|QL queries only.
183+ """
173184 return InstrumentedField (f"{ self ._expr } ASC" , None )
174185
175186 def desc (self ) -> "InstrumentedField" :
187+ """Return the field name representation for descending sort order.
188+
189+ For use in ES|QL queries only.
190+ """
176191 return InstrumentedField (f"{ self ._expr } DESC" , None )
177192
178193 def nulls_first (self ) -> "InstrumentedField" :
194+ """Return the field name representation for nulls first sort order.
195+
196+ For use in ES|QL queries only.
197+ """
179198 return InstrumentedField (f"{ self ._expr } NULLS FIRST" , None )
180199
181200 def nulls_last (self ) -> "InstrumentedField" :
201+ """Return the field name representation for nulls last sort order.
202+
203+ For use in ES|QL queries only.
204+ """
182205 return InstrumentedField (f"{ self ._expr } NULLS LAST" , None )
183206
184207 def __str__ (self ) -> str :
0 commit comments