duckdb 0.5.2-dev658.0 → 0.5.2-dev664.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.5.2-dev658.0",
4
+ "version": "0.5.2-dev664.0",
5
5
  "description": "DuckDB node.js API",
6
6
  "gypfile": true,
7
7
  "dependencies": {
package/src/duckdb.cpp CHANGED
@@ -43019,6 +43019,7 @@ void DataChunk::Print() {
43019
43019
 
43020
43020
 
43021
43021
 
43022
+
43022
43023
  #include <cstring>
43023
43024
  #include <cctype>
43024
43025
  #include <algorithm>
@@ -43433,6 +43434,14 @@ int64_t Date::EpochNanoseconds(date_t date) {
43433
43434
  return ((int64_t)date.days) * (Interval::MICROS_PER_DAY * 1000);
43434
43435
  }
43435
43436
 
43437
+ int64_t Date::EpochMicroseconds(date_t date) {
43438
+ int64_t result;
43439
+ if (!TryMultiplyOperator::Operation<int64_t, int64_t, int64_t>(date.days, Interval::MICROS_PER_DAY, result)) {
43440
+ throw ConversionException("Could not convert DATE to microseconds");
43441
+ }
43442
+ return result;
43443
+ }
43444
+
43436
43445
  int32_t Date::ExtractYear(date_t d, int32_t *last_year) {
43437
43446
  auto n = d.days;
43438
43447
  // cached look up: check if year of this date is the same as the last one we looked up
@@ -98904,16 +98913,15 @@ struct DateDiff {
98904
98913
  struct MicrosecondsOperator {
98905
98914
  template <class TA, class TB, class TR>
98906
98915
  static inline TR Operation(TA startdate, TB enddate) {
98907
- return Date::EpochNanoseconds(enddate) / Interval::NANOS_PER_MICRO -
98908
- Date::EpochNanoseconds(startdate) / Interval::NANOS_PER_MICRO;
98916
+ return Date::EpochMicroseconds(enddate) - Date::EpochMicroseconds(startdate);
98909
98917
  }
98910
98918
  };
98911
98919
 
98912
98920
  struct MillisecondsOperator {
98913
98921
  template <class TA, class TB, class TR>
98914
98922
  static inline TR Operation(TA startdate, TB enddate) {
98915
- return Date::EpochNanoseconds(enddate) / Interval::NANOS_PER_MSEC -
98916
- Date::EpochNanoseconds(startdate) / Interval::NANOS_PER_MSEC;
98923
+ return Date::EpochMicroseconds(enddate) / Interval::MICROS_PER_MSEC -
98924
+ Date::EpochMicroseconds(startdate) / Interval::MICROS_PER_MSEC;
98917
98925
  }
98918
98926
  };
98919
98927
 
@@ -102375,7 +102383,7 @@ idx_t StrfTimeFormat::GetSpecifierLength(StrTimeSpecifier specifier, date_t date
102375
102383
  case StrTimeSpecifier::DAY_OF_YEAR_DECIMAL:
102376
102384
  return NumericHelper::UnsignedLength<uint32_t>(Date::ExtractDayOfTheYear(date));
102377
102385
  case StrTimeSpecifier::YEAR_WITHOUT_CENTURY:
102378
- return NumericHelper::UnsignedLength<uint32_t>(Date::ExtractYear(date) % 100);
102386
+ return NumericHelper::UnsignedLength<uint32_t>(AbsValue(Date::ExtractYear(date)) % 100);
102379
102387
  default:
102380
102388
  throw InternalException("Unimplemented specifier for GetSpecifierLength");
102381
102389
  }
@@ -102592,7 +102600,7 @@ char *StrfTimeFormat::WriteStandardSpecifier(StrTimeSpecifier specifier, int32_t
102592
102600
  break;
102593
102601
  }
102594
102602
  case StrTimeSpecifier::YEAR_WITHOUT_CENTURY: {
102595
- target = Write2(target, data[0] % 100);
102603
+ target = Write2(target, AbsValue(data[0]) % 100);
102596
102604
  break;
102597
102605
  }
102598
102606
  case StrTimeSpecifier::HOUR_24_DECIMAL: {
package/src/duckdb.hpp CHANGED
@@ -11,8 +11,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
11
11
  #pragma once
12
12
  #define DUCKDB_AMALGAMATION 1
13
13
  #define DUCKDB_AMALGAMATION_EXTENDED 1
14
- #define DUCKDB_SOURCE_ID "8af46e6b4"
15
- #define DUCKDB_VERSION "v0.5.2-dev658"
14
+ #define DUCKDB_SOURCE_ID "a22481a18"
15
+ #define DUCKDB_VERSION "v0.5.2-dev664"
16
16
  //===----------------------------------------------------------------------===//
17
17
  // DuckDB
18
18
  //
@@ -24765,6 +24765,8 @@ public:
24765
24765
  DUCKDB_API static int64_t Epoch(date_t date);
24766
24766
  //! Extract the epoch from the date (nanoseconds since 1970-01-01)
24767
24767
  DUCKDB_API static int64_t EpochNanoseconds(date_t date);
24768
+ //! Extract the epoch from the date (microseconds since 1970-01-01)
24769
+ DUCKDB_API static int64_t EpochMicroseconds(date_t date);
24768
24770
  //! Convert the epoch (seconds since 1970-01-01) to a date_t
24769
24771
  DUCKDB_API static date_t EpochToDate(int64_t epoch);
24770
24772