Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -918,7 +918,7 @@ void AddArgMinMaxNFunction(AggregateFunctionSet &set) {
.AddParameter("val", LogicalTypeId::ANY)
.AddParameter("N", LogicalType::BIGINT);

return set.AddFunction(function);
set.AddFunction(function);
}

} // namespace
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ unique_ptr<BaseStatistics> ArrayValueStats(ClientContext &context, FunctionStati
ScalarFunction ArrayValueFun::GetFunction() {
// the arguments and return types are actually set in the binder function
ScalarFunction fun("array_value", {}, LogicalTypeId::ARRAY, ArrayValueFunction, ArrayValueBind, ArrayValueStats);
fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
fun.GetSignature().AddArgs("args", LogicalType::ANY);
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
return fun;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ static void IndexKeyFunction(DataChunk &args, ExpressionState &state, Vector &re
ScalarFunction IndexKeyFun::GetFunction() {
ScalarFunction fun("index_key", {}, LogicalType::BLOB, IndexKeyFunction, IndexKeyBind);
fun.GetSignature().AddParameter("path", LogicalTypeId::STRUCT).AddParameter("name", LogicalType::VARCHAR);
fun.GetSignature().AddArgsParameter("args", LogicalTypeId::ANY);
fun.GetSignature().AddArgs("args", LogicalTypeId::ANY);
return fun;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ static void HashFunction(DataChunk &args, ExpressionState &state, Vector &result
ScalarFunction HashFun::GetFunction() {
auto hash_fun = ScalarFunction({}, LogicalType::HASH, HashFunction);
hash_fun.GetSignature().AddParameter("value", LogicalType::ANY);
hash_fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
hash_fun.GetSignature().AddArgs("args", LogicalType::ANY);
hash_fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
return hash_fun;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ ScalarFunction MakeTypeFun::GetFunction() {
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
fun.SetBindExpressionCallback(BindMakeTypeFunctionExpression);
fun.GetProperties().SetRequiresExpressionNames(true);
fun.GetSignature().AddArgsParameter("args", LogicalType::ANY).AddKwargsParameter("kwargs", LogicalType::ANY);
fun.GetSignature().AddArgs("args", LogicalType::ANY).AddKwargs("kwargs", LogicalType::ANY);
return fun;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@ ScalarFunction ListAggregateFun::GetFunction() {
.AddParameter("function_name", LogicalType::VARCHAR);
result.SetFallible();
result.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
result.GetSignature().AddArgsParameter("args", LogicalType::ANY);
result.GetSignature().AddArgs("args", LogicalType::ANY);
result.SetSerializeCallback(ListAggregatesBindData::SerializeFunction);
result.SetDeserializeCallback(ListAggregatesBindData::DeserializeFunction);
return result;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,7 @@ ScalarFunctionSet ListValueFun::GetFunctions() {
ScalarFunction value_fun({element_type}, LogicalType::LIST(element_type), ListValueFunction, ListValueBind,
ListValueStats);
value_fun.GetSignature().GetParameter(0).SetName("value");
value_fun.GetSignature().AddArgsParameter("args", element_type);
value_fun.GetSignature().AddArgs("args", element_type);
value_fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
set.AddFunction(value_fun);

Expand All @@ -326,7 +326,7 @@ ScalarFunctionSet ListValueFun::GetFunctions() {

ScalarFunction UnpivotListFun::GetFunction() {
ScalarFunction fun("unpivot_list", {}, LogicalTypeId::LIST, ListValueFunction, UnpivotBind, ListValueStats);
fun.GetSignature().AddArgsParameter("args", LogicalTypeId::ANY);
fun.GetSignature().AddArgs("args", LogicalTypeId::ANY);
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
return fun;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ static unique_ptr<FunctionData> CardinalityBind(BindScalarFunctionInput &input)
ScalarFunction CardinalityFun::GetFunction() {
ScalarFunction fun({}, LogicalType::UBIGINT, CardinalityFunction, CardinalityBind);
fun.GetSignature().AddParameter("map", LogicalType::ANY);
fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
fun.GetSignature().AddArgs("args", LogicalType::ANY);
fun.SetNullHandling(FunctionNullHandling::DEFAULT_NULL_HANDLING);
return fun;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ ScalarFunction MapConcatFun::GetFunction() {
//! the arguments and return types are actually set in the binder function
ScalarFunction fun("map_concat", {}, LogicalTypeId::LIST, MapConcatFunction, MapConcatBind);
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
fun.GetSignature().AddArgs("args", LogicalType::ANY);
return fun;
}

Expand Down
4 changes: 2 additions & 2 deletions src/duckdb/extension/core_functions/scalar/string/printf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ ScalarFunction PrintfFun::GetFunction() {
ScalarFunction printf_fun({}, LogicalType::VARCHAR, PrintfFunction<FMTPrintf, duckdb_fmt::printf_context>,
BindPrintfFunction);
printf_fun.GetSignature().AddParameter("format", LogicalType::VARCHAR);
printf_fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
printf_fun.GetSignature().AddArgs("args", LogicalType::ANY);
printf_fun.SetFallible();
return printf_fun;
}
Expand All @@ -197,7 +197,7 @@ ScalarFunction FormatFun::GetFunction() {
ScalarFunction format_fun({}, LogicalType::VARCHAR, PrintfFunction<FMTFormat, duckdb_fmt::format_context>,
BindPrintfFunction);
format_fun.GetSignature().AddParameter("format", LogicalType::VARCHAR);
format_fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
format_fun.GetSignature().AddArgs("args", LogicalType::ANY);
format_fun.SetFallible();
return format_fun;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ static unique_ptr<ParsedExpression> StructInsertUnbind(FunctionUnbindInput &inpu
ScalarFunction StructInsertFun::GetFunction() {
ScalarFunction fun({}, LogicalTypeId::STRUCT, StructInsertFunction, StructInsertBind, StructInsertStats);
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
fun.GetSignature().AddParameter("struct", LogicalType::ANY).AddKwargsParameter("kwargs", LogicalType::ANY);
fun.GetSignature().AddParameter("struct", LogicalType::ANY).AddKwargs("kwargs", LogicalType::ANY);
fun.GetProperties().SetRequiresExpressionNames(true);
fun.SetSerializeCallback(VariableReturnBindData::Serialize);
fun.SetDeserializeCallback(VariableReturnBindData::Deserialize);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ static unique_ptr<ParsedExpression> StructUpdateUnbind(FunctionUnbindInput &inpu
ScalarFunction StructUpdateFun::GetFunction() {
ScalarFunction fun({}, LogicalTypeId::STRUCT, StructUpdateFunction, StructUpdateBind, StructUpdateStats);
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
fun.GetSignature().AddParameter("struct", LogicalType::ANY).AddKwargsParameter("kwargs", LogicalType::ANY);
fun.GetSignature().AddParameter("struct", LogicalType::ANY).AddKwargs("kwargs", LogicalType::ANY);
fun.GetProperties().SetRequiresExpressionNames(true);
fun.SetUnbindCallback(StructUpdateUnbind);
fun.SetSerializeCallback(VariableReturnBindData::Serialize);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ unique_ptr<FunctionData> UnionValueBind(BindScalarFunctionInput &input) {

ScalarFunction UnionValueFun::GetFunction() {
ScalarFunction fun("union_value", {}, LogicalTypeId::UNION, UnionValueFunction, UnionValueBind, nullptr, nullptr);
fun.GetSignature().AddKwargsParameter("kwargs", LogicalType::ANY);
fun.GetSignature().AddKwargs("kwargs", LogicalType::ANY);
fun.GetProperties().SetRequiresExpressionNames(true);
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
fun.SetSerializeCallback(VariableReturnBindData::Serialize);
Expand Down
12 changes: 7 additions & 5 deletions src/duckdb/extension/icu/icu-table-range.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -265,9 +265,12 @@ struct ICUTableRange {
}

static void AddICUTableRangeFunction(ExtensionLoader &loader) {
const auto timestamps = FunctionSignature()
.AddPositionalOnly("start", LogicalType::TIMESTAMP_TZ)
.AddPositionalOnly("stop", LogicalType::TIMESTAMP_TZ)
.AddPositionalOnly("step", LogicalType::INTERVAL);
TableFunctionSet range("range");
TableFunction range_function({LogicalType::TIMESTAMP_TZ, LogicalType::TIMESTAMP_TZ, LogicalType::INTERVAL},
nullptr, Bind<false>, RangeDateTimeGlobalInit, RangeDateTimeLocalInit);
TableFunction range_function(timestamps, nullptr, Bind<false>, RangeDateTimeGlobalInit, RangeDateTimeLocalInit);
range_function.in_out_function = ICUTableRangeFunction<false>;
range_function.table_scan_progress = Progress;
range_function.cardinality = Cardinality;
Expand All @@ -278,9 +281,8 @@ struct ICUTableRange {

// generate_series: similar to range, but inclusive instead of exclusive bounds on the RHS
TableFunctionSet generate_series("generate_series");
TableFunction generate_series_function(
{LogicalType::TIMESTAMP_TZ, LogicalType::TIMESTAMP_TZ, LogicalType::INTERVAL}, nullptr, Bind<true>,
RangeDateTimeGlobalInit, RangeDateTimeLocalInit);
TableFunction generate_series_function(timestamps, nullptr, Bind<true>, RangeDateTimeGlobalInit,
RangeDateTimeLocalInit);
generate_series_function.in_out_function = ICUTableRangeFunction<true>;
generate_series_function.table_scan_progress = Progress;
generate_series_function.cardinality = Cardinality;
Expand Down
4 changes: 2 additions & 2 deletions src/duckdb/extension/json/include/json_scan.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -186,8 +186,8 @@ struct JSONScan {
vector<Identifier> &names);

static void Serialize(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
const TableFunction &function);
static unique_ptr<FunctionData> Deserialize(Deserializer &deserializer, TableFunction &function);
const BoundTableFunction &function);
static unique_ptr<FunctionData> Deserialize(Deserializer &deserializer, BoundTableFunction &function);

static void TableFunctionDefaults(TableFunction &table_function);
//! The named parameters shared by all read_json variants
Expand Down
10 changes: 5 additions & 5 deletions src/duckdb/extension/json/json_functions/json_create.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1477,7 +1477,7 @@ unique_ptr<Expression> JSONFunctions::CreateJSONCopyToJSONExpression(ClientConte
ScalarFunctionSet JSONFunctions::GetObjectFunction() {
ScalarFunction fun("json_object", {}, LogicalType::JSON(), ObjectFunction, JSONObjectBind, nullptr,
JSONFunctionLocalState::Init);
fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
fun.GetSignature().AddArgs("args", LogicalType::ANY);
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
// throws if a key is NULL
fun.SetFallible();
Expand All @@ -1487,15 +1487,15 @@ ScalarFunctionSet JSONFunctions::GetObjectFunction() {
ScalarFunctionSet JSONFunctions::GetArrayFunction() {
ScalarFunction fun("json_array", {}, LogicalType::JSON(), ArrayFunction, JSONArrayBind, nullptr,
JSONFunctionLocalState::Init);
fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
fun.GetSignature().AddArgs("args", LogicalType::ANY);
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
return ScalarFunctionSet(fun);
}

ScalarFunctionSet JSONFunctions::GetToJSONFunction() {
ScalarFunction fun("to_json", {}, LogicalType::JSON(), ToJSONFunction, ToJSONBind, nullptr,
JSONFunctionLocalState::Init);
fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
fun.GetSignature().AddArgs("args", LogicalType::ANY);
return ScalarFunctionSet(fun);
}

Expand Down Expand Up @@ -1531,14 +1531,14 @@ ScalarFunction JSONFunctions::GetJSONCopyToGeoJSONFunction() {
ScalarFunctionSet JSONFunctions::GetArrayToJSONFunction() {
ScalarFunction fun("array_to_json", {}, LogicalType::JSON(), ToJSONFunction, ArrayToJSONBind, nullptr,
JSONFunctionLocalState::Init);
fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
fun.GetSignature().AddArgs("args", LogicalType::ANY);
return ScalarFunctionSet(fun);
}

ScalarFunctionSet JSONFunctions::GetRowToJSONFunction() {
ScalarFunction fun("row_to_json", {}, LogicalType::JSON(), ToJSONFunction, RowToJSONBind, nullptr,
JSONFunctionLocalState::Init);
fun.GetSignature().AddArgsParameter("args", LogicalType::ANY);
fun.GetSignature().AddArgs("args", LogicalType::ANY);
return ScalarFunctionSet(fun);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ ScalarFunctionSet JSONFunctions::GetDeepMergeFunction() {
ScalarFunction fun("json_deep_merge", {}, LogicalType::JSON(), DeepMergeFunction, nullptr, nullptr,
JSONFunctionLocalState::Init);
fun.GetSignature().AddParameter("json1", LogicalType::JSON()).AddParameter("json2", LogicalType::JSON());
fun.GetSignature().AddArgsParameter("args", LogicalType::JSON());
fun.GetSignature().AddArgs("args", LogicalType::JSON());
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);
fun.SetFallible();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ ScalarFunctionSet JSONFunctions::GetMergePatchFunction() {
ScalarFunction fun("json_merge_patch", {}, LogicalType::JSON(), MergePatchFunction, nullptr, nullptr,
JSONFunctionLocalState::Init);
fun.GetSignature().AddParameter("json1", LogicalType::JSON()).AddParameter("json2", LogicalType::JSON());
fun.GetSignature().AddArgsParameter("args", LogicalType::JSON());
fun.GetSignature().AddArgs("args", LogicalType::JSON());
fun.SetNullHandling(FunctionNullHandling::SPECIAL_HANDLING);

return ScalarFunctionSet(fun);
Expand Down
10 changes: 6 additions & 4 deletions src/duckdb/extension/json/json_functions/json_serialize_sql.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -269,8 +269,9 @@ static string ExecuteJsonSerializedSqlPragmaFunction(ClientContext &context, con
}

PragmaFunctionSet JSONFunctions::GetExecuteJsonSerializedSqlPragmaFunction() {
return PragmaFunctionSet(PragmaFunction::PragmaCall(
"json_execute_serialized_sql", ExecuteJsonSerializedSqlPragmaFunction, {LogicalType::VARCHAR}));
return PragmaFunctionSet(
PragmaFunction::PragmaCall("json_execute_serialized_sql", ExecuteJsonSerializedSqlPragmaFunction,
FunctionSignature().AddPositionalOnly("serialized_sql", LogicalType::VARCHAR)));
}

//----------------------------------------------------------------------
Expand Down Expand Up @@ -322,8 +323,9 @@ struct ExecuteSqlTableFunction {
};

TableFunctionSet JSONFunctions::GetExecuteJsonSerializedSqlFunction() {
TableFunction func("json_execute_serialized_sql", {LogicalType::VARCHAR}, ExecuteSqlTableFunction::Function,
ExecuteSqlTableFunction::Bind);
TableFunction func("json_execute_serialized_sql",
FunctionSignature().AddPositionalOnly("serialized_sql", LogicalType::VARCHAR),
ExecuteSqlTableFunction::Function, ExecuteSqlTableFunction::Bind);
return TableFunctionSet(func);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -462,11 +462,13 @@ virtual_column_map_t GetJSONTableInOutVirtualColumns(ClientContext &, optional_p

template <JSONTableInOutType TYPE>
TableFunction GetJSONTableInOutFunction(const LogicalType &input_type, const bool &has_path_param) {
vector<LogicalType> arguments = {input_type};
FunctionSignature signature;
signature.AddPositionalOnly("json", input_type);
if (has_path_param) {
arguments.push_back(LogicalType::VARCHAR);
signature.AddPositionalOnly("path", LogicalType::VARCHAR);
}
TableFunction function(arguments, nullptr, JSONTableInOutBind, JSONTableInOutInitGlobal, JSONTableInOutInitLocal);
TableFunction function(std::move(signature), nullptr, JSONTableInOutBind, JSONTableInOutInitGlobal,
JSONTableInOutInitLocal);
function.in_out_function = JSONTableInOutFunction<TYPE>;
function.table_scan_progress = JSONTableInOutProgress;
function.get_virtual_columns = GetJSONTableInOutVirtualColumns;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -307,8 +307,9 @@ static unique_ptr<NodeStatistics> ReadSingleJSONFileCardinality(ClientContext &c

TableFunction JSONFunctions::GetReadSingleJSONFileTableFunction(shared_ptr<JSONScanInfo> function_info) {
const auto scan_type = function_info->type;
TableFunction table_function("read_single_json_file", {LogicalType::VARCHAR}, ReadSingleJSONFileFunction,
ReadSingleJSONFileBind, ReadSingleJSONFileInitGlobal, ReadSingleJSONFileInitLocal);
TableFunction table_function(
"read_single_json_file", FunctionSignature().AddPositionalOnly("path", LogicalType::VARCHAR),
ReadSingleJSONFileFunction, ReadSingleJSONFileBind, ReadSingleJSONFileInitGlobal, ReadSingleJSONFileInitLocal);
JSONScan::TableFunctionDefaults(table_function);
if (scan_type != JSONScanType::READ_JSON_OBJECTS) {
// read_json_objects always emits a single JSON column - it has no schema options
Expand Down
Loading
Loading