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
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ set(DUCKDB_SRC_FILES
src/duckdb/src/main/extension/extension_install.cpp
src/duckdb/src/main/extension/extension_load.cpp
src/duckdb/src/main/extension/extension_util.cpp
src/duckdb/ub_src_main_http.cpp
src/duckdb/ub_src_main_relation.cpp
src/duckdb/ub_src_main_secret.cpp
src/duckdb/ub_src_main_settings.cpp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ struct FormatFun {
struct FormatBytesFun {
static constexpr const char *Name = "format_bytes";
static constexpr const char *Parameters = "bytes";
static constexpr const char *Description = "Converts bytes to a human-readable presentation (e.g. 16000 -> 15.6 KiB)";
static constexpr const char *Description = "Converts bytes to a human-readable presentation (e.g., 16000 -> 15.6 KiB)";
static constexpr const char *Example = "format_bytes(1000 * 16)";
static constexpr const char *Categories = "";

Expand All @@ -116,7 +116,7 @@ struct FormatreadablesizeFun {
struct FormatreadabledecimalsizeFun {
static constexpr const char *Name = "formatReadableDecimalSize";
static constexpr const char *Parameters = "bytes";
static constexpr const char *Description = "Converts bytes to a human-readable presentation (e.g. 16000 -> 16.0 KB)";
static constexpr const char *Description = "Converts bytes to a human-readable presentation (e.g., 16000 -> 16.0 KB)";
static constexpr const char *Example = "format_bytes(1000 * 16)";
static constexpr const char *Categories = "";

Expand Down
4 changes: 4 additions & 0 deletions src/duckdb/extension/json/json_functions/read_json.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,10 @@ class JSONSchemaTask : public BaseExecutorTask {
}
}

string TaskType() const override {
return "JSONSchemaTask";
}

private:
AutoDetectState &auto_detect_state;
JSONStructureNode &node;
Expand Down
11 changes: 7 additions & 4 deletions src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,11 +68,14 @@ static void FindForeignKeyInformation(TableCatalogEntry &table, AlterForeignKeyT
}

DuckSchemaEntry::DuckSchemaEntry(Catalog &catalog, CreateSchemaInfo &info)
: SchemaCatalogEntry(catalog, info), tables(catalog, make_uniq<DefaultViewGenerator>(catalog, *this)),
indexes(catalog), table_functions(catalog, make_uniq<DefaultTableFunctionGenerator>(catalog, *this)),
: SchemaCatalogEntry(catalog, info),
tables(catalog, catalog.IsSystemCatalog() ? make_uniq<DefaultViewGenerator>(catalog, *this) : nullptr),
indexes(catalog),
table_functions(catalog,
catalog.IsSystemCatalog() ? make_uniq<DefaultTableFunctionGenerator>(catalog, *this) : nullptr),
copy_functions(catalog), pragma_functions(catalog),
functions(catalog, make_uniq<DefaultFunctionGenerator>(catalog, *this)), sequences(catalog), collations(catalog),
types(catalog, make_uniq<DefaultTypeGenerator>(catalog, *this)) {
functions(catalog, catalog.IsSystemCatalog() ? make_uniq<DefaultFunctionGenerator>(catalog, *this) : nullptr),
sequences(catalog), collations(catalog), types(catalog, make_uniq<DefaultTypeGenerator>(catalog, *this)) {
}

unique_ptr<CatalogEntry> DuckSchemaEntry::Copy(ClientContext &context) const {
Expand Down
81 changes: 81 additions & 0 deletions src/duckdb/src/common/enum_util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
#include "duckdb/common/file_buffer.hpp"
#include "duckdb/common/file_open_flags.hpp"
#include "duckdb/common/filename_pattern.hpp"
#include "duckdb/common/http_util.hpp"
#include "duckdb/common/multi_file/multi_file_data.hpp"
#include "duckdb/common/multi_file/multi_file_list.hpp"
#include "duckdb/common/multi_file/multi_file_options.hpp"
Expand Down Expand Up @@ -1976,6 +1977,86 @@ HLLStorageType EnumUtil::FromString<HLLStorageType>(const char *value) {
return static_cast<HLLStorageType>(StringUtil::StringToEnum(GetHLLStorageTypeValues(), 2, "HLLStorageType", value));
}

const StringUtil::EnumStringLiteral *GetHTTPStatusCodeValues() {
static constexpr StringUtil::EnumStringLiteral values[] {
{ static_cast<uint32_t>(HTTPStatusCode::INVALID), "INVALID" },
{ static_cast<uint32_t>(HTTPStatusCode::Continue_100), "Continue_100" },
{ static_cast<uint32_t>(HTTPStatusCode::SwitchingProtocol_101), "SwitchingProtocol_101" },
{ static_cast<uint32_t>(HTTPStatusCode::Processing_102), "Processing_102" },
{ static_cast<uint32_t>(HTTPStatusCode::EarlyHints_103), "EarlyHints_103" },
{ static_cast<uint32_t>(HTTPStatusCode::OK_200), "OK_200" },
{ static_cast<uint32_t>(HTTPStatusCode::Created_201), "Created_201" },
{ static_cast<uint32_t>(HTTPStatusCode::Accepted_202), "Accepted_202" },
{ static_cast<uint32_t>(HTTPStatusCode::NonAuthoritativeInformation_203), "NonAuthoritativeInformation_203" },
{ static_cast<uint32_t>(HTTPStatusCode::NoContent_204), "NoContent_204" },
{ static_cast<uint32_t>(HTTPStatusCode::ResetContent_205), "ResetContent_205" },
{ static_cast<uint32_t>(HTTPStatusCode::PartialContent_206), "PartialContent_206" },
{ static_cast<uint32_t>(HTTPStatusCode::MultiStatus_207), "MultiStatus_207" },
{ static_cast<uint32_t>(HTTPStatusCode::AlreadyReported_208), "AlreadyReported_208" },
{ static_cast<uint32_t>(HTTPStatusCode::IMUsed_226), "IMUsed_226" },
{ static_cast<uint32_t>(HTTPStatusCode::MultipleChoices_300), "MultipleChoices_300" },
{ static_cast<uint32_t>(HTTPStatusCode::MovedPermanently_301), "MovedPermanently_301" },
{ static_cast<uint32_t>(HTTPStatusCode::Found_302), "Found_302" },
{ static_cast<uint32_t>(HTTPStatusCode::SeeOther_303), "SeeOther_303" },
{ static_cast<uint32_t>(HTTPStatusCode::NotModified_304), "NotModified_304" },
{ static_cast<uint32_t>(HTTPStatusCode::UseProxy_305), "UseProxy_305" },
{ static_cast<uint32_t>(HTTPStatusCode::unused_306), "unused_306" },
{ static_cast<uint32_t>(HTTPStatusCode::TemporaryRedirect_307), "TemporaryRedirect_307" },
{ static_cast<uint32_t>(HTTPStatusCode::PermanentRedirect_308), "PermanentRedirect_308" },
{ static_cast<uint32_t>(HTTPStatusCode::BadRequest_400), "BadRequest_400" },
{ static_cast<uint32_t>(HTTPStatusCode::Unauthorized_401), "Unauthorized_401" },
{ static_cast<uint32_t>(HTTPStatusCode::PaymentRequired_402), "PaymentRequired_402" },
{ static_cast<uint32_t>(HTTPStatusCode::Forbidden_403), "Forbidden_403" },
{ static_cast<uint32_t>(HTTPStatusCode::NotFound_404), "NotFound_404" },
{ static_cast<uint32_t>(HTTPStatusCode::MethodNotAllowed_405), "MethodNotAllowed_405" },
{ static_cast<uint32_t>(HTTPStatusCode::NotAcceptable_406), "NotAcceptable_406" },
{ static_cast<uint32_t>(HTTPStatusCode::ProxyAuthenticationRequired_407), "ProxyAuthenticationRequired_407" },
{ static_cast<uint32_t>(HTTPStatusCode::RequestTimeout_408), "RequestTimeout_408" },
{ static_cast<uint32_t>(HTTPStatusCode::Conflict_409), "Conflict_409" },
{ static_cast<uint32_t>(HTTPStatusCode::Gone_410), "Gone_410" },
{ static_cast<uint32_t>(HTTPStatusCode::LengthRequired_411), "LengthRequired_411" },
{ static_cast<uint32_t>(HTTPStatusCode::PreconditionFailed_412), "PreconditionFailed_412" },
{ static_cast<uint32_t>(HTTPStatusCode::PayloadTooLarge_413), "PayloadTooLarge_413" },
{ static_cast<uint32_t>(HTTPStatusCode::UriTooLong_414), "UriTooLong_414" },
{ static_cast<uint32_t>(HTTPStatusCode::UnsupportedMediaType_415), "UnsupportedMediaType_415" },
{ static_cast<uint32_t>(HTTPStatusCode::RangeNotSatisfiable_416), "RangeNotSatisfiable_416" },
{ static_cast<uint32_t>(HTTPStatusCode::ExpectationFailed_417), "ExpectationFailed_417" },
{ static_cast<uint32_t>(HTTPStatusCode::ImATeapot_418), "ImATeapot_418" },
{ static_cast<uint32_t>(HTTPStatusCode::MisdirectedRequest_421), "MisdirectedRequest_421" },
{ static_cast<uint32_t>(HTTPStatusCode::UnprocessableContent_422), "UnprocessableContent_422" },
{ static_cast<uint32_t>(HTTPStatusCode::Locked_423), "Locked_423" },
{ static_cast<uint32_t>(HTTPStatusCode::FailedDependency_424), "FailedDependency_424" },
{ static_cast<uint32_t>(HTTPStatusCode::TooEarly_425), "TooEarly_425" },
{ static_cast<uint32_t>(HTTPStatusCode::UpgradeRequired_426), "UpgradeRequired_426" },
{ static_cast<uint32_t>(HTTPStatusCode::PreconditionRequired_428), "PreconditionRequired_428" },
{ static_cast<uint32_t>(HTTPStatusCode::TooManyRequests_429), "TooManyRequests_429" },
{ static_cast<uint32_t>(HTTPStatusCode::RequestHeaderFieldsTooLarge_431), "RequestHeaderFieldsTooLarge_431" },
{ static_cast<uint32_t>(HTTPStatusCode::UnavailableForLegalReasons_451), "UnavailableForLegalReasons_451" },
{ static_cast<uint32_t>(HTTPStatusCode::InternalServerError_500), "InternalServerError_500" },
{ static_cast<uint32_t>(HTTPStatusCode::NotImplemented_501), "NotImplemented_501" },
{ static_cast<uint32_t>(HTTPStatusCode::BadGateway_502), "BadGateway_502" },
{ static_cast<uint32_t>(HTTPStatusCode::ServiceUnavailable_503), "ServiceUnavailable_503" },
{ static_cast<uint32_t>(HTTPStatusCode::GatewayTimeout_504), "GatewayTimeout_504" },
{ static_cast<uint32_t>(HTTPStatusCode::HttpVersionNotSupported_505), "HttpVersionNotSupported_505" },
{ static_cast<uint32_t>(HTTPStatusCode::VariantAlsoNegotiates_506), "VariantAlsoNegotiates_506" },
{ static_cast<uint32_t>(HTTPStatusCode::InsufficientStorage_507), "InsufficientStorage_507" },
{ static_cast<uint32_t>(HTTPStatusCode::LoopDetected_508), "LoopDetected_508" },
{ static_cast<uint32_t>(HTTPStatusCode::NotExtended_510), "NotExtended_510" },
{ static_cast<uint32_t>(HTTPStatusCode::NetworkAuthenticationRequired_511), "NetworkAuthenticationRequired_511" }
};
return values;
}

template<>
const char* EnumUtil::ToChars<HTTPStatusCode>(HTTPStatusCode value) {
return StringUtil::EnumToString(GetHTTPStatusCodeValues(), 64, "HTTPStatusCode", static_cast<uint32_t>(value));
}

template<>
HTTPStatusCode EnumUtil::FromString<HTTPStatusCode>(const char *value) {
return static_cast<HTTPStatusCode>(StringUtil::StringToEnum(GetHTTPStatusCodeValues(), 64, "HTTPStatusCode", value));
}

const StringUtil::EnumStringLiteral *GetIndexAppendModeValues() {
static constexpr StringUtil::EnumStringLiteral values[] {
{ static_cast<uint32_t>(IndexAppendMode::DEFAULT), "DEFAULT" },
Expand Down
29 changes: 0 additions & 29 deletions src/duckdb/src/common/http_util.cpp

This file was deleted.

4 changes: 4 additions & 0 deletions src/duckdb/src/common/sort/partition_state.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -581,6 +581,10 @@ class PartitionMergeTask : public ExecutorTask {

TaskExecutionResult ExecuteTask(TaskExecutionMode mode) override;

string TaskType() const override {
return "PartitionMergeTask";
}

private:
struct ExecutorCallback : public PartitionGlobalMergeStates::Callback {
explicit ExecutorCallback(Executor &executor) : executor(executor) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,10 @@ class HashAggregateFinalizeTask : public ExecutorTask {
public:
TaskExecutionResult ExecuteTask(TaskExecutionMode mode) override;

string TaskType() const override {
return "HashAggregateFinalizeTask";
}

private:
ClientContext &context;
Pipeline &pipeline;
Expand Down Expand Up @@ -547,6 +551,10 @@ class HashAggregateDistinctFinalizeTask : public ExecutorTask {
public:
TaskExecutionResult ExecuteTask(TaskExecutionMode mode) override;

string TaskType() const override {
return "HashAggregateDistinctFinalizeTask";
}

private:
TaskExecutionResult AggregateDistinctGrouping(const idx_t grouping_idx);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -445,6 +445,10 @@ class UngroupedDistinctAggregateFinalizeTask : public ExecutorTask {

TaskExecutionResult ExecuteTask(TaskExecutionMode mode) override;

string TaskType() const override {
return "UngroupedDistinctAggregateFinalizeTask";
}

private:
TaskExecutionResult AggregateDistinct();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -330,10 +330,10 @@ CSVError CSVError::CastError(const CSVReaderOptions &options, const string &colu
if (!options.WasTypeManuallySet(column_idx)) {
how_to_fix_it << "This type was auto-detected from the CSV file." << '\n';
how_to_fix_it << "Possible solutions:" << '\n';
how_to_fix_it << "* Override the type for this column manually by setting the type explicitly, e.g. types={'"
how_to_fix_it << "* Override the type for this column manually by setting the type explicitly, e.g., types={'"
<< column_name << "': 'VARCHAR'}" << '\n';
how_to_fix_it
<< "* Set the sample size to a larger value to enable the auto-detection to scan more values, e.g. "
<< "* Set the sample size to a larger value to enable the auto-detection to scan more values, e.g., "
"sample_size=-1"
<< '\n';
how_to_fix_it << "* Use a COPY statement to automatically derive types from an existing table." << '\n';
Expand Down
11 changes: 11 additions & 0 deletions src/duckdb/src/execution/operator/join/physical_hash_join.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -469,6 +469,10 @@ class HashJoinTableInitTask : public ExecutorTask {
return TaskExecutionResult::TASK_FINISHED;
}

string TaskType() const override {
return "HashJoinTableInitTask";
}

private:
HashJoinGlobalSinkState &sink;
idx_t entry_idx_from;
Expand Down Expand Up @@ -524,6 +528,9 @@ class HashJoinFinalizeTask : public ExecutorTask {
event->FinishTask();
return TaskExecutionResult::TASK_FINISHED;
}
string TaskType() const override {
return "HashJoinFinalizeTask";
}

private:
HashJoinGlobalSinkState &sink;
Expand Down Expand Up @@ -607,6 +614,10 @@ class HashJoinRepartitionTask : public ExecutorTask {
return TaskExecutionResult::TASK_FINISHED;
}

string TaskType() const override {
return "HashJoinRepartitionTask";
}

private:
JoinHashTable &global_ht;
JoinHashTable &local_ht;
Expand Down
Loading
Loading