From 6601e922d670b6ab0598b596b576dd5be9014726 Mon Sep 17 00:00:00 2001 From: Pranav C <61551451+pranavxc@users.noreply.github.com> Date: Mon, 28 Jun 2021 19:20:22 +0530 Subject: [PATCH] fix: Wrong count correction in postgres Signed-off-by: Pranav C <61551451+pranavxc@users.noreply.github.com> --- .../src/lib/dataMapper/lib/sql/BaseModelSql.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSql.ts b/packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSql.ts index 3daae296bb..650a296d69 100644 --- a/packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSql.ts +++ b/packages/nocodb/src/lib/dataMapper/lib/sql/BaseModelSql.ts @@ -805,13 +805,14 @@ class BaseModelSql extends BaseModel { async countByPk({where = '', conditionGraph = null}) { try { if (this.isPg() && !conditionGraph && !where) { - return (await this._run( - this.dbDriver.raw(`SELECT c.reltuples::bigint AS count - FROM pg_class c - JOIN pg_namespace n ON n.oid = c.relnamespace - WHERE c.relname = ? - AND n.nspname = ?`, [this.tn,this.config?.searchPath?.[0] || 'public']) + const res = (await this._run( + this.dbDriver.raw(`select reltuples::int8 as count + from pg_class c JOIN pg_catalog.pg_namespace n ON n.oid=c.relnamespace + where nspname=? AND relname=?`, [this.config?.searchPath?.[0] || 'public', this.tn]) ))?.rows?.[0]; + if (res?.count > 1000) { + return res; + } } return await this._run(this.$db