Thread: Re: Use more CppAsString2() in pg_amcheck.c

Re: Use more CppAsString2() in pg_amcheck.c

From
Alvaro Herrera
Date:
On 2024-Oct-18, Michael Paquier wrote:

> pg_amcheck.c is one of these places where relkind and relpersistence
> values are hardcoded in queries based on the contents of pg_class_d.h.
> Similarly to other places in src/bin/, let's sprinkle some
> CppAsString2() and feed to the binary the values from the header.  The
> patch attached does that.

Hmm, aren't you losing the single quotes?  I think you would need to do

> @@ -857,7 +858,7 @@ prepare_heap_command(PQExpBuffer sql, RelationInfo *rel, PGconn *conn)
>  
>      appendPQExpBuffer(sql,
>                        "\n) v WHERE c.oid = %u "
> -                      "AND c.relpersistence != 't'",
> +                      "AND c.relpersistence != '%s'",
>                        rel->reloid, CppAsString2(RELPERSISTENCE_TEMP));

in order for this to work properly, no?

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"La vida es para el que se aventura"



Re: Use more CppAsString2() in pg_amcheck.c

From
Alvaro Herrera
Date:
On 2024-Oct-18, Alvaro Herrera wrote:

> Hmm, aren't you losing the single quotes?

Ah, the defines themselves include the quotes, so this is not needed.
Sorry for the noise.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
Syntax error: function hell() needs an argument.
Please choose what hell you want to involve.