@@ -61,17 +61,17 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
6161			FunctionExpression: self '+' expr 
6262	)"  ;
6363
64- 	m.def (" __add__" py::arg (" expr" 
64+ 	m.def (" __add__" py::arg (" expr" ,  py::is_operator () );
6565	m.def (
66- 	    " __radd__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Add (a); }, docs);
66+ 	    " __radd__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Add (a); }, docs,  py::is_operator () );
6767
6868	docs = R"( 
6969		Negate the expression. 
7070
7171		Returns: 
7272			FunctionExpression: -self 
7373	)"  ;
74- 	m.def (" __neg__" 
74+ 	m.def (" __neg__" ,  py::is_operator () );
7575
7676	docs = R"( 
7777		Subtract expr from self 
@@ -82,9 +82,9 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
8282		Returns: 
8383			FunctionExpression: self '-' expr 
8484	)"  ;
85- 	m.def (" __sub__" 
85+ 	m.def (" __sub__" ,  py::is_operator () );
8686	m.def (
87- 	    " __rsub__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Subtract (a); }, docs);
87+ 	    " __rsub__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Subtract (a); }, docs,  py::is_operator () );
8888
8989	docs = R"( 
9090		Multiply self by expr 
@@ -95,9 +95,9 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
9595		Returns: 
9696			FunctionExpression: self '*' expr 
9797	)"  ;
98- 	m.def (" __mul__" 
98+ 	m.def (" __mul__" ,  py::is_operator () );
9999	m.def (
100- 	    " __rmul__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Multiply (a); }, docs);
100+ 	    " __rmul__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Multiply (a); }, docs,  py::is_operator () );
101101
102102	docs = R"( 
103103		Divide self by expr 
@@ -108,13 +108,13 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
108108		Returns: 
109109			FunctionExpression: self '/' expr 
110110	)"  ;
111- 	m.def (" __div__" 
111+ 	m.def (" __div__" ,  py::is_operator () );
112112	m.def (
113- 	    " __rdiv__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Division (a); }, docs);
113+ 	    " __rdiv__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Division (a); }, docs,  py::is_operator () );
114114
115- 	m.def (" __truediv__" 
115+ 	m.def (" __truediv__" ,  py::is_operator () );
116116	m.def (
117- 	    " __rtruediv__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Division (a); }, docs);
117+ 	    " __rtruediv__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Division (a); }, docs,  py::is_operator () );
118118
119119	docs = R"( 
120120		(Floor) Divide self by expr 
@@ -125,10 +125,9 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
125125		Returns: 
126126			FunctionExpression: self '//' expr 
127127	)"  ;
128- 	m.def (" __floordiv__" 
128+ 	m.def (" __floordiv__" ,  py::is_operator () );
129129	m.def (
130- 	    " __rfloordiv__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.FloorDivision (a); },
131- 	    docs);
130+ 	    " __rfloordiv__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.FloorDivision (a); }, docs, py::is_operator ());
132131
133132	docs = R"( 
134133		Modulo self by expr 
@@ -139,9 +138,9 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
139138		Returns: 
140139			FunctionExpression: self '%' expr 
141140	)"  ;
142- 	m.def (" __mod__" 
141+ 	m.def (" __mod__" ,  py::is_operator () );
143142	m.def (
144- 	    " __rmod__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Modulo (a); }, docs);
143+ 	    " __rmod__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Modulo (a); }, docs,  py::is_operator () );
145144
146145	docs = R"( 
147146		Power self by expr 
@@ -152,9 +151,9 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
152151		Returns: 
153152			FunctionExpression: self '**' expr 
154153	)"  ;
155- 	m.def (" __pow__" 
154+ 	m.def (" __pow__" ,  py::is_operator () );
156155	m.def (
157- 	    " __rpow__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Power (a); }, docs);
156+ 	    " __rpow__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Power (a); }, docs,  py::is_operator () );
158157
159158	docs = R"( 
160159		Create an equality expression between two expressions 
@@ -165,7 +164,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
165164		Returns: 
166165			FunctionExpression: self '=' expr 
167166	)"  ;
168- 	m.def (" __eq__" 
167+ 	m.def (" __eq__" ,  py::is_operator () );
169168
170169	docs = R"( 
171170		Create an inequality expression between two expressions 
@@ -176,7 +175,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
176175		Returns: 
177176			FunctionExpression: self '!=' expr 
178177	)"  ;
179- 	m.def (" __ne__" 
178+ 	m.def (" __ne__" ,  py::is_operator () );
180179
181180	docs = R"( 
182181		Create a greater than expression between two expressions 
@@ -187,7 +186,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
187186		Returns: 
188187			FunctionExpression: self '>' expr 
189188	)"  ;
190- 	m.def (" __gt__" 
189+ 	m.def (" __gt__" ,  py::is_operator () );
191190
192191	docs = R"( 
193192		Create a greater than or equal expression between two expressions 
@@ -198,7 +197,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
198197		Returns: 
199198			FunctionExpression: self '>=' expr 
200199	)"  ;
201- 	m.def (" __ge__" 
200+ 	m.def (" __ge__" ,  py::is_operator () );
202201
203202	docs = R"( 
204203		Create a less than expression between two expressions 
@@ -209,7 +208,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
209208		Returns: 
210209			FunctionExpression: self '<' expr 
211210	)"  ;
212- 	m.def (" __lt__" 
211+ 	m.def (" __lt__" ,  py::is_operator () );
213212
214213	docs = R"( 
215214		Create a less than or equal expression between two expressions 
@@ -220,7 +219,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
220219		Returns: 
221220			FunctionExpression: self '<=' expr 
222221	)"  ;
223- 	m.def (" __le__" 
222+ 	m.def (" __le__" ,  py::is_operator () );
224223
225224	//  AND, NOT and OR
226225
@@ -233,7 +232,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
233232		Returns: 
234233			FunctionExpression: self '&' expr 
235234	)"  ;
236- 	m.def (" __and__" 
235+ 	m.def (" __and__" ,  py::is_operator () );
237236
238237	docs = R"( 
239238		Binary-or self together with expr 
@@ -244,15 +243,15 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
244243		Returns: 
245244			FunctionExpression: self '|' expr 
246245	)"  ;
247- 	m.def (" __or__" 
246+ 	m.def (" __or__" ,  py::is_operator () );
248247
249248	docs = R"( 
250249		Create a binary-not expression from self 
251250
252251		Returns: 
253252			FunctionExpression: ~self 
254253	)"  ;
255- 	m.def (" __invert__" 
254+ 	m.def (" __invert__" ,  py::is_operator () );
256255
257256	docs = R"( 
258257		Binary-and self together with expr 
@@ -264,7 +263,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
264263			FunctionExpression: expr '&' self 
265264	)"  ;
266265	m.def (
267- 	    " __rand__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.And (a); }, docs);
266+ 	    " __rand__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.And (a); }, docs,  py::is_operator () );
268267
269268	docs = R"( 
270269		Binary-or self together with expr 
@@ -276,7 +275,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
276275			FunctionExpression: expr '|' self 
277276	)"  ;
278277	m.def (
279- 	    " __ror__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Or (a); }, docs);
278+ 	    " __ror__" const  DuckDBPyExpression &a, const  DuckDBPyExpression &b) { return  b.Or (a); }, docs,  py::is_operator () );
280279}
281280
282281static  void  InitializeImplicitConversion (py::class_<DuckDBPyExpression, shared_ptr<DuckDBPyExpression>> &m) {
0 commit comments