Skip to content

Commit cb8d7de

Browse files
committed
A lot more of cleaning up casts, consts and whatnot
1 parent b5fbee8 commit cb8d7de

File tree

5 files changed

+119
-118
lines changed

5 files changed

+119
-118
lines changed

src/custom_extensions.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,22 +109,22 @@ string SubstraitCustomFunction::GetName() {
109109
return function_signature;
110110
}
111111

112-
string SubstraitFunctionExtensions::GetExtensionURI() {
112+
string SubstraitFunctionExtensions::GetExtensionURI() const {
113113
if (IsNative()) {
114114
return "";
115115
}
116116
return "https://github.com/substrait-io/substrait/blob/main/extensions/" + extension_path;
117117
}
118118

119-
bool SubstraitFunctionExtensions::IsNative() {
119+
bool SubstraitFunctionExtensions::IsNative() const {
120120
return extension_path == "native";
121121
}
122122

123123
SubstraitCustomFunctions::SubstraitCustomFunctions() {
124124
Initialize();
125125
};
126126

127-
vector<string> SubstraitCustomFunctions::GetTypes(const vector<::substrait::Type> &types) const {
127+
vector<string> SubstraitCustomFunctions::GetTypes(const vector<substrait::Type> &types) {
128128
vector<string> transformed_types;
129129
for (auto &type : types) {
130130
transformed_types.emplace_back(TransformTypes(type));

src/include/custom_extensions/custom_extensions.hpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
namespace duckdb {
1616

1717
struct SubstraitCustomFunction {
18-
public:
1918
SubstraitCustomFunction(string name_p, vector<string> arg_types_p)
2019
: name(std::move(name_p)), arg_types(std::move(arg_types_p)) {};
2120

@@ -34,8 +33,8 @@ class SubstraitFunctionExtensions {
3433
: function(std::move(function_p)), extension_path(std::move(extension_path_p)) {};
3534
SubstraitFunctionExtensions() = default;
3635

37-
string GetExtensionURI();
38-
bool IsNative();
36+
string GetExtensionURI() const;
37+
bool IsNative() const;
3938

4039
SubstraitCustomFunction function;
4140
string extension_path;
@@ -66,8 +65,8 @@ struct HashSubstraitFunctionsName {
6665
class SubstraitCustomFunctions {
6766
public:
6867
SubstraitCustomFunctions();
69-
SubstraitFunctionExtensions Get(const string &name, const vector<::substrait::Type> &types) const;
70-
vector<string> GetTypes(const vector<::substrait::Type> &types) const;
68+
SubstraitFunctionExtensions Get(const string &name, const vector<substrait::Type> &types) const;
69+
static vector<string> GetTypes(const vector<substrait::Type> &types);
7170
void Initialize();
7271

7372
private:

src/include/to_substrait.hpp

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ class DuckDBToSubstrait {
2525
plan.Clear();
2626
}
2727
//! Serializes the substrait plan to a string
28-
string SerializeToString();
29-
string SerializeToJson();
28+
string SerializeToString() const;
29+
string SerializeToJson() const;
3030

3131
private:
3232
//! Transform DuckDB Plan to Substrait Plan
@@ -60,33 +60,33 @@ class DuckDBToSubstrait {
6060
static substrait::Rel *TransformDummyScan();
6161
//! Methods to transform different LogicalGet Types (e.g., Table, Parquet)
6262
//! To Substrait;
63-
void TransformTableScanToSubstrait(LogicalGet &dget, substrait::ReadRel *sget);
63+
void TransformTableScanToSubstrait(LogicalGet &dget, substrait::ReadRel *sget) const;
6464
void TransformParquetScanToSubstrait(LogicalGet &dget, substrait::ReadRel *sget, BindInfo &bind_info,
65-
FunctionData &bind_data);
65+
const FunctionData &bind_data) const;
6666

6767
//! Methods to transform DuckDBConstants to Substrait Expressions
68-
static void TransformConstant(Value &dval, substrait::Expression &sexpr);
69-
static void TransformInteger(Value &dval, substrait::Expression &sexpr);
70-
static void TransformDouble(Value &dval, substrait::Expression &sexpr);
71-
static void TransformBigInt(Value &dval, substrait::Expression &sexpr);
72-
static void TransformDate(Value &dval, substrait::Expression &sexpr);
73-
static void TransformVarchar(Value &dval, substrait::Expression &sexpr);
74-
static void TransformBoolean(Value &dval, substrait::Expression &sexpr);
75-
static void TransformDecimal(Value &dval, substrait::Expression &sexpr);
76-
static void TransformHugeInt(Value &dval, substrait::Expression &sexpr);
77-
static void TransformSmallInt(Value &dval, substrait::Expression &sexpr);
78-
static void TransformFloat(Value &dval, substrait::Expression &sexpr);
79-
static void TransformTime(Value &dval, substrait::Expression &sexpr);
80-
static void TransformInterval(Value &dval, substrait::Expression &sexpr);
81-
static void TransformTimestamp(Value &dval, substrait::Expression &sexpr);
82-
static void TransformEnum(Value &dval, substrait::Expression &sexpr);
68+
static void TransformConstant(const Value &dval, substrait::Expression &sexpr);
69+
static void TransformInteger(const Value &dval, substrait::Expression &sexpr);
70+
static void TransformDouble(const Value &dval, substrait::Expression &sexpr);
71+
static void TransformBigInt(const Value &dval, substrait::Expression &sexpr);
72+
static void TransformDate(const Value &dval, substrait::Expression &sexpr);
73+
static void TransformVarchar(const Value &dval, substrait::Expression &sexpr);
74+
static void TransformBoolean(const Value &dval, substrait::Expression &sexpr);
75+
static void TransformDecimal(const Value &dval, substrait::Expression &sexpr);
76+
static void TransformHugeInt(const Value &dval, substrait::Expression &sexpr);
77+
static void TransformSmallInt(const Value &dval, substrait::Expression &sexpr);
78+
static void TransformFloat(const Value &dval, substrait::Expression &sexpr);
79+
static void TransformTime(const Value &dval, substrait::Expression &sexpr);
80+
static void TransformInterval(const Value &dval, substrait::Expression &sexpr);
81+
static void TransformTimestamp(const Value &dval, substrait::Expression &sexpr);
82+
static void TransformEnum(const Value &dval, substrait::Expression &sexpr);
8383

8484
//! Methods to transform a DuckDB Expression to a Substrait Expression
8585
void TransformExpr(Expression &dexpr, substrait::Expression &sexpr, uint64_t col_offset = 0);
8686
static void TransformBoundRefExpression(Expression &dexpr, substrait::Expression &sexpr, uint64_t col_offset);
8787
void TransformCastExpression(Expression &dexpr, substrait::Expression &sexpr, uint64_t col_offset);
8888
void TransformFunctionExpression(Expression &dexpr, substrait::Expression &sexpr, uint64_t col_offset);
89-
void TransformConstantExpression(Expression &dexpr, substrait::Expression &sexpr);
89+
static void TransformConstantExpression(Expression &dexpr, substrait::Expression &sexpr);
9090
void TransformComparisonExpression(Expression &dexpr, substrait::Expression &sexpr);
9191
void TransformConjunctionExpression(Expression &dexpr, substrait::Expression &sexpr, uint64_t col_offset);
9292
void TransformNotNullExpression(Expression &dexpr, substrait::Expression &sexpr, uint64_t col_offset);
@@ -96,23 +96,23 @@ class DuckDBToSubstrait {
9696
void TransformInExpression(Expression &dexpr, substrait::Expression &sexpr);
9797

9898
//! Transforms a DuckDB Logical Type into a Substrait Type
99-
::substrait::Type DuckToSubstraitType(const LogicalType &type, BaseStatistics *column_statistics = nullptr,
100-
bool not_null = false);
99+
static substrait::Type DuckToSubstraitType(const LogicalType &type, BaseStatistics *column_statistics = nullptr,
100+
bool not_null = false);
101101

102102
//! Methods to transform DuckDB Filters to Substrait Expression
103103
substrait::Expression *TransformFilter(uint64_t col_idx, LogicalType &column_type, TableFilter &dfilter,
104104
LogicalType &return_type);
105-
substrait::Expression *TransformIsNotNullFilter(uint64_t col_idx, LogicalType &column_type, TableFilter &dfilter,
106-
LogicalType &return_type);
105+
substrait::Expression *TransformIsNotNullFilter(uint64_t col_idx, const LogicalType &column_type,
106+
TableFilter &dfilter, const LogicalType &return_type);
107107
substrait::Expression *TransformConjuctionAndFilter(uint64_t col_idx, LogicalType &column_type,
108108
TableFilter &dfilter, LogicalType &return_type);
109-
substrait::Expression *TransformConstantComparisonFilter(uint64_t col_idx, LogicalType &column_type,
110-
TableFilter &dfilter, LogicalType &return_type);
109+
substrait::Expression *TransformConstantComparisonFilter(uint64_t col_idx, const LogicalType &column_type,
110+
TableFilter &dfilter, const LogicalType &return_type);
111111

112112
//! Transforms DuckDB Join Conditions to Substrait Expression
113-
substrait::Expression *TransformJoinCond(JoinCondition &dcond, uint64_t left_ncol);
113+
substrait::Expression *TransformJoinCond(const JoinCondition &dcond, uint64_t left_ncol);
114114
//! Transforms DuckDB Sort Order to Substrait Sort Order
115-
void TransformOrder(BoundOrderByNode &dordf, substrait::SortField &sordf);
115+
void TransformOrder(const BoundOrderByNode &dordf, substrait::SortField &sordf);
116116

117117
static void AllocateFunctionArgument(substrait::Expression_ScalarFunction *scalar_fun,
118118
substrait::Expression *value);
@@ -121,7 +121,7 @@ class DuckDBToSubstrait {
121121

122122
//! Creates a Conjunction
123123
template <typename T, typename FUNC>
124-
substrait::Expression *CreateConjunction(T &source, FUNC f) {
124+
substrait::Expression *CreateConjunction(T &source, const FUNC f) {
125125
substrait::Expression *res = nullptr;
126126
for (auto &ele : source) {
127127
auto child_expression = f(ele);

src/substrait_extension.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ static void ToSubFunctionInternal(ClientContext &context, ToSubstraitFunctionDat
158158
}
159159

160160
static void ToSubFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) {
161-
auto &data = (ToSubstraitFunctionData &)*data_p.bind_data;
161+
auto &data = data_p.bind_data->CastNoConst<ToSubstraitFunctionData>();
162162
if (data.finished) {
163163
return;
164164
}
@@ -190,7 +190,7 @@ static void ToJsonFunctionInternal(ClientContext &context, ToSubstraitFunctionDa
190190
}
191191

192192
static void ToJsonFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) {
193-
auto &data = (ToSubstraitFunctionData &)*data_p.bind_data;
193+
auto &data = data_p.bind_data->CastNoConst<ToSubstraitFunctionData>();
194194
if (data.finished) {
195195
return;
196196
}
@@ -247,7 +247,7 @@ static unique_ptr<FunctionData> FromSubstraitBindJSON(ClientContext &context, Ta
247247
}
248248

249249
static void FromSubFunction(ClientContext &context, TableFunctionInput &data_p, DataChunk &output) {
250-
auto &data = (FromSubstraitFunctionData &)*data_p.bind_data;
250+
auto &data = data_p.bind_data->CastNoConst<FromSubstraitFunctionData>();
251251
if (!data.res) {
252252
data.res = data.plan->Execute();
253253
}
@@ -258,7 +258,7 @@ static void FromSubFunction(ClientContext &context, TableFunctionInput &data_p,
258258
output.Move(*result_chunk);
259259
}
260260

261-
void InitializeGetSubstrait(Connection &con) {
261+
void InitializeGetSubstrait(const Connection &con) {
262262
auto &catalog = Catalog::GetSystemCatalog(*con.context);
263263

264264
// create the get_substrait table function that allows us to get a substrait
@@ -270,7 +270,7 @@ void InitializeGetSubstrait(Connection &con) {
270270
catalog.CreateTableFunction(*con.context, to_sub_info);
271271
}
272272

273-
void InitializeGetSubstraitJSON(Connection &con) {
273+
void InitializeGetSubstraitJSON(const Connection &con) {
274274
auto &catalog = Catalog::GetSystemCatalog(*con.context);
275275

276276
// create the get_substrait table function that allows us to get a substrait
@@ -282,7 +282,7 @@ void InitializeGetSubstraitJSON(Connection &con) {
282282
catalog.CreateTableFunction(*con.context, get_substrait_json_info);
283283
}
284284

285-
void InitializeFromSubstrait(Connection &con) {
285+
void InitializeFromSubstrait(const Connection &con) {
286286
auto &catalog = Catalog::GetSystemCatalog(*con.context);
287287

288288
// create the from_substrait table function that allows us to get a query
@@ -292,7 +292,7 @@ void InitializeFromSubstrait(Connection &con) {
292292
catalog.CreateTableFunction(*con.context, from_sub_info);
293293
}
294294

295-
void InitializeFromSubstraitJSON(Connection &con) {
295+
void InitializeFromSubstraitJSON(const Connection &con) {
296296
auto &catalog = Catalog::GetSystemCatalog(*con.context);
297297

298298
// create the from_substrait table function that allows us to get a query

0 commit comments

Comments
 (0)