From d77a5f1c6d1f7ee686383e3ddaf0dcee5b09f8d8 Mon Sep 17 00:00:00 2001 From: mertmit Date: Fri, 22 Apr 2022 20:08:00 +0300 Subject: [PATCH] fix: pg date formatting Signed-off-by: mertmit --- .../spreadsheet/components/virtualCell.vue | 1 + .../components/virtualCell/formulaCell.vue | 23 ++++++++++++++++--- .../dataMapper/lib/sql/functionMappings/pg.ts | 4 ++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/packages/nc-gui/components/project/spreadsheet/components/virtualCell.vue b/packages/nc-gui/components/project/spreadsheet/components/virtualCell.vue index 341530f955..7f9ad805d0 100644 --- a/packages/nc-gui/components/project/spreadsheet/components/virtualCell.vue +++ b/packages/nc-gui/components/project/spreadsheet/components/virtualCell.vue @@ -85,6 +85,7 @@ v-else-if="formula" :row="row" :column="column" + :client="nodes.dbConnection.client" />
- {{ row[column.title] }} + {{ result }}
diff --git a/packages/nocodb/src/lib/dataMapper/lib/sql/functionMappings/pg.ts b/packages/nocodb/src/lib/dataMapper/lib/sql/functionMappings/pg.ts index 5cd5fef991..ffc5d03d0e 100644 --- a/packages/nocodb/src/lib/dataMapper/lib/sql/functionMappings/pg.ts +++ b/packages/nocodb/src/lib/dataMapper/lib/sql/functionMappings/pg.ts @@ -37,13 +37,13 @@ const pg = { return knex.raw( `CASE WHEN CAST(${fn(pt.arguments[0])} AS text) LIKE '%:%' THEN - ${fn(pt.arguments[0])}::timestamptz + INTERVAL '${fn(pt.arguments[1])} + ${fn(pt.arguments[0])} + INTERVAL '${fn(pt.arguments[1])} ${String(fn(pt.arguments[2])).replace( /["']/g, '' )}' ELSE - ${fn(pt.arguments[0])}::timestamptz + INTERVAL '${fn(pt.arguments[1])} + ${fn(pt.arguments[0])} + INTERVAL '${fn(pt.arguments[1])} ${String(fn(pt.arguments[2])).replace(/["']/g, '')}' END${colAlias}` );