Skip to content

Commit 79c5b65

Browse files
committed
fix: fetch decimals as strings from clickhouse to not loose precision
1 parent a19cf35 commit 79c5b65

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

adminforth/dataConnectors/clickhouse.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import { AdminForthDataTypes, AdminForthFilterOperators, AdminForthSortDirection
77

88
class ClickhouseConnector extends AdminForthBaseConnector implements IAdminForthDataSourceConnector {
99

10-
dbName: string;
11-
url: string;
10+
dbName: string;
11+
url: string;
1212

1313
async setupClient(url): Promise<void> {
1414
this.dbName = new URL(url).pathname.replace('/', '');
@@ -217,7 +217,13 @@ class ClickhouseConnector extends AdminForthBaseConnector implements IAdminForth
217217
sort: { field: string, direction: AdminForthSortDirections }[],
218218
filters: { field: string, operator: AdminForthFilterOperators, value: any }[],
219219
}): Promise<any[]> {
220-
const columns = resource.dataSourceColumns.map((col) => col.name).join(', ');
220+
const columns = resource.dataSourceColumns.map((col) => {
221+
// for decimal cast to string
222+
if (col.type == AdminForthDataTypes.DECIMAL) {
223+
return `toString(${col.name}) as ${col.name}`
224+
}
225+
return col.name;
226+
}).join(', ');
221227
const tableName = resource.table;
222228

223229
const where = this.whereClause(resource, filters);

adminforth/documentation/docs/tutorial/05-Plugins/09-open-signup.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ export default {
103103
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY as string,
104104
//diff-add
105105
}),
106+
//diff-add
106107
},
107108
}),
108109
...

0 commit comments

Comments
 (0)