duckdb 0.3.5-dev699.0 → 0.3.5-dev703.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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "duckdb",
3
3
  "main": "./lib/duckdb.js",
4
- "version": "0.3.5-dev699.0",
4
+ "version": "0.3.5-dev703.0",
5
5
  "description": "DuckDB node.js API",
6
6
  "gypfile": true,
7
7
  "dependencies": {
@@ -363,6 +363,13 @@ struct ExecTask : public Task {
363
363
  }
364
364
  }
365
365
  }
366
+
367
+ void Callback() override {
368
+ auto env = object.Env();
369
+ Napi::HandleScope scope(env);
370
+ callback.Value().MakeCallback(object.Value(), {success ? env.Null() : Napi::String::New(env, error)});
371
+ };
372
+
366
373
  std::string sql;
367
374
  bool success;
368
375
  std::string error;
package/src/duckdb.cpp CHANGED
@@ -46260,7 +46260,6 @@ const SelectionVector *ConstantVector::ZeroSelectionVector(idx_t count, Selectio
46260
46260
  }
46261
46261
 
46262
46262
  void ConstantVector::Reference(Vector &vector, Vector &source, idx_t position, idx_t count) {
46263
- D_ASSERT(position < count);
46264
46263
  auto &source_type = source.GetType();
46265
46264
  switch (source_type.InternalType()) {
46266
46265
  case PhysicalType::LIST: {
@@ -46308,7 +46307,7 @@ void ConstantVector::Reference(Vector &vector, Vector &source, idx_t position, i
46308
46307
  auto &source_entries = StructVector::GetEntries(source);
46309
46308
  auto &target_entries = StructVector::GetEntries(vector);
46310
46309
  for (idx_t i = 0; i < source_entries.size(); i++) {
46311
- ConstantVector::Reference(*target_entries[i], *source_entries[i], position, count);
46310
+ ConstantVector::Reference(*target_entries[i], *source_entries[i], struct_index, count);
46312
46311
  }
46313
46312
  vector.SetVectorType(VectorType::CONSTANT_VECTOR);
46314
46313
  break;
@@ -51740,6 +51739,7 @@ static inline void TemplatedLoopHash(Vector &input, Vector &result, const Select
51740
51739
 
51741
51740
  template <bool HAS_RSEL, bool FIRST_HASH>
51742
51741
  static inline void StructLoopHash(Vector &input, Vector &hashes, const SelectionVector *rsel, idx_t count) {
51742
+ input.Normalify(count);
51743
51743
  auto &children = StructVector::GetEntries(input);
51744
51744
 
51745
51745
  D_ASSERT(!children.empty());
@@ -114875,6 +114875,9 @@ void ClientContext::LogQueryInternal(ClientContextLock &, const string &query) {
114875
114875
 
114876
114876
  unique_ptr<QueryResult> ClientContext::Query(unique_ptr<SQLStatement> statement, bool allow_stream_result) {
114877
114877
  auto pending_query = PendingQuery(move(statement), allow_stream_result);
114878
+ if (!pending_query->success) {
114879
+ return make_unique<MaterializedQueryResult>(pending_query->error);
114880
+ }
114878
114881
  return pending_query->Execute();
114879
114882
  }
114880
114883