@@ -123,6 +123,12 @@ 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 )} " )
126
132
127
133
class InstrumentedField (InstrumentedExpression ):
128
134
"""Proxy object for a mapped document field.
@@ -170,15 +176,31 @@ def __neg__(self) -> str: # type: ignore[override]
170
176
return f"-{ self ._expr } "
171
177
172
178
def asc (self ) -> "InstrumentedField" :
179
+ """Return the field name representation for ascending sort order.
180
+
181
+ For use in ES|QL queries only.
182
+ """
173
183
return InstrumentedField (f"{ self ._expr } ASC" , None )
174
184
175
185
def desc (self ) -> "InstrumentedField" :
186
+ """Return the field name representation for descending sort order.
187
+
188
+ For use in ES|QL queries only.
189
+ """
176
190
return InstrumentedField (f"{ self ._expr } DESC" , None )
177
191
178
192
def nulls_first (self ) -> "InstrumentedField" :
193
+ """Return the field name representation for nulls first sort order.
194
+
195
+ For use in ES|QL queries only.
196
+ """
179
197
return InstrumentedField (f"{ self ._expr } NULLS FIRST" , None )
180
198
181
199
def nulls_last (self ) -> "InstrumentedField" :
200
+ """Return the field name representation for nulls last sort order.
201
+
202
+ For use in ES|QL queries only.
203
+ """
182
204
return InstrumentedField (f"{ self ._expr } NULLS LAST" , None )
183
205
184
206
def __str__ (self ) -> str :
0 commit comments