@@ -61,17 +61,17 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
61
61
FunctionExpression: self '+' expr
62
62
)" ;
63
63
64
- m.def (" __add__" , &DuckDBPyExpression::Add, py::arg (" expr" ), docs);
64
+ m.def (" __add__" , &DuckDBPyExpression::Add, py::arg (" expr" ), docs, py::is_operator () );
65
65
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 () );
67
67
68
68
docs = R"(
69
69
Negate the expression.
70
70
71
71
Returns:
72
72
FunctionExpression: -self
73
73
)" ;
74
- m.def (" __neg__" , &DuckDBPyExpression::Negate, docs);
74
+ m.def (" __neg__" , &DuckDBPyExpression::Negate, docs, py::is_operator () );
75
75
76
76
docs = R"(
77
77
Subtract expr from self
@@ -82,9 +82,9 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
82
82
Returns:
83
83
FunctionExpression: self '-' expr
84
84
)" ;
85
- m.def (" __sub__" , &DuckDBPyExpression::Subtract, docs);
85
+ m.def (" __sub__" , &DuckDBPyExpression::Subtract, docs, py::is_operator () );
86
86
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 () );
88
88
89
89
docs = R"(
90
90
Multiply self by expr
@@ -95,9 +95,9 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
95
95
Returns:
96
96
FunctionExpression: self '*' expr
97
97
)" ;
98
- m.def (" __mul__" , &DuckDBPyExpression::Multiply, docs);
98
+ m.def (" __mul__" , &DuckDBPyExpression::Multiply, docs, py::is_operator () );
99
99
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 () );
101
101
102
102
docs = R"(
103
103
Divide self by expr
@@ -108,13 +108,13 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
108
108
Returns:
109
109
FunctionExpression: self '/' expr
110
110
)" ;
111
- m.def (" __div__" , &DuckDBPyExpression::Division, docs);
111
+ m.def (" __div__" , &DuckDBPyExpression::Division, docs, py::is_operator () );
112
112
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 () );
114
114
115
- m.def (" __truediv__" , &DuckDBPyExpression::Division, docs);
115
+ m.def (" __truediv__" , &DuckDBPyExpression::Division, docs, py::is_operator () );
116
116
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 () );
118
118
119
119
docs = R"(
120
120
(Floor) Divide self by expr
@@ -125,10 +125,9 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
125
125
Returns:
126
126
FunctionExpression: self '//' expr
127
127
)" ;
128
- m.def (" __floordiv__" , &DuckDBPyExpression::FloorDivision, docs);
128
+ m.def (" __floordiv__" , &DuckDBPyExpression::FloorDivision, docs, py::is_operator () );
129
129
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 ());
132
131
133
132
docs = R"(
134
133
Modulo self by expr
@@ -139,9 +138,9 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
139
138
Returns:
140
139
FunctionExpression: self '%' expr
141
140
)" ;
142
- m.def (" __mod__" , &DuckDBPyExpression::Modulo, docs);
141
+ m.def (" __mod__" , &DuckDBPyExpression::Modulo, docs, py::is_operator () );
143
142
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 () );
145
144
146
145
docs = R"(
147
146
Power self by expr
@@ -152,9 +151,9 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
152
151
Returns:
153
152
FunctionExpression: self '**' expr
154
153
)" ;
155
- m.def (" __pow__" , &DuckDBPyExpression::Power, docs);
154
+ m.def (" __pow__" , &DuckDBPyExpression::Power, docs, py::is_operator () );
156
155
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 () );
158
157
159
158
docs = R"(
160
159
Create an equality expression between two expressions
@@ -165,7 +164,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
165
164
Returns:
166
165
FunctionExpression: self '=' expr
167
166
)" ;
168
- m.def (" __eq__" , &DuckDBPyExpression::Equality, docs);
167
+ m.def (" __eq__" , &DuckDBPyExpression::Equality, docs, py::is_operator () );
169
168
170
169
docs = R"(
171
170
Create an inequality expression between two expressions
@@ -176,7 +175,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
176
175
Returns:
177
176
FunctionExpression: self '!=' expr
178
177
)" ;
179
- m.def (" __ne__" , &DuckDBPyExpression::Inequality, docs);
178
+ m.def (" __ne__" , &DuckDBPyExpression::Inequality, docs, py::is_operator () );
180
179
181
180
docs = R"(
182
181
Create a greater than expression between two expressions
@@ -187,7 +186,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
187
186
Returns:
188
187
FunctionExpression: self '>' expr
189
188
)" ;
190
- m.def (" __gt__" , &DuckDBPyExpression::GreaterThan, docs);
189
+ m.def (" __gt__" , &DuckDBPyExpression::GreaterThan, docs, py::is_operator () );
191
190
192
191
docs = R"(
193
192
Create a greater than or equal expression between two expressions
@@ -198,7 +197,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
198
197
Returns:
199
198
FunctionExpression: self '>=' expr
200
199
)" ;
201
- m.def (" __ge__" , &DuckDBPyExpression::GreaterThanOrEqual, docs);
200
+ m.def (" __ge__" , &DuckDBPyExpression::GreaterThanOrEqual, docs, py::is_operator () );
202
201
203
202
docs = R"(
204
203
Create a less than expression between two expressions
@@ -209,7 +208,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
209
208
Returns:
210
209
FunctionExpression: self '<' expr
211
210
)" ;
212
- m.def (" __lt__" , &DuckDBPyExpression::LessThan, docs);
211
+ m.def (" __lt__" , &DuckDBPyExpression::LessThan, docs, py::is_operator () );
213
212
214
213
docs = R"(
215
214
Create a less than or equal expression between two expressions
@@ -220,7 +219,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
220
219
Returns:
221
220
FunctionExpression: self '<=' expr
222
221
)" ;
223
- m.def (" __le__" , &DuckDBPyExpression::LessThanOrEqual, docs);
222
+ m.def (" __le__" , &DuckDBPyExpression::LessThanOrEqual, docs, py::is_operator () );
224
223
225
224
// AND, NOT and OR
226
225
@@ -233,7 +232,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
233
232
Returns:
234
233
FunctionExpression: self '&' expr
235
234
)" ;
236
- m.def (" __and__" , &DuckDBPyExpression::And, docs);
235
+ m.def (" __and__" , &DuckDBPyExpression::And, docs, py::is_operator () );
237
236
238
237
docs = R"(
239
238
Binary-or self together with expr
@@ -244,15 +243,15 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
244
243
Returns:
245
244
FunctionExpression: self '|' expr
246
245
)" ;
247
- m.def (" __or__" , &DuckDBPyExpression::Or, docs);
246
+ m.def (" __or__" , &DuckDBPyExpression::Or, docs, py::is_operator () );
248
247
249
248
docs = R"(
250
249
Create a binary-not expression from self
251
250
252
251
Returns:
253
252
FunctionExpression: ~self
254
253
)" ;
255
- m.def (" __invert__" , &DuckDBPyExpression::Not, docs);
254
+ m.def (" __invert__" , &DuckDBPyExpression::Not, docs, py::is_operator () );
256
255
257
256
docs = R"(
258
257
Binary-and self together with expr
@@ -264,7 +263,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
264
263
FunctionExpression: expr '&' self
265
264
)" ;
266
265
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 () );
268
267
269
268
docs = R"(
270
269
Binary-or self together with expr
@@ -276,7 +275,7 @@ static void InitializeDunderMethods(py::class_<DuckDBPyExpression, shared_ptr<Du
276
275
FunctionExpression: expr '|' self
277
276
)" ;
278
277
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 () );
280
279
}
281
280
282
281
static void InitializeImplicitConversion (py::class_<DuckDBPyExpression, shared_ptr<DuckDBPyExpression>> &m) {
0 commit comments