duckdb 0.3.2-dev903.0 → 0.3.2-dev950.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/src/statement.cpp CHANGED
@@ -141,34 +141,38 @@ static Napi::Value convert_chunk(Napi::Env &env, std::vector<std::string> names,
141
141
  bool is_object_value {false};
142
142
 
143
143
  auto dval = chunk.GetValue(col_idx, row_idx);
144
- if (dval.is_null) {
144
+ if (dval.IsNull()) {
145
145
  row_result.Set(node_names[col_idx], env.Null());
146
146
  continue;
147
147
  }
148
148
 
149
149
  // TODO templateroo here
150
150
  switch (chunk.data[col_idx].GetType().id()) {
151
+ case duckdb::LogicalTypeId::BOOLEAN: {
152
+ value = Napi::Boolean::New(env, duckdb::BooleanValue::Get(dval));
153
+ } break;
151
154
  case duckdb::LogicalTypeId::INTEGER: {
152
- value = Napi::Number::New(env, dval.value_.integer);
155
+ value = Napi::Number::New(env, duckdb::IntegerValue::Get(dval));
153
156
  } break;
154
157
  case duckdb::LogicalTypeId::FLOAT: {
155
- value = Napi::Number::New(env, dval.value_.float_);
158
+ value = Napi::Number::New(env, duckdb::FloatValue::Get(dval));
156
159
  } break;
157
160
  case duckdb::LogicalTypeId::DOUBLE: {
158
- value = Napi::Number::New(env, dval.value_.double_);
161
+ value = Napi::Number::New(env, duckdb::DoubleValue::Get(dval));
159
162
  } break;
160
163
  case duckdb::LogicalTypeId::BIGINT: {
161
- value = Napi::Number::New(env, dval.value_.bigint);
164
+ value = Napi::Number::New(env, duckdb::BigIntValue::Get(dval));
162
165
  } break;
163
166
  case duckdb::LogicalTypeId::HUGEINT: {
164
167
  value = Napi::Number::New(env, dval.GetValue<double>());
165
168
  } break;
166
169
  case duckdb::LogicalTypeId::INTERVAL: {
170
+ auto interval = duckdb::IntervalValue::Get(dval);
167
171
  is_object_value = true;
168
172
  object_value = Napi::Object::New(env);
169
- object_value.Set("months", dval.value_.interval.months);
170
- object_value.Set("days", dval.value_.interval.days);
171
- object_value.Set("micros", dval.value_.interval.micros);
173
+ object_value.Set("months", interval.months);
174
+ object_value.Set("days", interval.days);
175
+ object_value.Set("micros", interval.micros);
172
176
  } break;
173
177
  #if (NAPI_VERSION > 4)
174
178
  case duckdb::LogicalTypeId::DATE: {
@@ -180,13 +184,11 @@ static Napi::Value convert_chunk(Napi::Env &env, std::vector<std::string> names,
180
184
  } break;
181
185
  #endif
182
186
  case duckdb::LogicalTypeId::VARCHAR: {
183
- value = Napi::String::New(env, dval.str_value);
184
- } break;
185
- case duckdb::LogicalTypeId::BOOLEAN: {
186
- value = Napi::Boolean::New(env, dval.value_.boolean);
187
+ value = Napi::String::New(env, duckdb::StringValue::Get(dval));
187
188
  } break;
188
189
  case duckdb::LogicalTypeId::BLOB: {
189
- value = Napi::Buffer<char>::Copy(env, dval.str_value.c_str(), dval.str_value.length());
190
+ auto &blob = duckdb::StringValue::Get(dval);
191
+ value = Napi::Buffer<char>::Copy(env, blob.c_str(), blob.length());
190
192
  } break;
191
193
  case duckdb::LogicalTypeId::SQLNULL: {
192
194
  value = env.Null();