It appears that the current postgres dbd code will return one less row than the database actually contains, which is a disaster if the database holds only one row! Fix this. Signed-off-by: Linas Vepstas --- src/guile-dbd-postgresql.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) Index: guile-dbd-postgresql-2.0.0/src/guile-dbd-postgresql.c =================================================================== --- guile-dbd-postgresql-2.0.0.orig/src/guile-dbd-postgresql.c 2008-09-15 14:10:33.000000000 -0500 +++ guile-dbd-postgresql-2.0.0/src/guile-dbd-postgresql.c 2008-09-15 14:11:02.000000000 -0500 @@ -299,7 +299,7 @@ __postgresql_getrow_g_db_handle(gdbi_db_ pgsqlP->lget = 0; return (SCM_BOOL_F); } - else if (pgsqlP->lget == (PQntuples(pgsqlP->res) - 1)) + else if (pgsqlP->lget == PQntuples(pgsqlP->res)) { pgsqlP->res = PQgetResult(pgsqlP->pgsql); }