Package com.ziclix.python.sql
Class Procedure
- java.lang.Object
-
- com.ziclix.python.sql.Procedure
-
public class Procedure extends java.lang.Object
This class provides the necessary functionality to call stored procedures. It handles managing the database metadata and binding the appropriate parameters.- Author:
- brian zimmer
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.java.sql.CallableStatement
prepareCall()
Prepares the statement and registers the OUT/INOUT parameters (if any).java.sql.CallableStatement
prepareCall(PyObject rsType, PyObject rsConcur)
Prepares the statement and registers the OUT/INOUT parameters (if any).java.lang.String
toSql()
Returns the call in the syntax:
-
-
-
Method Detail
-
prepareCall
public java.sql.CallableStatement prepareCall() throws java.sql.SQLException
Prepares the statement and registers the OUT/INOUT parameters (if any).- Returns:
- CallableStatement
- Throws:
java.sql.SQLException
-
prepareCall
public java.sql.CallableStatement prepareCall(PyObject rsType, PyObject rsConcur) throws java.sql.SQLException
Prepares the statement and registers the OUT/INOUT parameters (if any).- Parameters:
rsType
- the value of to be created ResultSet typersConcur
- the value of the to be created ResultSet concurrency- Returns:
- CallableStatement
- Throws:
java.sql.SQLException
-
normalizeInput
public void normalizeInput(PyObject params, PyObject bindings) throws java.sql.SQLException
Prepare the binding dictionary with the correct datatypes.- Parameters:
params
- a non-None list of paramsbindings
- a dictionary of bindings- Throws:
java.sql.SQLException
-
isInput
public boolean isInput(int index) throws java.sql.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
- Throws:
java.sql.SQLException
-
toSql
public java.lang.String toSql() throws java.sql.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
- Throws:
java.sql.SQLException
-
-