Igor Korot <ikoro...@gmail.com> writes:
>     binaryIntVal = htonl( (uint32_t) type );
>     paramValues[0] = (char *) &binaryIntVal;
>     paramLengths[0] = sizeof( binaryIntVal );
>     paramFormats[0] = 1;

You're apparently trying to pass this parameter as an int4 ...

>     res = PQexecParams( m_db, "SELECT * FROM abcatfmt WHERE abf_type =
> $1", 1, nullptr, paramValues, paramLengths, paramFormats, 1 );

... but given that you didn't specify any data type, I think the
parser will fall back to assuming that $1 is the same type as
"abf_type", whatever that is.  Passing data in binary is not at all
forgiving about getting the data type right.

                        regards, tom lane


Reply via email to