org.postgresql.pljava.internal
Class Portal

java.lang.Object
  extended by org.postgresql.pljava.internal.Portal

public class Portal
extends Object

The Portal correspons to the internal PostgreSQL Portal type.

Author:
Thomas Hallgren

Method Summary
 void close()
          Invalidates this structure and frees up memory using the internal function SPI_cursor_close
 int fetch(boolean forward, int count)
          Performs an SPI_cursor_fetch.
 String getName()
          Returns the name of this Portal.
 int getPortalPos()
          Returns the value of the portalPos attribute.
 TupleDesc getTupleDesc()
          Returns the TupleDesc that describes the row Tuples for this Portal.
 boolean isAtEnd()
          Returns the value of the atEnd attribute.
 boolean isAtStart()
          Returns the value of the atStart attribute.
 boolean isPosOverflow()
          Returns the value of the posOverflow attribute.
 boolean isValid()
          Checks if the portal is still active.
 int move(boolean forward, int count)
          Performs an SPI_cursor_move.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

close

public void close()
Invalidates this structure and frees up memory using the internal function SPI_cursor_close


getName

public String getName()
               throws SQLException
Returns the name of this Portal.

Throws:
SQLException - if the handle to the native structur is stale.

getPortalPos

public int getPortalPos()
                 throws SQLException
Returns the value of the portalPos attribute.

Throws:
SQLException - if the handle to the native structur is stale.

getTupleDesc

public TupleDesc getTupleDesc()
                       throws SQLException
Returns the TupleDesc that describes the row Tuples for this Portal.

Throws:
SQLException - if the handle to the native structur is stale.

fetch

public int fetch(boolean forward,
                 int count)
          throws SQLException
Performs an SPI_cursor_fetch.

Parameters:
forward - Set to true for forward, false for backward.
count - Maximum number of rows to fetch.
Returns:
The actual number of fetched rows.
Throws:
SQLException - if the handle to the native structur is stale.

isAtEnd

public boolean isAtEnd()
                throws SQLException
Returns the value of the atEnd attribute.

Throws:
SQLException - if the handle to the native structur is stale.

isAtStart

public boolean isAtStart()
                  throws SQLException
Returns the value of the atStart attribute.

Throws:
SQLException - if the handle to the native structur is stale.

isPosOverflow

public boolean isPosOverflow()
                      throws SQLException
Returns the value of the posOverflow attribute.

Throws:
SQLException - if the handle to the native structur is stale.

isValid

public boolean isValid()
Checks if the portal is still active. I can be closed either explicitly using the close() mehtod or implicitly due to a pop of invocation context.


move

public int move(boolean forward,
                int count)
         throws SQLException
Performs an SPI_cursor_move.

Parameters:
forward - Set to true for forward, false for backward.
count - Maximum number of rows to fetch.
Returns:
The value of the global variable SPI_result.
Throws:
SQLException - if the handle to the native structur is stale.