Skip to content

Commit

Permalink
chore: Update vendored sources to duckdb/duckdb@5835084
Browse files Browse the repository at this point in the history
Merge pull request duckdb/duckdb#10650 from hannes/noprintf
Merge pull request duckdb/duckdb#10658 from hannes/csvpathlength
Merge pull request duckdb/duckdb#10612 from samansmink/delay-secret-storage-directory-initialization
Merge pull request duckdb/duckdb#10611 from Mytherin/currenttimealias
Merge pull request duckdb/duckdb#10616 from hannes/jdbctestchanged
Merge pull request duckdb/duckdb#10607 from carlopi/secret_folder
Merge pull request duckdb/duckdb#10603 from carlopi/extensions_patches
Merge pull request duckdb/duckdb#10606 from Mytherin/duckdbmemoryinit
Merge pull request duckdb/duckdb#10604 from Mytherin/aggregatelimit
Merge pull request duckdb/duckdb#10592 from carlopi/error_message_lock
Merge pull request duckdb/duckdb#10600 from samansmink/secret-manager-fixes-2
Merge pull request duckdb/duckdb#10589 from pdet/csv_result_buffer_hold
Merge pull request duckdb/duckdb#10605 from Tishj/julia_remove_dataframe
Merge pull request duckdb/duckdb#10596 from pdet/null_padding_projection_finalize
Merge pull request duckdb/duckdb#10590 from Tmonster/investigate-cardinality-estimates-parquet
Merge pull request duckdb/duckdb#10598 from szarnyasg/add-support-options
Merge pull request duckdb/duckdb#10579 from Tishj/unittest_require_flag
Merge pull request duckdb/duckdb#10202 from Tishj/sorted_aggregate_function_small_vector_size
Merge pull request duckdb/duckdb#10553 from Tmonster/fuzzer_column_binding_issues
Merge pull request duckdb/duckdb#10513 from Maxxen/array-tupledata-fix
Merge pull request duckdb/duckdb#10584 from Mause/datetime-delta
Merge pull request duckdb/duckdb#10582 from carlopi/fix_extension_distribution
Merge pull request duckdb/duckdb#10580 from Maxxen/bump-spatial
Merge pull request duckdb/duckdb#10532 from Tishj/deduplicate_columns
Merge pull request duckdb/duckdb#10573 from carlopi/fixthreads
Merge pull request duckdb/duckdb#10572 from carlopi/noexit
Merge pull request duckdb/duckdb#10571 from Tishj/time_cast_heap_overflow
Merge pull request duckdb/duckdb#10569 from Tishj/fix_export_of_types
Merge pull request duckdb/duckdb#10568 from Tishj/pytest_does_not_throw_httpexception
Merge pull request duckdb/duckdb#10567 from Tishj/require_no_alternative_verify
Merge pull request duckdb/duckdb#10565 from Tishj/arrow_support_time_tz
Merge pull request duckdb/duckdb#10563 from Tishj/python_exception_bug
Merge pull request duckdb/duckdb#10559 from Mytherin/issue10528
Merge pull request duckdb/duckdb#10548 from ywelsch/yw/duckdb-only-server-threads
Merge pull request duckdb/duckdb#10564 from carlopi/fix01init
Merge pull request duckdb/duckdb#10560 from carlopi/rowsorts
Merge pull request duckdb/duckdb#10558 from pdet/bug_9952
Merge pull request duckdb/duckdb#10555 from carlopi/refactorcommit
Merge pull request duckdb/duckdb#10557 from pdet/reset-quoted-proj
Merge pull request duckdb/duckdb#10504 from Mytherin/queryid
Merge pull request duckdb/duckdb#10487 from felipecrv/upper_bound
Merge pull request duckdb/duckdb#10552 from pdet/fix_glob_partition_test
Merge pull request duckdb/duckdb#10551 from pdet/segfault-fix
Merge pull request duckdb/duckdb#10554 from Mytherin/benchmarkerrors
Merge pull request duckdb/duckdb#10485 from Tmonster/list_zip_no_args
Merge pull request duckdb/duckdb#10536 from motherduckdb/flo/add-order-to-tests
Merge pull request duckdb/duckdb#10549 from lnkuiper/radix_ht_reservation
Merge pull request duckdb/duckdb#10525 from Tishj/parallel_checkpoint_error_race
Merge pull request duckdb/duckdb#10541 from Mytherin/arrayextractunnamedstruct
Merge pull request duckdb/duckdb#10538 from Maxxen/copy-file-path-fix
Merge pull request duckdb/duckdb#10544 from hawkfish/tz2024a
Merge pull request duckdb/duckdb#10542 from carlopi/fixes
Merge pull request duckdb/duckdb#10408 from Mause/feature/jdbc-set-date
Merge pull request duckdb/duckdb#10531 from ywelsch/yw/client-context-in-attach
Merge pull request duckdb/duckdb#10537 from Mytherin/structcastoutoforder
Merge pull request duckdb/duckdb#10534 from Mytherin/applypatchesfix
Merge pull request duckdb/duckdb#10488 from Tishj/python_editable_build
Merge pull request duckdb/duckdb#10527 from Mytherin/linenoiseenterbehavior
Merge pull request duckdb/duckdb#10530 from pdet/bug_null_csv_ignore
Merge pull request duckdb/duckdb#10533 from Tishj/python_fixes_2024_2_8
Merge pull request duckdb/duckdb#10526 from lnkuiper/null_to_json_cast
Merge pull request duckdb/duckdb#10529 from philippmd/philippmd/errno-ioexception
Merge pull request duckdb/duckdb#10503 from lnkuiper/temporary_memory_manager_tweaks
Merge pull request duckdb/duckdb#10500 from Mytherin/issue910
Merge pull request duckdb/duckdb#10357 from kryonix/main
Merge pull request duckdb/duckdb#10521 from Mause/patch-4
Merge pull request duckdb/duckdb#10518 from motherduckdb/secrets-changes
Merge pull request duckdb/duckdb#10514 from Mytherin/exceptionstacktrace
Merge pull request duckdb/duckdb#10512 from Tishj/executor_race_condition
Merge pull request duckdb/duckdb#10510 from Tishj/gcc_is_stupid
Merge pull request duckdb/duckdb#10509 from pdet/csv_big_data
Merge pull request duckdb/duckdb#10505 from Mytherin/issue10363
Merge pull request duckdb/duckdb#10507 from carlopi/bundle-libraries
Merge pull request duckdb/duckdb#10459 from Maxxen/copy-tmp-ext
Merge pull request duckdb/duckdb#10483 from Maxxen/array-bugfix
Merge pull request duckdb/duckdb#10502 from Mytherin/autocompletefix
Merge pull request duckdb/duckdb#10499 from Mytherin/issue1164
Merge pull request duckdb/duckdb#10498 from Mytherin/disablecompletionrendering
Merge pull request duckdb/duckdb#10496 from Mytherin/memorymanagement
Merge pull request duckdb/duckdb#10492 from SChakravorti21/fix-empty-normalized-version
Merge pull request duckdb/duckdb#10484 from Flogex/extension-build-script
Merge pull request duckdb/duckdb#10493 from Mytherin/altcommands
Merge pull request duckdb/duckdb#10475 from rdavis120/main
Merge pull request duckdb/duckdb#10480 from Mytherin/autocompletedisplay
Merge pull request duckdb/duckdb#10473 from pdet/bug_10283
Merge pull request duckdb/duckdb#10479 from hannes/windowsarm
Merge pull request duckdb/duckdb#10471 from Maxxen/custom-index-fork
Merge pull request duckdb/duckdb#10474 from Mytherin/gzipfs
Merge pull request duckdb/duckdb#10472 from pdet/bug_10273
Merge pull request duckdb/duckdb#10470 from Mytherin/clearcontinuationmarkers
Merge pull request duckdb/duckdb#10467 from carlopi/fixes
Merge pull request duckdb/duckdb#10465 from pdet/type_misdetection
Merge pull request duckdb/duckdb#10462 from pdet/double_quoted_header
Merge pull request duckdb/duckdb#10461 from Mytherin/linenoisecleanup
Merge pull request duckdb/duckdb#10464 from Tishj/improve_julia_dev_readme
Merge pull request duckdb/duckdb#10245 from Tishj/parallel_streaming_query_result
  • Loading branch information
