From 012a8a360fb2b3a94972caf3e23408902075e042 Mon Sep 17 00:00:00 2001 From: Konstantin Knizhnik Date: Fri, 25 Oct 2024 10:11:58 +0300 Subject: [PATCH] Fix get_prewarm_info() --- pgxn/neon/Makefile | 2 ++ pgxn/neon/file_cache.c | 2 +- test_runner/regress/test_lfc_prewarm.py | 6 +++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pgxn/neon/Makefile b/pgxn/neon/Makefile index 1503b856f7..7b7972aa12 100644 --- a/pgxn/neon/Makefile +++ b/pgxn/neon/Makefile @@ -32,6 +32,8 @@ DATA = \ neon--1.2--1.3.sql \ neon--1.3--1.4.sql \ neon--1.4--1.5.sql \ + neon--1.5--1.6.sql \ + neon--1.6--1.5.sql \ neon--1.5--1.4.sql \ neon--1.4--1.3.sql \ neon--1.3--1.2.sql \ diff --git a/pgxn/neon/file_cache.c b/pgxn/neon/file_cache.c index 5b39a95112..ec5a4973c8 100644 --- a/pgxn/neon/file_cache.c +++ b/pgxn/neon/file_cache.c @@ -1734,7 +1734,7 @@ get_prewarm_info(PG_FUNCTION_ARGS) bool nulls[4]; TupleDesc tupdesc; - if (lfc_size_limit != 0) + if (lfc_size_limit == 0) PG_RETURN_NULL(); tupdesc = CreateTemplateTupleDesc(4); diff --git a/test_runner/regress/test_lfc_prewarm.py b/test_runner/regress/test_lfc_prewarm.py index fd8dd5096a..dba5813f7b 100644 --- a/test_runner/regress/test_lfc_prewarm.py +++ b/test_runner/regress/test_lfc_prewarm.py @@ -20,7 +20,6 @@ def test_lfc_prewarm(neon_simple_env: NeonEnv): ) conn = endpoint.connect() cur = conn.cursor() - cur.execute("create extension neon version '1.6'") cur.execute("create table t(pk integer primary key, payload text default repeat('?', 128))") cur.execute(f"insert into t (pk) values (generate_series(1,{n_records}))") @@ -29,6 +28,7 @@ def test_lfc_prewarm(neon_simple_env: NeonEnv): conn = endpoint.connect() cur = conn.cursor() + cur.execute("create extension neon version '1.6'") for _ in range(20): time.sleep(1) # give prewarm BGW some time to proceed @@ -37,14 +37,14 @@ def test_lfc_prewarm(neon_simple_env: NeonEnv): log.info(f"Used LFC size: {lfc_used_pages}") cur.execute("select * from get_prewarm_info()") prewarm_info = cur.fetchall()[0] - log.info(f"Prewrm info: {prewarm_info}") + log.info(f"Prewarm info: {prewarm_info}") if prewarm_info[0] > 0: log.info(f"Prewarm progress: {prewarm_info[1]*100//prewarm_info[0]}%") if prewarm_info[0] == prewarm_info[1]: break assert lfc_used_pages > 10000 - assert prewarm_info[0] > 0 and prewarm_info[0] == prewarm_info[1]: + assert prewarm_info[0] > 0 and prewarm_info[0] == prewarm_info[1] cur.execute("select sum(pk) from t") assert cur.fetchall()[0][0] == n_records * (n_records + 1) / 2