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