get-count-estimate.ts16 lines · main
1import { safeSql, type SafeSqlFragment } from '../../../pg-format'
2
3export const THRESHOLD_COUNT = 50000
4
5export const COUNT_ESTIMATE_SQL: SafeSqlFragment = safeSql`
6CREATE OR REPLACE FUNCTION pg_temp.count_estimate(
7 query text
8) RETURNS integer LANGUAGE plpgsql AS $$
9DECLARE
10 plan jsonb;
11BEGIN
12 EXECUTE 'EXPLAIN (FORMAT JSON)' || query INTO plan;
13 RETURN plan->0->'Plan'->'Plan Rows';
14END;
15$$;
16`