duckdb 0.6.2-dev1200.0 → 0.6.2-dev1206.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-dev1200.0",
5
+ "version": "0.6.2-dev1206.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
@@ -1292,6 +1292,7 @@ unique_ptr<ColumnReader> ColumnReader::CreateReader(ParquetReader &reader, const
1292
1292
  return make_unique<TemplatedColumnReader<double, TemplatedParquetValueConversion<double>>>(
1293
1293
  reader, type_p, schema_p, file_idx_p, max_define, max_repeat);
1294
1294
  case LogicalTypeId::TIMESTAMP:
1295
+ case LogicalTypeId::TIMESTAMP_TZ:
1295
1296
  switch (schema_p.type) {
1296
1297
  case Type::INT96:
1297
1298
  return make_unique<CallbackColumnReader<Int96, timestamp_t, ImpalaTimestampToTimestamp>>(
@@ -1328,6 +1329,7 @@ unique_ptr<ColumnReader> ColumnReader::CreateReader(ParquetReader &reader, const
1328
1329
  return make_unique<CallbackColumnReader<int32_t, date_t, ParquetIntToDate>>(reader, type_p, schema_p,
1329
1330
  file_idx_p, max_define, max_repeat);
1330
1331
  case LogicalTypeId::TIME:
1332
+ case LogicalTypeId::TIME_TZ:
1331
1333
  return make_unique<CallbackColumnReader<int64_t, dtime_t, ParquetIntToTime>>(
1332
1334
  reader, type_p, schema_p, file_idx_p, max_define, max_repeat);
1333
1335
  case LogicalTypeId::BLOB:
@@ -102,7 +102,15 @@ LogicalType ParquetReader::DeriveLogicalType(const SchemaElement &s_ele, bool bi
102
102
  return LogicalType::UUID;
103
103
  }
104
104
  } else if (s_ele.logicalType.__isset.TIMESTAMP) {
105
+ if (s_ele.logicalType.TIMESTAMP.isAdjustedToUTC) {
106
+ return LogicalType::TIMESTAMP_TZ;
107
+ }
105
108
  return LogicalType::TIMESTAMP;
109
+ } else if (s_ele.logicalType.__isset.TIME) {
110
+ if (s_ele.logicalType.TIME.isAdjustedToUTC) {
111
+ return LogicalType::TIME_TZ;
112
+ }
113
+ return LogicalType::TIME;
106
114
  }
107
115
  }
108
116
  if (s_ele.__isset.converted_type) {
@@ -153,11 +153,15 @@ Value ParquetStatisticsUtils::ConvertValue(const LogicalType &type,
153
153
  }
154
154
  return Value::DATE(date_t(Load<int32_t>((data_ptr_t)stats.c_str())));
155
155
  case LogicalTypeId::TIME:
156
+ case LogicalTypeId::TIME_TZ: {
156
157
  if (stats.size() != sizeof(int64_t)) {
157
158
  throw InternalException("Incorrect stats size for type TIME");
158
159
  }
159
- return Value::TIME(dtime_t(Load<int64_t>((data_ptr_t)stats.c_str())));
160
- case LogicalTypeId::TIMESTAMP: {
160
+ auto time = dtime_t(Load<int64_t>((data_ptr_t)stats.c_str()));
161
+ return Value::TIME(time);
162
+ }
163
+ case LogicalTypeId::TIMESTAMP:
164
+ case LogicalTypeId::TIMESTAMP_TZ: {
161
165
  if (schema_ele.type == Type::INT96) {
162
166
  if (stats.size() != sizeof(Int96)) {
163
167
  throw InternalException("Incorrect stats size for type TIMESTAMP");
@@ -150,6 +150,7 @@ void ParquetWriter::SetSchemaProperties(const LogicalType &duckdb_type,
150
150
  case LogicalTypeId::TIME:
151
151
  schema_ele.converted_type = ConvertedType::TIME_MICROS;
152
152
  schema_ele.__isset.converted_type = true;
153
+ schema_ele.__isset.logicalType = true;
153
154
  schema_ele.logicalType.__isset.TIME = true;
154
155
  schema_ele.logicalType.TIME.isAdjustedToUTC = (duckdb_type.id() == LogicalTypeId::TIME_TZ);
155
156
  schema_ele.logicalType.TIME.unit.__isset.MICROS = true;
@@ -1,8 +1,8 @@
1
1
  #ifndef DUCKDB_VERSION
2
- #define DUCKDB_VERSION "0.6.2-dev1200"
2
+ #define DUCKDB_VERSION "0.6.2-dev1206"
3
3
  #endif
4
4
  #ifndef DUCKDB_SOURCE_ID
5
- #define DUCKDB_SOURCE_ID "3aafe058e6"
5
+ #define DUCKDB_SOURCE_ID "7067a9ae38"
6
6
  #endif
7
7
  #include "duckdb/function/table/system_functions.hpp"
8
8
  #include "duckdb/main/database.hpp"