duckdb 0.7.2-dev16.0 → 0.7.2-dev225.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/binding.gyp +2 -0
- package/package.json +1 -1
- package/src/duckdb/extension/icu/icu-extension.cpp +2 -0
- package/src/duckdb/extension/icu/icu-table-range.cpp +194 -0
- package/src/duckdb/extension/icu/include/icu-table-range.hpp +17 -0
- package/src/duckdb/extension/parquet/column_writer.cpp +0 -1
- package/src/duckdb/extension/parquet/parquet-extension.cpp +11 -2
- package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +4 -0
- package/src/duckdb/src/catalog/catalog_entry/scalar_function_catalog_entry.cpp +7 -6
- package/src/duckdb/src/catalog/catalog_entry/table_function_catalog_entry.cpp +20 -1
- package/src/duckdb/src/common/enums/statement_type.cpp +2 -0
- package/src/duckdb/src/common/types/bit.cpp +95 -58
- package/src/duckdb/src/common/types/value.cpp +149 -53
- package/src/duckdb/src/common/types/vector.cpp +13 -10
- package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +1 -1
- package/src/duckdb/src/function/aggregate/algebraic/avg.cpp +0 -6
- package/src/duckdb/src/function/aggregate/distributive/bitagg.cpp +99 -95
- package/src/duckdb/src/function/aggregate/distributive/bitstring_agg.cpp +261 -0
- package/src/duckdb/src/function/aggregate/distributive/sum.cpp +0 -3
- package/src/duckdb/src/function/aggregate/distributive_functions.cpp +1 -0
- package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +16 -5
- package/src/duckdb/src/function/cast/bit_cast.cpp +0 -2
- package/src/duckdb/src/function/cast/blob_cast.cpp +0 -1
- package/src/duckdb/src/function/scalar/bit/bitstring.cpp +99 -0
- package/src/duckdb/src/function/scalar/map/map_entries.cpp +61 -0
- package/src/duckdb/src/function/scalar/map/map_keys_values.cpp +97 -0
- package/src/duckdb/src/function/scalar/nested_functions.cpp +3 -0
- package/src/duckdb/src/function/scalar/operators/add.cpp +0 -9
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +2 -14
- package/src/duckdb/src/function/scalar/operators/bitwise.cpp +0 -63
- package/src/duckdb/src/function/scalar/operators/multiply.cpp +0 -6
- package/src/duckdb/src/function/scalar/operators/subtract.cpp +0 -6
- package/src/duckdb/src/function/scalar/string_functions.cpp +1 -0
- package/src/duckdb/src/function/table/read_csv.cpp +9 -0
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/function/table_function.cpp +19 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_function_catalog_entry.hpp +6 -8
- package/src/duckdb/src/include/duckdb/common/constants.hpp +0 -19
- package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/enums/tableref_type.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/types/bit.hpp +5 -1
- package/src/duckdb/src/include/duckdb/common/types/value.hpp +2 -8
- package/src/duckdb/src/include/duckdb/common/types.hpp +1 -2
- package/src/duckdb/src/include/duckdb/function/aggregate/distributive_functions.hpp +5 -0
- package/src/duckdb/src/include/duckdb/function/scalar/bit_functions.hpp +4 -0
- package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +12 -0
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +2 -0
- package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +2 -0
- package/src/duckdb/src/include/duckdb/main/config.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/database.hpp +1 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/common_table_expression_info.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +2 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/{alter_function_info.hpp → alter_scalar_function_info.hpp} +13 -13
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_function_info.hpp +47 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_function_info.hpp +2 -1
- package/src/duckdb/src/include/duckdb/parser/query_node.hpp +2 -1
- package/src/duckdb/src/include/duckdb/parser/statement/multi_statement.hpp +28 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +76 -0
- package/src/duckdb/src/include/duckdb/parser/tokens.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +28 -0
- package/src/duckdb/src/include/duckdb/planner/binder.hpp +8 -0
- package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +2 -0
- package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +76 -44
- package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +2 -0
- package/src/duckdb/src/include/duckdb/storage/statistics/node_statistics.hpp +26 -0
- package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +2 -0
- package/src/duckdb/src/include/duckdb.h +49 -1
- package/src/duckdb/src/include/duckdb.hpp +0 -1
- package/src/duckdb/src/main/capi/pending-c.cpp +16 -3
- package/src/duckdb/src/main/capi/result-c.cpp +27 -1
- package/src/duckdb/src/main/capi/stream-c.cpp +25 -0
- package/src/duckdb/src/main/client_context.cpp +8 -1
- package/src/duckdb/src/main/database.cpp +10 -2
- package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +98 -66
- package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +16 -3
- package/src/duckdb/src/parser/parsed_data/alter_info.cpp +7 -3
- package/src/duckdb/src/parser/parsed_data/alter_scalar_function_info.cpp +56 -0
- package/src/duckdb/src/parser/parsed_data/alter_table_function_info.cpp +51 -0
- package/src/duckdb/src/parser/parsed_data/create_scalar_function_info.cpp +3 -2
- package/src/duckdb/src/parser/parsed_data/create_table_function_info.cpp +6 -0
- package/src/duckdb/src/parser/parsed_expression_iterator.cpp +8 -0
- package/src/duckdb/src/parser/query_node.cpp +1 -1
- package/src/duckdb/src/parser/statement/multi_statement.cpp +18 -0
- package/src/duckdb/src/parser/tableref/pivotref.cpp +296 -0
- package/src/duckdb/src/parser/tableref.cpp +3 -0
- package/src/duckdb/src/parser/transform/helpers/transform_alias.cpp +12 -6
- package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +24 -0
- package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +4 -0
- package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +4 -0
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +150 -0
- package/src/duckdb/src/parser/transform/statement/transform_select.cpp +8 -0
- package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +1 -1
- package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +105 -0
- package/src/duckdb/src/parser/transform/tableref/transform_tableref.cpp +2 -0
- package/src/duckdb/src/parser/transformer.cpp +15 -3
- package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +11 -3
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_logical_plan.cpp +17 -0
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +365 -0
- package/src/duckdb/src/planner/binder.cpp +5 -0
- package/src/duckdb/src/planner/pragma_handler.cpp +10 -2
- package/src/duckdb/src/storage/buffer_manager.cpp +44 -46
- package/src/duckdb/src/storage/compression/bitpacking.cpp +25 -21
- package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +41 -43
- package/src/duckdb/src/storage/compression/rle.cpp +17 -13
- package/src/duckdb/src/storage/statistics/base_statistics.cpp +3 -3
- package/src/duckdb/src/storage/storage_info.cpp +1 -1
- package/src/duckdb/src/storage/table/column_data.cpp +5 -2
- package/src/duckdb/src/storage/table/list_column_data.cpp +32 -47
- package/src/duckdb/third_party/libpg_query/include/nodes/nodes.hpp +3 -0
- package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +34 -1
- package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +1016 -530
- package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +5 -0
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +22697 -21987
- package/src/duckdb/ub_src_function_aggregate_distributive.cpp +2 -0
- package/src/duckdb/ub_src_function_scalar_bit.cpp +2 -0
- package/src/duckdb/ub_src_function_scalar_map.cpp +4 -0
- package/src/duckdb/ub_src_main_capi.cpp +2 -0
- package/src/duckdb/ub_src_parser_parsed_data.cpp +4 -2
- package/src/duckdb/ub_src_parser_statement.cpp +2 -0
- package/src/duckdb/ub_src_parser_tableref.cpp +2 -0
- package/src/duckdb/ub_src_parser_transform_statement.cpp +2 -0
- package/src/duckdb/ub_src_parser_transform_tableref.cpp +2 -0
- package/src/duckdb/ub_src_planner_binder_tableref.cpp +2 -0
- package/src/duckdb/src/include/duckdb/main/loadable_extension.hpp +0 -59
- package/src/duckdb/src/parser/parsed_data/alter_function_info.cpp +0 -55
@@ -1,7 +1,9 @@
|
|
1
|
-
#include "src/parser/parsed_data/alter_function_info.cpp"
|
2
|
-
|
3
1
|
#include "src/parser/parsed_data/alter_info.cpp"
|
4
2
|
|
3
|
+
#include "src/parser/parsed_data/alter_scalar_function_info.cpp"
|
4
|
+
|
5
|
+
#include "src/parser/parsed_data/alter_table_function_info.cpp"
|
6
|
+
|
5
7
|
#include "src/parser/parsed_data/alter_table_info.cpp"
|
6
8
|
|
7
9
|
#include "src/parser/parsed_data/create_info.cpp"
|
@@ -50,6 +50,8 @@
|
|
50
50
|
|
51
51
|
#include "src/parser/transform/statement/transform_set.cpp"
|
52
52
|
|
53
|
+
#include "src/parser/transform/statement/transform_pivot_stmt.cpp"
|
54
|
+
|
53
55
|
#include "src/parser/transform/statement/transform_prepare.cpp"
|
54
56
|
|
55
57
|
#include "src/parser/transform/statement/transform_show.cpp"
|
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
#include "src/parser/transform/tableref/transform_from.cpp"
|
6
6
|
|
7
|
+
#include "src/parser/transform/tableref/transform_pivot.cpp"
|
8
|
+
|
7
9
|
#include "src/parser/transform/tableref/transform_subquery.cpp"
|
8
10
|
|
9
11
|
#include "src/parser/transform/tableref/transform_table_function.cpp"
|
@@ -1,59 +0,0 @@
|
|
1
|
-
//===----------------------------------------------------------------------===//
|
2
|
-
// DuckDB
|
3
|
-
//
|
4
|
-
// duckdb/main/loadable_extension.hpp
|
5
|
-
//
|
6
|
-
//
|
7
|
-
//===----------------------------------------------------------------------===//
|
8
|
-
|
9
|
-
#pragma once
|
10
|
-
|
11
|
-
#if defined(DUCKDB_BUILD_LOADABLE_EXTENSION) && defined(DUCKDB_EXTENSION_MAIN)
|
12
|
-
#if defined(_WIN32) || defined(_WIN64)
|
13
|
-
#ifndef NOMINMAX
|
14
|
-
#define NOMINMAX
|
15
|
-
#endif
|
16
|
-
|
17
|
-
#ifndef _WINSOCKAPI_
|
18
|
-
#define _WINSOCKAPI_
|
19
|
-
#endif
|
20
|
-
#include <windows.h>
|
21
|
-
|
22
|
-
#undef CreateDirectory
|
23
|
-
#undef MoveFile
|
24
|
-
#undef RemoveDirectory
|
25
|
-
|
26
|
-
#include <delayimp.h>
|
27
|
-
|
28
|
-
extern "C" {
|
29
|
-
/*
|
30
|
-
This is interesting: Windows would normally require a duckdb.dll being on the DLL search path when we load an extension
|
31
|
-
using LoadLibrary(). However, there is likely no such dll, because DuckDB was statically linked, or is running as part
|
32
|
-
of an R or Python module with a completely different name (that we don't know) or something of the sorts. Amazingly,
|
33
|
-
Windows supports lazy-loading DLLs by linking them with /DELAYLOAD. Then a callback will be triggered whenever we access
|
34
|
-
symbols in the extension. Since DuckDB is already running in the host process (hopefully), we can use
|
35
|
-
GetModuleHandle(NULL) to return the current process so the symbols are looked for there. See here for another
|
36
|
-
explanation of this crazy process:
|
37
|
-
|
38
|
-
* https://docs.microsoft.com/en-us/cpp/build/reference/linker-support-for-delay-loaded-dlls?view=msvc-160
|
39
|
-
* https://docs.microsoft.com/en-us/cpp/build/reference/understanding-the-helper-function?view=msvc-160
|
40
|
-
*/
|
41
|
-
FARPROC WINAPI duckdb_dllimport_delay_hook(unsigned dliNotify, PDelayLoadInfo pdli) {
|
42
|
-
switch (dliNotify) {
|
43
|
-
case dliNotePreLoadLibrary:
|
44
|
-
if (strcmp(pdli->szDll, "duckdb.dll") != 0) {
|
45
|
-
return NULL;
|
46
|
-
}
|
47
|
-
return (FARPROC)GetModuleHandle(NULL);
|
48
|
-
default:
|
49
|
-
return NULL;
|
50
|
-
}
|
51
|
-
|
52
|
-
return NULL;
|
53
|
-
}
|
54
|
-
|
55
|
-
ExternC const PfnDliHook __pfnDliNotifyHook2 = duckdb_dllimport_delay_hook;
|
56
|
-
ExternC const PfnDliHook __pfnDliFailureHook2 = duckdb_dllimport_delay_hook;
|
57
|
-
}
|
58
|
-
#endif
|
59
|
-
#endif
|
@@ -1,55 +0,0 @@
|
|
1
|
-
#include "duckdb/parser/parsed_data/alter_function_info.hpp"
|
2
|
-
|
3
|
-
#include "duckdb/common/field_writer.hpp"
|
4
|
-
#include "duckdb/parser/constraint.hpp"
|
5
|
-
|
6
|
-
namespace duckdb {
|
7
|
-
|
8
|
-
//===--------------------------------------------------------------------===//
|
9
|
-
// AlterFunctionInfo
|
10
|
-
//===--------------------------------------------------------------------===//
|
11
|
-
AlterFunctionInfo::AlterFunctionInfo(AlterFunctionType type, AlterEntryData data)
|
12
|
-
: AlterInfo(AlterType::ALTER_FUNCTION, std::move(data.catalog), std::move(data.schema), std::move(data.name),
|
13
|
-
data.if_exists),
|
14
|
-
alter_function_type(type) {
|
15
|
-
}
|
16
|
-
AlterFunctionInfo::~AlterFunctionInfo() {
|
17
|
-
}
|
18
|
-
|
19
|
-
CatalogType AlterFunctionInfo::GetCatalogType() const {
|
20
|
-
return CatalogType::SCALAR_FUNCTION_ENTRY;
|
21
|
-
}
|
22
|
-
|
23
|
-
void AlterFunctionInfo::Serialize(FieldWriter &writer) const {
|
24
|
-
writer.WriteField<AlterFunctionType>(alter_function_type);
|
25
|
-
writer.WriteString(catalog);
|
26
|
-
writer.WriteString(schema);
|
27
|
-
writer.WriteString(name);
|
28
|
-
writer.WriteField(if_exists);
|
29
|
-
}
|
30
|
-
|
31
|
-
unique_ptr<AlterInfo> AlterFunctionInfo::Deserialize(FieldReader &reader) {
|
32
|
-
// auto type = reader.ReadRequired<AlterFunctionType>();
|
33
|
-
// auto schema = reader.ReadRequired<string>();
|
34
|
-
// auto table = reader.ReadRequired<string>();
|
35
|
-
// auto if_exists = reader.ReadRequired<bool>();
|
36
|
-
|
37
|
-
throw NotImplementedException("AlterFunctionInfo cannot be deserialized");
|
38
|
-
}
|
39
|
-
|
40
|
-
//===--------------------------------------------------------------------===//
|
41
|
-
// AddFunctionOverloadInfo
|
42
|
-
//===--------------------------------------------------------------------===//
|
43
|
-
AddFunctionOverloadInfo::AddFunctionOverloadInfo(AlterEntryData data, ScalarFunctionSet new_overloads_p)
|
44
|
-
: AlterFunctionInfo(AlterFunctionType::ADD_FUNCTION_OVERLOADS, std::move(data)),
|
45
|
-
new_overloads(std::move(new_overloads_p)) {
|
46
|
-
this->allow_internal = true;
|
47
|
-
}
|
48
|
-
AddFunctionOverloadInfo::~AddFunctionOverloadInfo() {
|
49
|
-
}
|
50
|
-
|
51
|
-
unique_ptr<AlterInfo> AddFunctionOverloadInfo::Copy() const {
|
52
|
-
return make_unique_base<AlterInfo, AddFunctionOverloadInfo>(GetAlterEntryData(), new_overloads);
|
53
|
-
}
|
54
|
-
|
55
|
-
} // namespace duckdb
|