Skip to content

Commit eff31ec

Browse files
committed
add 'py::is_operator()' where appropriate
1 parent 3a9043d commit eff31ec

File tree

1 file changed

+28
-29
lines changed

1 file changed

+28
-29
lines changed

src/duckdb_py/pyexpression/initialize.cpp

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -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

282281
static void InitializeImplicitConversion(py::class_<DuckDBPyExpression, shared_ptr<DuckDBPyExpression>> &m) {

0 commit comments

Comments
 (0)