Skip to content

Commit 5c4e829

Browse files
authored
Support materialize tables with JSONB fields (#544)
1 parent 4d8fc2d commit 5c4e829

File tree

4 files changed

+13
-0
lines changed

4 files changed

+13
-0
lines changed

.changeset/olive-oranges-glow.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@latitude-data/postgresql-connector": minor
3+
"@latitude-data/source-manager": minor
4+
"@latitude-data/query_result": minor
5+
---
6+
7+
Support materializing tables with JSONB fields

packages/connectors/postgresql/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,8 @@ export default class PostgresConnector extends BaseConnector<ConnectionParams> {
191191
case pgtypes.builtins.TIMESTAMP:
192192
case pgtypes.builtins.TIMESTAMPTZ:
193193
return DataType.Datetime
194+
case pgtypes.builtins.JSONB:
195+
return DataType.JSONB
194196

195197
default:
196198
return fallbackType

packages/query_result/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export enum DataType {
77
Integer = 'integer',
88
Null = 'null',
99
String = 'string',
10+
JSONB = 'jsonb',
1011
Unknown = 'unknown',
1112
}
1213

packages/source_manager/src/manager/parquetUtils.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ function mapDataTypeToParquet(dataType: DataType): ParquetType {
4141
case DataType.Datetime:
4242
return ParquetLogicalType.TIMESTAMP_MICROS
4343

44+
case DataType.JSONB:
45+
return ParquetLogicalType.BSON
46+
4447
case DataType.Integer:
4548
// TODO: review this decision.
4649
// This will make all integers to be stored as INT64 in parquet, making the parquet file

0 commit comments

Comments
 (0)