PQregisterUserDefinedTypes(3)

PQregisterUserDefinedTypes3

Registers a user-defined types.

Usage

#include <libpqtypes.h>

int PQregisterUserDefinedTypes(PGconn *conn, PGregisterType *types,

int count);

Deprecated

THIS FUNCTION IS DEPRECATED. New applications should use PQregisterTypes. This function is now a wrapper to PQregisterTypes.

Overview

The PQregisterUserDefinedTypes() function allows an application to register one or more user-defined types at runtime. User-defined types are custom types in a backend that implement their own C procedures for in/out/send/recv.

This function must execute a query against the backend to retrieve type information for each user-defined type, thus this should not be called from within a transaction. It is recommended to register multiple types at the same time to avoid round trip overhead.

The types argument is an array containing count user-defined types to register. If any type does not exist, the register is aborted. Either typput and/or typget must be specified for each type in the types array.

NOTE: The typname member of the PGregisterType structure can optionally contain the type's schema: schema.typname.

WARNING: PQparamCreate is only aware of types that have already been registered. If you need to put a type into a param, make sure it is first registered.

User-defined Types Registration
This example registers two user-defined types.


    

    
        

PGregisterType types[] = {
{"graphics.rgb", rgb_put, rgb_get},
{"graphics.digon", digon_put, digon_get} };

if (!PQregisterUserDefinedTypes(conn, types, 2))
fprintf(stderr, "PQregisterUserDefinedTypes: %s\n", PQgeterror());

Return value

On success, a non-zero value is returned. On error, zero is returned and PQgeterror(3) will contain an error message.

Examples

None.

Releases

Unchanged in 5 releases since Debian 8 (Jessie).

  1. 8–12

Author

A contribution of eSilo, LLC. for the PostgreSQL Database Management System. Written by Andrew Chernow and Merlin Moncure.

Reporting bugs

Report bugs to <[email protected]>.

From libpqtypes-dev 1.5.1-9 in Debian 12 (Bookworm). Parsed by carta from the page's man source.