com.ziclix.python.sql

Class Procedure


public class Procedure
extends Object

This class provides the necessary functionality to call stored procedures. It handles managing the database metadata and binding the appropriate parameters.
Version:
$Revision: 2542 $
Authors:
brian zimmer
last modified by $Author: fwierzbicki $

Constructor Summary

Procedure(PyCursor cursor, PyObject name)
Constructor Procedure

Method Summary

boolean
isInput(int index)
This method determines whether the param at the specified index is an IN or INOUT param for a stored procedure.
void
normalizeInput(PyObject params, PyObject bindings)
Prepare the binding dictionary with the correct datatypes.
CallableStatement
prepareCall()
Prepares the statement and registers the OUT/INOUT parameters (if any).
CallableStatement
prepareCall(PyObject rsType, PyObject rsConcur)
Prepares the statement and registers the OUT/INOUT parameters (if any).
String
toSql()
Returns the call in the syntax:

{?

Constructor Details

Procedure

public Procedure(PyCursor cursor,
                 PyObject name)
            throws SQLException
Constructor Procedure
Parameters:
cursor - cursor an open cursor
name - name a string or tuple representing the name

Method Details

isInput

public boolean isInput(int index)
            throws SQLException
This method determines whether the param at the specified index is an IN or INOUT param for a stored procedure. This is only configured properly AFTER a call to normalizeInput().
Parameters:
index - JDBC indexed column index (1, 2, ...)
Returns:
true if the column is an input, false otherwise

normalizeInput

public void normalizeInput(PyObject params,
                           PyObject bindings)
            throws SQLException
Prepare the binding dictionary with the correct datatypes.
Parameters:
params - a non-None list of params
bindings - a dictionary of bindings

prepareCall

public CallableStatement prepareCall()
            throws SQLException
Prepares the statement and registers the OUT/INOUT parameters (if any).
Returns:
CallableStatement

prepareCall

public CallableStatement prepareCall(PyObject rsType,
                                     PyObject rsConcur)
            throws SQLException
Prepares the statement and registers the OUT/INOUT parameters (if any).
Parameters:
rsType - the value of to be created ResultSet type
rsConcur - the value of the to be created ResultSet concurrency
Returns:
CallableStatement

toSql

public String toSql()
            throws SQLException
Returns the call in the syntax:

{? = call (?, ?, ...)} {call (?, ?, ...)}

As of now, all parameters variables are created and no support for named variable calling is supported.

Returns:
String

Jython homepage