@@ -61,17 +61,17 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
6161 FunctionExpression: self '+' expr
6262 )" ;
6363
64- m.def (" __add__" , &DuckDBPyExpression::Add, py::arg (" expr" ), docs);
64+ m.def (" __add__" , &DuckDBPyExpression::Add, py::arg (" expr" ), docs, 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__" , &DuckDBPyExpression::Negate, docs);
74+ m.def (" __neg__" , &DuckDBPyExpression::Negate, docs, 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__" , &DuckDBPyExpression::Subtract, docs);
85+ m.def (" __sub__" , &DuckDBPyExpression::Subtract, docs, 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__" , &DuckDBPyExpression::Multiply, docs);
98+ m.def (" __mul__" , &DuckDBPyExpression::Multiply, docs, 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__" , &DuckDBPyExpression::Division, docs);
111+ m.def (" __div__" , &DuckDBPyExpression::Division, docs, 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__" , &DuckDBPyExpression::Division, docs);
115+ m.def (" __truediv__" , &DuckDBPyExpression::Division, docs, 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__" , &DuckDBPyExpression::FloorDivision, docs);
128+ m.def (" __floordiv__" , &DuckDBPyExpression::FloorDivision, docs, 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__" , &DuckDBPyExpression::Modulo, docs);
141+ m.def (" __mod__" , &DuckDBPyExpression::Modulo, docs, 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__" , &DuckDBPyExpression::Power, docs);
154+ m.def (" __pow__" , &DuckDBPyExpression::Power, docs, 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__" , &DuckDBPyExpression::Equality, docs);
167+ m.def (" __eq__" , &DuckDBPyExpression::Equality, docs, 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__" , &DuckDBPyExpression::Inequality, docs);
178+ m.def (" __ne__" , &DuckDBPyExpression::Inequality, docs, 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__" , &DuckDBPyExpression::GreaterThan, docs);
189+ m.def (" __gt__" , &DuckDBPyExpression::GreaterThan, docs, 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__" , &DuckDBPyExpression::GreaterThanOrEqual, docs);
200+ m.def (" __ge__" , &DuckDBPyExpression::GreaterThanOrEqual, docs, 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__" , &DuckDBPyExpression::LessThan, docs);
211+ m.def (" __lt__" , &DuckDBPyExpression::LessThan, docs, 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__" , &DuckDBPyExpression::LessThanOrEqual, docs);
222+ m.def (" __le__" , &DuckDBPyExpression::LessThanOrEqual, docs, 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__" , &DuckDBPyExpression::And, docs);
235+ m.def (" __and__" , &DuckDBPyExpression::And, docs, 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__" , &DuckDBPyExpression::Or, docs);
246+ m.def (" __or__" , &DuckDBPyExpression::Or, docs, 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__" , &DuckDBPyExpression::Not, docs);
254+ m.def (" __invert__" , &DuckDBPyExpression::Not, docs, 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