duckdb 0.8.2-dev2044.0 → 0.8.2-dev2090.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 (31) hide show
  1. package/binding.gyp +1 -0
  2. package/configure.py +7 -2
  3. package/package.json +1 -1
  4. package/src/duckdb/src/common/adbc/adbc.cpp +18 -4
  5. package/src/duckdb/src/common/arrow/appender/bool_data.cpp +44 -0
  6. package/src/duckdb/src/common/arrow/appender/list_data.cpp +78 -0
  7. package/src/duckdb/src/common/arrow/appender/map_data.cpp +86 -0
  8. package/src/duckdb/src/common/arrow/appender/struct_data.cpp +45 -0
  9. package/src/duckdb/src/common/arrow/appender/union_data.cpp +70 -0
  10. package/src/duckdb/src/common/arrow/arrow_appender.cpp +89 -727
  11. package/src/duckdb/src/common/arrow/arrow_wrapper.cpp +2 -1
  12. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  13. package/src/duckdb/src/include/duckdb/common/arrow/appender/append_data.hpp +109 -0
  14. package/src/duckdb/src/include/duckdb/common/arrow/appender/bool_data.hpp +15 -0
  15. package/src/duckdb/src/include/duckdb/common/arrow/appender/enum_data.hpp +69 -0
  16. package/src/duckdb/src/include/duckdb/common/arrow/appender/list.hpp +8 -0
  17. package/src/duckdb/src/include/duckdb/common/arrow/appender/list_data.hpp +18 -0
  18. package/src/duckdb/src/include/duckdb/common/arrow/appender/map_data.hpp +18 -0
  19. package/src/duckdb/src/include/duckdb/common/arrow/appender/scalar_data.hpp +88 -0
  20. package/src/duckdb/src/include/duckdb/common/arrow/appender/struct_data.hpp +18 -0
  21. package/src/duckdb/src/include/duckdb/common/arrow/appender/union_data.hpp +21 -0
  22. package/src/duckdb/src/include/duckdb/common/arrow/appender/varchar_data.hpp +105 -0
  23. package/src/duckdb/src/include/duckdb/common/arrow/arrow_appender.hpp +5 -0
  24. package/src/duckdb/src/include/duckdb/common/assert.hpp +1 -1
  25. package/src/duckdb/src/include/duckdb/core_functions/scalar/math_functions.hpp +3 -3
  26. package/src/duckdb/src/parallel/executor.cpp +1 -1
  27. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +1 -4
  28. package/src/duckdb/third_party/concurrentqueue/lightweightsemaphore.h +3 -76
  29. package/src/duckdb/third_party/libpg_query/pg_functions.cpp +13 -0
  30. package/src/duckdb/third_party/libpg_query/src_backend_parser_scansup.cpp +9 -0
  31. package/src/duckdb/ub_src_common_arrow_appender.cpp +10 -0
@@ -8,6 +8,9 @@
8
8
  #include <mutex>
9
9
  #include <cstring>
10
10
 
11
+ #ifdef __MVS__
12
+ #include <zos-tls.h>
13
+ #endif
11
14
 
12
15
  // max parse tree size approx 100 MB, should be enough
13
16
  #define PG_MALLOC_SIZE 10240
@@ -26,7 +29,17 @@ struct pg_parser_state_str {
26
29
  size_t malloc_ptr_size;
27
30
  };
28
31
 
32
+ #ifdef __MVS__
33
+ // --------------------------------------------------------
34
+ // Permanent - WIP
35
+ // static __tlssim<parser_state> pg_parser_state_impl();
36
+ // #define pg_parser_state (*pg_parser_state_impl.access())
37
+ // --------------------------------------------------------
38
+ // Temporary
39
+ static parser_state pg_parser_state;
40
+ #else
29
41
  static __thread parser_state pg_parser_state;
42
+ #endif
30
43
 
31
44
  #ifndef __GNUC__
32
45
  __thread PGNode *duckdb_newNodeMacroHolder;
@@ -30,6 +30,10 @@
30
30
  #include "parser/scansup.hpp"
31
31
  #include "mb/pg_wchar.hpp"
32
32
 
33
+ #ifdef __MVS__
34
+ #include <zos-tls.h>
35
+ #endif
36
+
33
37
  namespace duckdb_libpgquery {
34
38
 
35
39
  /* ----------------
@@ -60,7 +64,12 @@ char *downcase_truncate_identifier(const char *ident, int len, bool warn) {
60
64
  return downcase_identifier(ident, len, warn, true);
61
65
  }
62
66
 
67
+ #ifdef __MVS__
68
+ static __tlssim<bool> pg_preserve_identifier_case_impl(false);
69
+ #define pg_preserve_identifier_case (*pg_preserve_identifier_case_impl.access())
70
+ #else
63
71
  static __thread bool pg_preserve_identifier_case = false;
72
+ #endif
64
73
 
65
74
  void set_preserve_identifier_case(bool preserve) {
66
75
  pg_preserve_identifier_case = preserve;
@@ -0,0 +1,10 @@
1
+ #include "src/common/arrow/appender/bool_data.cpp"
2
+
3
+ #include "src/common/arrow/appender/list_data.cpp"
4
+
5
+ #include "src/common/arrow/appender/map_data.cpp"
6
+
7
+ #include "src/common/arrow/appender/struct_data.cpp"
8
+
9
+ #include "src/common/arrow/appender/union_data.cpp"
10
+