duckdb 0.6.2-dev1192.0 → 0.6.2-dev1200.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/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "duckdb",
3
3
  "main": "./lib/duckdb.js",
4
4
  "types": "./lib/duckdb.d.ts",
5
- "version": "0.6.2-dev1192.0",
5
+ "version": "0.6.2-dev1200.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
@@ -67,7 +67,7 @@ public:
67
67
  return 0;
68
68
  }
69
69
  uint8_t ret = 1;
70
- while (((idx_t)(1 << ret) - 1) < val) {
70
+ while (((idx_t)(1u << ret) - 1) < val) {
71
71
  ret++;
72
72
  }
73
73
  return ret;
@@ -1,8 +1,8 @@
1
1
  #ifndef DUCKDB_VERSION
2
- #define DUCKDB_VERSION "0.6.2-dev1192"
2
+ #define DUCKDB_VERSION "0.6.2-dev1200"
3
3
  #endif
4
4
  #ifndef DUCKDB_SOURCE_ID
5
- #define DUCKDB_SOURCE_ID "4b2d12b676"
5
+ #define DUCKDB_SOURCE_ID "3aafe058e6"
6
6
  #endif
7
7
  #include "duckdb/function/table/system_functions.hpp"
8
8
  #include "duckdb/main/database.hpp"
@@ -14,7 +14,7 @@ namespace duckdb {
14
14
 
15
15
  class GZipFileSystem : public CompressedFileSystem {
16
16
  // 32 KB
17
- static constexpr const idx_t BUFFER_SIZE = 1 << 15;
17
+ static constexpr const idx_t BUFFER_SIZE = 1u << 15;
18
18
 
19
19
  public:
20
20
  unique_ptr<FileHandle> OpenCompressedFile(unique_ptr<FileHandle> handle, bool write) override;
@@ -68,10 +68,10 @@ public:
68
68
  // 20% free / 80% utilization
69
69
  static constexpr const idx_t DEFAULT_MAX_PARTIAL_BLOCK_SIZE = Storage::BLOCK_SIZE / 5 * 4;
70
70
  // Max number of shared references to a block. No effective limit by default.
71
- static constexpr const idx_t DEFAULT_MAX_USE_COUNT = 1 << 20;
71
+ static constexpr const idx_t DEFAULT_MAX_USE_COUNT = 1u << 20;
72
72
  // No point letting map size grow unbounded. We'll drop blocks with the
73
73
  // least free space first.
74
- static constexpr const idx_t MAX_BLOCK_MAP_SIZE = 1 << 31;
74
+ static constexpr const idx_t MAX_BLOCK_MAP_SIZE = 1u << 31;
75
75
 
76
76
  public:
77
77
  PartialBlockManager(BlockManager &block_manager, uint32_t max_partial_block_size = DEFAULT_MAX_PARTIAL_BLOCK_SIZE,
@@ -445,6 +445,7 @@ unique_ptr<BoundQueryNode> Binder::BindNode(SelectNode &statement) {
445
445
  vector<LogicalType> internal_sql_types;
446
446
  for (idx_t i = 0; i < statement.select_list.size(); i++) {
447
447
  bool is_window = statement.select_list[i]->IsWindow();
448
+ idx_t unnest_count = result->unnests.size();
448
449
  LogicalType result_type;
449
450
  auto expr = select_binder.Bind(statement.select_list[i], &result_type);
450
451
  if (statement.aggregate_handling == AggregateHandling::FORCE_AGGREGATES && select_binder.HasBoundColumns()) {
@@ -454,6 +455,9 @@ unique_ptr<BoundQueryNode> Binder::BindNode(SelectNode &statement) {
454
455
  if (is_window) {
455
456
  throw BinderException("Cannot group on a window clause");
456
457
  }
458
+ if (result->unnests.size() > unnest_count) {
459
+ throw BinderException("Cannot group on an UNNEST or UNLIST clause");
460
+ }
457
461
  // we are forcing aggregates, and the node has columns bound
458
462
  // this entry becomes a group
459
463
  auto group_ref = make_unique<BoundColumnRefExpression>(