@@ -123,6 +123,13 @@ def __mod__(self, value: Any) -> "InstrumentedExpression":
123
123
def __rmod__ (self , value : Any ) -> "InstrumentedExpression" :
124
124
return InstrumentedExpression (f"{ json .dumps (value )} % { self ._expr } " )
125
125
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
+
126
133
127
134
class InstrumentedField (InstrumentedExpression ):
128
135
"""Proxy object for a mapped document field.
@@ -170,15 +177,31 @@ def __neg__(self) -> str: # type: ignore[override]
170
177
return f"-{ self ._expr } "
171
178
172
179
def asc (self ) -> "InstrumentedField" :
180
+ """Return the field name representation for ascending sort order.
181
+
182
+ For use in ES|QL queries only.
183
+ """
173
184
return InstrumentedField (f"{ self ._expr } ASC" , None )
174
185
175
186
def desc (self ) -> "InstrumentedField" :
187
+ """Return the field name representation for descending sort order.
188
+
189
+ For use in ES|QL queries only.
190
+ """
176
191
return InstrumentedField (f"{ self ._expr } DESC" , None )
177
192
178
193
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
+ """
179
198
return InstrumentedField (f"{ self ._expr } NULLS FIRST" , None )
180
199
181
200
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
+ """
182
205
return InstrumentedField (f"{ self ._expr } NULLS LAST" , None )
183
206
184
207
def __str__ (self ) -> str :
0 commit comments