duckdb 0.6.2-dev2115.0 → 0.6.2-dev2226.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.
Files changed (85) hide show
  1. package/package.json +1 -1
  2. package/src/duckdb/extension/json/buffered_json_reader.cpp +18 -5
  3. package/src/duckdb/extension/json/include/buffered_json_reader.hpp +6 -1
  4. package/src/duckdb/extension/json/include/json_common.hpp +1 -0
  5. package/src/duckdb/extension/json/include/json_scan.hpp +7 -0
  6. package/src/duckdb/extension/json/include/json_transform.hpp +25 -10
  7. package/src/duckdb/extension/json/json_common.cpp +6 -2
  8. package/src/duckdb/extension/json/json_functions/json_structure.cpp +47 -9
  9. package/src/duckdb/extension/json/json_functions/json_transform.cpp +183 -106
  10. package/src/duckdb/extension/json/json_functions/read_json.cpp +35 -22
  11. package/src/duckdb/extension/json/json_scan.cpp +26 -5
  12. package/src/duckdb/extension/parquet/parquet-extension.cpp +1 -0
  13. package/src/duckdb/src/catalog/catalog.cpp +11 -12
  14. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +1 -1
  15. package/src/duckdb/src/common/box_renderer.cpp +9 -1
  16. package/src/duckdb/src/common/compressed_file_system.cpp +1 -1
  17. package/src/duckdb/src/common/enums/relation_type.cpp +2 -0
  18. package/src/duckdb/src/common/gzip_file_system.cpp +1 -1
  19. package/src/duckdb/src/common/local_file_system.cpp +1 -1
  20. package/src/duckdb/src/common/row_operations/row_aggregate.cpp +2 -2
  21. package/src/duckdb/src/common/types/column_data_allocator.cpp +2 -2
  22. package/src/duckdb/src/common/types/date.cpp +7 -2
  23. package/src/duckdb/src/common/types/vector.cpp +3 -2
  24. package/src/duckdb/src/common/virtual_file_system.cpp +1 -1
  25. package/src/duckdb/src/execution/index/art/art.cpp +5 -5
  26. package/src/duckdb/src/execution/join_hashtable.cpp +4 -5
  27. package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +2 -0
  28. package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +182 -123
  29. package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +22 -18
  30. package/src/duckdb/src/execution/physical_plan/plan_create_table.cpp +1 -1
  31. package/src/duckdb/src/function/aggregate/distributive/arg_min_max.cpp +2 -3
  32. package/src/duckdb/src/function/scalar/math/setseed.cpp +1 -1
  33. package/src/duckdb/src/function/scalar/string/substring.cpp +8 -0
  34. package/src/duckdb/src/function/table/read_csv.cpp +1 -1
  35. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  36. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +2 -0
  37. package/src/duckdb/src/include/duckdb/common/box_renderer.hpp +4 -0
  38. package/src/duckdb/src/include/duckdb/common/enums/relation_type.hpp +1 -0
  39. package/src/duckdb/src/include/duckdb/common/file_opener.hpp +2 -0
  40. package/src/duckdb/src/include/duckdb/common/http_stats.hpp +1 -1
  41. package/src/duckdb/src/include/duckdb/common/limits.hpp +3 -0
  42. package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +1 -9
  43. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +2 -2
  44. package/src/duckdb/src/include/duckdb/execution/executor.hpp +3 -0
  45. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +3 -3
  46. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_unnest.hpp +5 -1
  47. package/src/duckdb/src/include/duckdb/main/client_context.hpp +3 -0
  48. package/src/duckdb/src/include/duckdb/main/config.hpp +0 -4
  49. package/src/duckdb/src/include/duckdb/main/database.hpp +6 -0
  50. package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +5 -5
  51. package/src/duckdb/src/include/duckdb/main/relation/write_csv_relation.hpp +2 -1
  52. package/src/duckdb/src/include/duckdb/main/relation/write_parquet_relation.hpp +34 -0
  53. package/src/duckdb/src/include/duckdb/main/relation.hpp +6 -1
  54. package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +2 -1
  55. package/src/duckdb/src/include/duckdb/parser/statement/copy_statement.hpp +1 -1
  56. package/src/duckdb/src/include/duckdb/planner/binder.hpp +1 -1
  57. package/src/duckdb/src/include/duckdb/storage/index.hpp +4 -3
  58. package/src/duckdb/src/include/duckdb.h +7 -0
  59. package/src/duckdb/src/main/capi/threading-c.cpp +8 -0
  60. package/src/duckdb/src/main/client_context.cpp +7 -0
  61. package/src/duckdb/src/main/client_context_file_opener.cpp +14 -0
  62. package/src/duckdb/src/main/database.cpp +57 -40
  63. package/src/duckdb/src/main/extension/extension_load.cpp +20 -28
  64. package/src/duckdb/src/main/relation/write_csv_relation.cpp +4 -2
  65. package/src/duckdb/src/main/relation/write_parquet_relation.cpp +37 -0
  66. package/src/duckdb/src/main/relation.cpp +12 -2
  67. package/src/duckdb/src/parallel/executor.cpp +4 -0
  68. package/src/duckdb/src/parser/statement/copy_statement.cpp +1 -1
  69. package/src/duckdb/src/parser/transform/statement/transform_show.cpp +4 -3
  70. package/src/duckdb/src/planner/binder/expression/bind_cast_expression.cpp +1 -1
  71. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +24 -3
  72. package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +1 -1
  73. package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +2 -0
  74. package/src/duckdb/src/storage/compression/bitpacking.cpp +2 -1
  75. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +1 -1
  76. package/src/duckdb/src/storage/index.cpp +1 -1
  77. package/src/duckdb/src/storage/meta_block_writer.cpp +1 -1
  78. package/src/duckdb/src/storage/table/column_segment.cpp +3 -3
  79. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +1 -2
  80. package/src/duckdb/third_party/libpg_query/src_backend_parser_scan.cpp +539 -300
  81. package/src/duckdb/ub_src_main.cpp +0 -2
  82. package/src/duckdb/ub_src_main_relation.cpp +2 -0
  83. package/src/duckdb/src/include/duckdb/function/replacement_open.hpp +0 -54
  84. package/src/duckdb/src/include/duckdb/main/replacement_opens.hpp +0 -20
  85. package/src/duckdb/src/main/extension_prefix_opener.cpp +0 -55