krlmlr committed Feb 24, 2024
1 parent 6c32daf commit e12abd2
Show file tree
Hide file tree
Showing 211 changed files with 3,242 additions and 1,993 deletions.
2 changes: 1 addition & 1 deletion src/Makevars.win
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ include Makevars.duckdb
CXX_STD = CXX17
PKG_CPPFLAGS = -Iinclude -I../inst/include -DDUCKDB_DISABLE_PRINT -DDUCKDB_R_BUILD -Iduckdb/src/include -Iduckdb/third_party/fmt/include -Iduckdb/third_party/fsst -Iduckdb/third_party/re2 -Iduckdb/third_party/miniz -Iduckdb/third_party/utf8proc/include -Iduckdb/third_party/utf8proc -Iduckdb/third_party/hyperloglog -Iduckdb/third_party/skiplist -Iduckdb/third_party/fastpforlib -Iduckdb/third_party/tdigest -Iduckdb/third_party/libpg_query/include -Iduckdb/third_party/libpg_query -Iduckdb/third_party/concurrentqueue -Iduckdb/third_party/pcg -Iduckdb/third_party/httplib -Iduckdb/third_party/fast_float -Iduckdb/third_party/mbedtls -Iduckdb/third_party/mbedtls/include -Iduckdb/third_party/mbedtls/library -Iduckdb/third_party/jaro_winkler -Iduckdb/third_party/jaro_winkler/details -Iduckdb/extension/parquet/include -Iduckdb/third_party/parquet -Iduckdb/third_party/thrift -Iduckdb/third_party/snappy -Iduckdb/third_party/zstd/include -Iduckdb/third_party/mbedtls -Iduckdb/third_party/mbedtls/include -I../inst/include -Iduckdb -DDUCKDB_EXTENSION_PARQUET_LINKED -DDUCKDB_BUILD_LIBRARY -DDUCKDB_PLATFORM_RTOOLS=1
OBJECTS=database.o connection.o statement.o register.o relational.o scan.o transform.o utils.o reltoaltrep.o types.o cpp11.o $(SOURCES)
PKG_LIBS=-lws2_32 -lrstrtmgr
PKG_LIBS=-lws2_32
5 changes: 4 additions & 1 deletion src/duckdb/extension/parquet/parquet_extension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -628,7 +628,10 @@ class ParquetScanFunction {

static idx_t ParquetScanMaxThreads(ClientContext &context, const FunctionData *bind_data) {
auto &data = bind_data->Cast<ParquetReadBindData>();
return std::max(data.initial_file_row_groups, idx_t(1)) * data.files.size();
if (data.files.size() > 1) {
return TaskScheduler::GetScheduler(context).NumberOfThreads();
}
return MaxValue(data.initial_file_row_groups, (idx_t)1);
}

// This function looks for the next available row group. If not available, it will open files from bind_data.files
Expand Down
22 changes: 14 additions & 8 deletions src/duckdb/src/catalog/catalog_entry/type_catalog_entry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,20 @@ unique_ptr<CreateInfo> TypeCatalogEntry::GetInfo() const {
}

string TypeCatalogEntry::ToSQL() const {
switch (user_type.id()) {
case (LogicalTypeId::ENUM): {
auto create_type_info = GetInfo();
return create_type_info->ToString();
}
default:
throw InternalException("Logical Type can't be used as a User Defined Type");
}
std::stringstream ss;
ss << "CREATE TYPE ";
ss << KeywordHelper::WriteOptionallyQuoted(name);
ss << " AS ";

auto user_type_copy = user_type;

// Strip off the potential alias so ToString doesn't just output the alias
user_type_copy.SetAlias("");
D_ASSERT(user_type_copy.GetAlias().empty());

ss << user_type_copy.ToString();
ss << ";";
return ss.str();
}

} // namespace duckdb
2 changes: 2 additions & 0 deletions src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ void ViewCatalogEntry::Initialize(CreateViewInfo &info) {
query = std::move(info.query);
this->aliases = info.aliases;
this->types = info.types;
this->names = info.names;
this->temporary = info.temporary;
this->sql = info.sql;
this->internal = info.internal;
Expand All @@ -32,6 +33,7 @@ unique_ptr<CreateInfo> ViewCatalogEntry::GetInfo() const {
result->sql = sql;
result->query = unique_ptr_cast<SQLStatement, SelectStatement>(query->Copy());
result->aliases = aliases;
result->names = names;
result->types = types;
result->temporary = temporary;
result->comment = comment;
Expand Down
19 changes: 15 additions & 4 deletions src/duckdb/src/common/arrow/arrow_wrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,10 +66,16 @@ int ResultArrowArrayStreamWrapper::MyStreamGetSchema(struct ArrowArrayStream *st
if (!stream->release) {
return -1;
}
out->release = nullptr;
auto my_stream = reinterpret_cast<ResultArrowArrayStreamWrapper *>(stream->private_data);
if (!my_stream->column_types.empty()) {
ArrowConverter::ToArrowSchema(out, my_stream->column_types, my_stream->column_names,
my_stream->result->client_properties);
try {
ArrowConverter::ToArrowSchema(out, my_stream->column_types, my_stream->column_names,
my_stream->result->client_properties);
} catch (std::runtime_error &e) {
my_stream->last_error = ErrorData(e);
return -1;
}
return 0;
}

Expand All @@ -89,8 +95,13 @@ int ResultArrowArrayStreamWrapper::MyStreamGetSchema(struct ArrowArrayStream *st
my_stream->column_types = result.types;
my_stream->column_names = result.names;
}
ArrowConverter::ToArrowSchema(out, my_stream->column_types, my_stream->column_names,
my_stream->result->client_properties);
try {
ArrowConverter::ToArrowSchema(out, my_stream->column_types, my_stream->column_names,
my_stream->result->client_properties);
} catch (std::runtime_error &e) {
my_stream->last_error = ErrorData(e);
return -1;
}
return 0;
}

Expand Down
108 changes: 79 additions & 29 deletions src/duckdb/src/common/enum_util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include "duckdb/common/enums/join_type.hpp"
#include "duckdb/common/enums/joinref_type.hpp"
#include "duckdb/common/enums/logical_operator_type.hpp"
#include "duckdb/common/enums/memory_tag.hpp"
#include "duckdb/common/enums/on_create_conflict.hpp"
#include "duckdb/common/enums/on_entry_not_found.hpp"
#include "duckdb/common/enums/operator_result_type.hpp"
Expand Down Expand Up @@ -62,7 +63,6 @@
#include "duckdb/common/types/conflict_manager.hpp"
#include "duckdb/common/types/hyperloglog.hpp"
#include "duckdb/common/types/row/partitioned_tuple_data.hpp"
#include "duckdb/common/types/row/tuple_data_collection.hpp"
#include "duckdb/common/types/row/tuple_data_states.hpp"
#include "duckdb/common/types/timestamp.hpp"
#include "duckdb/common/types/vector.hpp"
Expand Down Expand Up @@ -3483,6 +3483,79 @@ MapInvalidReason EnumUtil::FromString<MapInvalidReason>(const char *value) {
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
}

template<>
const char* EnumUtil::ToChars<MemoryTag>(MemoryTag value) {
switch(value) {
case MemoryTag::BASE_TABLE:
return "BASE_TABLE";
case MemoryTag::HASH_TABLE:
return "HASH_TABLE";
case MemoryTag::PARQUET_READER:
return "PARQUET_READER";
case MemoryTag::CSV_READER:
return "CSV_READER";
case MemoryTag::ORDER_BY:
return "ORDER_BY";
case MemoryTag::ART_INDEX:
return "ART_INDEX";
case MemoryTag::COLUMN_DATA:
return "COLUMN_DATA";
case MemoryTag::METADATA:
return "METADATA";
case MemoryTag::OVERFLOW_STRINGS:
return "OVERFLOW_STRINGS";
case MemoryTag::IN_MEMORY_TABLE:
return "IN_MEMORY_TABLE";
case MemoryTag::ALLOCATOR:
return "ALLOCATOR";
case MemoryTag::EXTENSION:
return "EXTENSION";
default:
throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
}
}

template<>
MemoryTag EnumUtil::FromString<MemoryTag>(const char *value) {
if (StringUtil::Equals(value, "BASE_TABLE")) {
return MemoryTag::BASE_TABLE;
}
if (StringUtil::Equals(value, "HASH_TABLE")) {
return MemoryTag::HASH_TABLE;
}
if (StringUtil::Equals(value, "PARQUET_READER")) {
return MemoryTag::PARQUET_READER;
}
if (StringUtil::Equals(value, "CSV_READER")) {
return MemoryTag::CSV_READER;
}
if (StringUtil::Equals(value, "ORDER_BY")) {
return MemoryTag::ORDER_BY;
}
if (StringUtil::Equals(value, "ART_INDEX")) {
return MemoryTag::ART_INDEX;
}
if (StringUtil::Equals(value, "COLUMN_DATA")) {
return MemoryTag::COLUMN_DATA;
}
if (StringUtil::Equals(value, "METADATA")) {
return MemoryTag::METADATA;
}
if (StringUtil::Equals(value, "OVERFLOW_STRINGS")) {
return MemoryTag::OVERFLOW_STRINGS;
}
if (StringUtil::Equals(value, "IN_MEMORY_TABLE")) {
return MemoryTag::IN_MEMORY_TABLE;
}
if (StringUtil::Equals(value, "ALLOCATOR")) {
return MemoryTag::ALLOCATOR;
}
if (StringUtil::Equals(value, "EXTENSION")) {
return MemoryTag::EXTENSION;
}
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
}

template<>
const char* EnumUtil::ToChars<NType>(NType value) {
switch(value) {
Expand Down Expand Up @@ -4138,6 +4211,8 @@ const char* EnumUtil::ToChars<PendingExecutionResult>(PendingExecutionResult val
return "RESULT_NOT_READY";
case PendingExecutionResult::EXECUTION_ERROR:
return "EXECUTION_ERROR";
case PendingExecutionResult::BLOCKED:
return "BLOCKED";
case PendingExecutionResult::NO_TASKS_AVAILABLE:
return "NO_TASKS_AVAILABLE";
default:
Expand All @@ -4156,6 +4231,9 @@ PendingExecutionResult EnumUtil::FromString<PendingExecutionResult>(const char *
if (StringUtil::Equals(value, "EXECUTION_ERROR")) {
return PendingExecutionResult::EXECUTION_ERROR;
}
if (StringUtil::Equals(value, "BLOCKED")) {
return PendingExecutionResult::BLOCKED;
}
if (StringUtil::Equals(value, "NO_TASKS_AVAILABLE")) {
return PendingExecutionResult::NO_TASKS_AVAILABLE;
}
Expand Down Expand Up @@ -6863,33 +6941,5 @@ WindowExcludeMode EnumUtil::FromString<WindowExcludeMode>(const char *value) {
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
}

template<>
const char* EnumUtil::ToChars<WithinCollection>(WithinCollection value) {
switch(value) {
case WithinCollection::NO:
return "NO";
case WithinCollection::LIST:
return "LIST";
case WithinCollection::ARRAY:
return "ARRAY";
default:
throw NotImplementedException(StringUtil::Format("Enum value: '%d' not implemented", value));
}
}

template<>
WithinCollection EnumUtil::FromString<WithinCollection>(const char *value) {
if (StringUtil::Equals(value, "NO")) {
return WithinCollection::NO;
}
if (StringUtil::Equals(value, "LIST")) {
return WithinCollection::LIST;
}
if (StringUtil::Equals(value, "ARRAY")) {
return WithinCollection::ARRAY;
}
throw NotImplementedException(StringUtil::Format("Enum value: '%s' not implemented", value));
}

}

10 changes: 10 additions & 0 deletions src/duckdb/src/common/exception.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,13 @@ string Exception::ToJSON(ExceptionType type, const string &message) {
}

string Exception::ToJSON(ExceptionType type, const string &message, const unordered_map<string, string> &extra_info) {
#ifdef DUCKDB_DEBUG_STACKTRACE
auto extended_extra_info = extra_info;
extended_extra_info["stack_trace"] = Exception::GetStackTrace();
return StringUtil::ToJSONMap(type, message, extended_extra_info);
#else
return StringUtil::ToJSONMap(type, message, extra_info);
#endif
}

bool Exception::UncaughtException() {
Expand Down Expand Up @@ -301,6 +307,10 @@ DependencyException::DependencyException(const string &msg) : Exception(Exceptio
IOException::IOException(const string &msg) : Exception(ExceptionType::IO, msg) {
}

IOException::IOException(const string &msg, const unordered_map<string, string> &extra_info)
: Exception(ExceptionType::IO, msg, extra_info) {
}

MissingExtensionException::MissingExtensionException(const string &msg)
: Exception(ExceptionType::MISSING_EXTENSION, msg) {
}
Expand Down
2 changes: 1 addition & 1 deletion src/duckdb/src/common/file_system.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ string FileSystem::GetWorkingDirectory() {

string FileSystem::JoinPath(const string &a, const string &b) {
// FIXME: sanitize paths
return a + PathSeparator(a) + b;
return a.empty() ? b : a + PathSeparator(a) + b;
}

string FileSystem::ConvertSeparators(const string &path) {
Expand Down
Loading

0 comments on commit e12abd2

Please sign in to comment.