PostgreSQL 7.2 Documentation
Prev |  | Next

# pg_result

## Name

pg_result -- get information about a query result

## Synopsis

    pg_result resultHandle resultOption

### Inputs

`resultHandle`

  The handle for a query result.

`resultOption`

  Specifies one of several possible options.

#### Options

`-status`

  the status of the result.

`-error`

  the error message, if the status indicates error; otherwise an empty string.

`-conn`

  the connection that produced the result.

`-oid`

  if the command was an INSERT, the OID of the inserted tuple; otherwise an empty string.

`-numTuples`

  the number of tuples returned by the query.

`-numAttrs`

  the number of attributes in each tuple.

`-assign arrayName`

  assign the results to an array, using subscripts of the form `(tupno,attributeName)`.

`-assignbyidx arrayName ?appendstr?`

  assign the results to an array using the first attribute's value and the remaining attributes' names as keys. If `appendstr` is given then it is appended to each key. In short, all but the first field of each tuple are stored into the array, using subscripts of the form `(firstFieldValue,fieldNameAppendStr)`.

`-getTuple tupleNumber`

  returns the fields of the indicated tuple in a list. Tuple numbers start at zero.

`-tupleArray tupleNumber arrayName`

  stores the fields of the tuple in array `arrayName`, indexed by field names. Tuple numbers start at zero.

`-attributes`

  returns a list of the names of the tuple attributes.

`-lAttributes`

  returns a list of sublists, `{name ftype fsize}` for each tuple attribute.

`-clear`

  clear the result query object.

### Outputs

The result depends on the selected option, as described above.

## Description

`pg_result` returns information about a query result created by a prior `pg_exec`.

You can keep a query result around for as long as you need it, but when you are done with it, be sure to free it by executing `pg_result -clear`. Otherwise, you have a memory leak, and Pgtcl will eventually start complaining that you've created too many query result objects.

Prev | Home | Next
pg_exec | Up | pg_select