@@ -34,8 +34,6 @@
34
34
 
35
35
  #include "src/main/relation.cpp"
36
36
 
37
- #include "src/main/extension_prefix_opener.cpp"
38
-
39
37
  #include "src/main/query_profiler.cpp"
40
38
 
41
39
  #include "src/main/query_result.cpp"
@@ -42,5 +42,7 @@
42
42
 
43
43
  #include "src/main/relation/view_relation.cpp"
44
44
 
45
+ #include "src/main/relation/write_parquet_relation.cpp"
46
+
45
47
  #include "src/main/relation/write_csv_relation.cpp"
46
48
 
@@ -1,54 +0,0 @@
1
- //===----------------------------------------------------------------------===//
2
- // DuckDB
3
- //
4
- // duckdb/function/replacement_scan.hpp
5
- //
6
- //
7
- //===----------------------------------------------------------------------===//
8
-
9
- #pragma once
10
-
11
- #include "duckdb/common/common.hpp"
12
- #include "duckdb/storage/storage_extension.hpp"
13
-
14
- namespace duckdb {
15
-
16
- class DatabaseInstance;
17
- class StorageExtension;
18
- struct DBConfig;
19
-
20
- struct ReplacementOpenData {
21
- virtual ~ReplacementOpenData() {
22
- }
23
-
24
- virtual bool HasStorageExtension() {
25
- return false;
26
- }
27
- virtual unique_ptr<StorageExtension> GetStorageExtension(AttachInfo &info) {
28
- return nullptr;
29
- }
30
- };
31
-
32
- struct ReplacementOpenStaticData {
33
- virtual ~ReplacementOpenStaticData() {
34
- }
35
- };
36
-
37
- typedef unique_ptr<ReplacementOpenData> (*replacement_open_pre_t)(DBConfig &config,
38
- ReplacementOpenStaticData *static_data);
39
- typedef void (*replacement_open_post_t)(DatabaseInstance &instance, ReplacementOpenData *open_data);
40
-
41
- struct ReplacementOpen {
42
- explicit ReplacementOpen(replacement_open_pre_t pre_func, replacement_open_post_t post_func)
43
- : pre_func(pre_func), post_func(post_func), data(nullptr) {
44
- }
45
-
46
- replacement_open_pre_t pre_func;
47
- replacement_open_post_t post_func;
48
-
49
- unique_ptr<ReplacementOpenData> data;
50
-
51
- shared_ptr<ReplacementOpenStaticData> static_data;
52
- };
53
-
54
- } // namespace duckdb
@@ -1,20 +0,0 @@
1
- //===----------------------------------------------------------------------===//
2
- // DuckDB
3
- //
4
- // duckdb/main/extension_helper.hpp
5
- //
6
- //
7
- //===----------------------------------------------------------------------===//
8
-
9
- #pragma once
10
-
11
- #include "duckdb/function/replacement_open.hpp"
12
-
13
- namespace duckdb {
14
-
15
- class ExtensionPrefixReplacementOpen : public ReplacementOpen {
16
- public:
17
- ExtensionPrefixReplacementOpen();
18
- };
19
-
20
- } // namespace duckdb
@@ -1,55 +0,0 @@
1
- #include "duckdb/main/replacement_opens.hpp"
2
- #include "duckdb.hpp"
3
- #include "duckdb/common/virtual_file_system.hpp"
4
- #include "duckdb/main/extension_helper.hpp"
5
-
6
- namespace duckdb {
7
-
8
- struct ExtensionPrefixOpenData : public ReplacementOpenData {
9
- ExtensionPrefixOpenData(string extension, string path, unique_ptr<ReplacementOpenData> data)
10
- : extension(std::move(extension)), path(std::move(path)), data(std::move(data)) {
11
- }
12
- string extension;
13
- string path;
14
- unique_ptr<ReplacementOpenData> data;
15
-
16
- bool HasStorageExtension() override {
17
- return data->HasStorageExtension();
18
- }
19
- unique_ptr<StorageExtension> GetStorageExtension(AttachInfo &info) override {
20
- return data->GetStorageExtension(info);
21
- }
22
- };
23
-
24
- static unique_ptr<ReplacementOpenData> ExtensionPrefixPreOpen(DBConfig &config, ReplacementOpenStaticData *) {
25
- auto path = config.options.database_path;
26
- string extension = ExtensionHelper::ExtractExtensionPrefixFromPath(path);
27
- if (extension.empty()) {
28
- return nullptr;
29
- }
30
- auto extension_data = ExtensionHelper::ReplacementOpenPre(extension, config);
31
- if (extension_data) {
32
- config.options.database_path = StringUtil::Replace(config.options.database_path, extension + ":", "");
33
- return make_unique<ExtensionPrefixOpenData>(extension, path, std::move(extension_data));
34
- }
35
- return nullptr;
36
- }
37
-
38
- static void ExtensionPrefixPostOpen(DatabaseInstance &instance, ReplacementOpenData *open_data) {
39
- if (!open_data) {
40
- return;
41
- }
42
- D_ASSERT(open_data);
43
- auto prefix_open_data = (ExtensionPrefixOpenData *)open_data;
44
-
45
- Connection con(instance);
46
- ExtensionHelper::LoadExternalExtension(*con.context, prefix_open_data->extension);
47
- ExtensionHelper::ReplacementOpenPost(*con.context, prefix_open_data->extension, instance,
48
- prefix_open_data->data.get());
49
- }
50
-
51
- ExtensionPrefixReplacementOpen::ExtensionPrefixReplacementOpen()
52
- : ReplacementOpen(ExtensionPrefixPreOpen, ExtensionPrefixPostOpen) {
53
- }
54
-
55
- } // namespace duckdb