Skip to content

Commit 66089a5

Browse files
committed
data value overhaul
1 parent 6d34f4b commit 66089a5

34 files changed

+837
-521
lines changed

api/src/DuckDBAppender.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
import duckdb from '@duckdb/node-bindings';
2-
import { DuckDBType } from './DuckDBType';
3-
import { DuckDBLogicalType } from './DuckDBLogicalType';
4-
import { Date_, Interval, Time, Timestamp } from './DuckDBValue';
52
import { DuckDBDataChunk } from './DuckDBDataChunk';
3+
import { DuckDBLogicalType } from './DuckDBLogicalType';
4+
import { DuckDBType } from './DuckDBType';
5+
import {
6+
DuckDBDateValue,
7+
DuckDBIntervalValue,
8+
DuckDBTimestampValue,
9+
DuckDBTimeValue,
10+
} from './values';
611

712
export class DuckDBAppender {
813
private readonly appender: duckdb.Appender;
@@ -70,18 +75,18 @@ export class DuckDBAppender {
7075
public appendDouble(value: number) {
7176
duckdb.append_double(this.appender, value);
7277
}
73-
public appendDate(value: Date_) {
78+
public appendDate(value: DuckDBDateValue) {
7479
duckdb.append_date(this.appender, value);
7580
}
76-
public appendTime(value: Time) {
81+
public appendTime(value: DuckDBTimeValue) {
7782
duckdb.append_time(this.appender, value);
7883
}
79-
public appendTimestamp(value: Timestamp) {
84+
public appendTimestamp(value: DuckDBTimestampValue) {
8085
duckdb.append_timestamp(this.appender, value);
8186
}
8287
// TODO: append TIMESTAMPS_S/_MS/_NS?
8388
// TODO: append TIME_TZ/TIMESTAMP_TZ?
84-
public appendInterval(value: Interval) {
89+
public appendInterval(value: DuckDBIntervalValue) {
8590
duckdb.append_interval(this.appender, value);
8691
}
8792
public appendVarchar(value: string) {

api/src/DuckDBLogicalType.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ export class DuckDBArrayLogicalType extends DuckDBLogicalType {
340340
public get length(): number {
341341
return duckdb.array_type_array_size(this.logical_type);
342342
}
343-
public override asType(): DuckDBListType {
343+
public override asType(): DuckDBArrayType {
344344
return new DuckDBArrayType(this.valueType.asType(), this.length);
345345
}
346346
}

api/src/DuckDBPreparedStatement.ts

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,14 @@ import duckdb from '@duckdb/node-bindings';
22
import { DuckDBPendingResult } from './DuckDBPendingResult';
33
import { DuckDBResult } from './DuckDBResult';
44
import { DuckDBTypeId } from './DuckDBTypeId';
5-
import { Date_, Decimal, Interval, Time, Timestamp } from './DuckDBValue';
65
import { StatementType } from './enums';
6+
import {
7+
DuckDBDateValue,
8+
DuckDBDecimalValue,
9+
DuckDBIntervalValue,
10+
DuckDBTimestampValue,
11+
DuckDBTimeValue,
12+
} from './values';
713

814
export class DuckDBPreparedStatement {
915
private readonly prepared_statement: duckdb.PreparedStatement;
@@ -67,7 +73,7 @@ export class DuckDBPreparedStatement {
6773
public bindUHugeInt(parameterIndex: number, value: bigint) {
6874
duckdb.bind_uhugeint(this.prepared_statement, parameterIndex, value);
6975
}
70-
public bindDecimal(parameterIndex: number, value: Decimal) {
76+
public bindDecimal(parameterIndex: number, value: DuckDBDecimalValue) {
7177
duckdb.bind_decimal(this.prepared_statement, parameterIndex, value);
7278
}
7379
public bindFloat(parameterIndex: number, value: number) {
@@ -76,18 +82,18 @@ export class DuckDBPreparedStatement {
7682
public bindDouble(parameterIndex: number, value: number) {
7783
duckdb.bind_double(this.prepared_statement, parameterIndex, value);
7884
}
79-
public bindDate(parameterIndex: number, value: Date_) {
85+
public bindDate(parameterIndex: number, value: DuckDBDateValue) {
8086
duckdb.bind_date(this.prepared_statement, parameterIndex, value);
8187
}
82-
public bindTime(parameterIndex: number, value: Time) {
88+
public bindTime(parameterIndex: number, value: DuckDBTimeValue) {
8389
duckdb.bind_time(this.prepared_statement, parameterIndex, value);
8490
}
85-
public bindTimestamp(parameterIndex: number, value: Timestamp) {
91+
public bindTimestamp(parameterIndex: number, value: DuckDBTimestampValue) {
8692
duckdb.bind_timestamp(this.prepared_statement, parameterIndex, value);
8793
}
8894
// TODO: bind TIMESTAMPS_S/_MS/_NS?
8995
// TODO: bind TIME_TZ/TIMESTAMP_TZ?
90-
public bindInterval(parameterIndex: number, value: Interval) {
96+
public bindInterval(parameterIndex: number, value: DuckDBIntervalValue) {
9197
duckdb.bind_interval(this.prepared_statement, parameterIndex, value);
9298
}
9399
public bindVarchar(parameterIndex: number, value: string) {

0 commit comments

Comments
 (0)