libpqtypes home page

PQregisterComposites(3)        libpqtypes Manual       PQregisterComposites(3)



NAME
       PQregisterComposites - Registers a composites.

SYNOPSIS
       #include <libpqtypes.h>
       int PQregisterComposites(PGconn *conn, PGregisterType *types,
                                int count);

DESCRIPTION
       The  PQregisterComposites()  function allows an application to register
       one or more composites.  This function can be called as many  times  as
       an application needs on a PGconn.

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

       The types argument is an array containing count composite types to reg-
       ister.   Composites  do  not  use  the  typput or typget members of the
       PGregisterType structure, thus these memebrs are ignored.  If any  com-
       posite does not exist, the register is aborted.

       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 composite into a param, make sure it
       is first registered.


EXAMPLES
   Using PQregisterComposites
       The example registers two composite types.

              PGregisterType comp_types[] = {
                   {"myschema.simple", NULL, NULL},
                   {"complex", NULL, NULL}
              };

              if (!PQregisterComposites(conn, comp_types, 2))
                   fprintf(stderr, "PQregisterComposites: %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.

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

REPORTING BUGS
       Report bugs to <libpqtypes@esilo.com>.

COPYRIGHT
       Copyright (c) 2009 eSilo, LLC. All rights reserved.
       This is free software; see the source for copying conditions.  There is
       NO  warranty; not even for MERCHANTABILITY or  FITNESS FOR A PARTICULAR
       PURPOSE.

SEE ALSO
       pqt-handlers(3), PQputf(3), PQgetf(3)




libpqtypes                           2009              PQregisterComposites(3)

libpqtypes home page