1
0
mirror of https://github.com/postgres/postgres.git synced 2025-10-29 22:49:41 +03:00

libpq: Deprecate pg_int64.

Previously we used pg_int64 in three function prototypes in libpq.  It
was added by commit 461ef73f to expose the platform-dependent type used
for int64 in the C89 era.  As of commit 962da900 it is defined as
standard int64_t, and the dust seems to have settled.

Let's just use int64_t directly in these three client-facing functions
instead of (yet) another name.  We've required C99 and thus <stdint.h>
since PostgreSQL 12, C89 and C++98 compilers are long gone, and client
applications very likely use standard types for their own 64-bit needs.
This also cleans up the obscure placement of a new #include <stdint.h>
directive in postgres_ext.h, required for the new definition.  The
typedef was hiding in there for historical reasons, but it doesn't fit
postgres_ext.h's own description of its purpose and there is no evidence
of client applications including postgres_ext.h directly to see it.

Keep a typedef marked deprecated for backward compatibility, but move it
into libpq-fe.h where it was used.

Reviewed-by: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/CA%2BhUKGKn_EkNNGMY5RzMcKP%2Ba6urT4JF%3DCPhw_zHtQwjvX6P2g%40mail.gmail.com
This commit is contained in:
Thomas Munro
2025-03-25 20:17:53 +13:00
parent be1cc9aaf5
commit 3c86223c99
6 changed files with 31 additions and 31 deletions

View File

@@ -24,8 +24,6 @@
#ifndef POSTGRES_EXT_H
#define POSTGRES_EXT_H
#include <stdint.h>
/*
* Object ID is a fundamental type in Postgres.
*/
@@ -44,9 +42,6 @@ typedef unsigned int Oid;
/* the above needs <stdlib.h> */
/* Define a signed 64-bit integer type for use in client API declarations. */
typedef int64_t pg_int64;
/*
* Identifiers of error message fields. Kept here to keep common
* between frontend and backend, and also to export them to libpq