Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

org.objectweb.cjdbc.common.sql.StoredProcedure Class Reference

Inheritance diagram for org.objectweb.cjdbc.common.sql.StoredProcedure:

Inheritance graph
[legend]
Collaboration diagram for org.objectweb.cjdbc.common.sql.StoredProcedure:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 StoredProcedure (String sqlQuery, boolean escapeProcessing, int timeout, String lineSeparator)
boolean isReadRequest ()
boolean isWriteRequest ()
boolean isUnknownRequest ()
String getProcedureName ()
void parse (DatabaseSchema schema, int granularity, boolean isCaseSensitive) throws SQLException
void cloneParsing (AbstractRequest request)

Detailed Description

A StoredProcedure is a SQL request with the following syntax:

   {call <procedure-name>[<arg1>,<arg2>, ...]}

 

Author:
Emmanuel Cecchet
Version:
1.0

Definition at line 43 of file StoredProcedure.java.


Constructor & Destructor Documentation

org.objectweb.cjdbc.common.sql.StoredProcedure.StoredProcedure String  sqlQuery,
boolean  escapeProcessing,
int  timeout,
String  lineSeparator
 

Creates a new StoredProcedure instance.

Parameters:
sqlQuery the SQL request
escapeProcessing should the driver to escape processing before sending to the database ?
timeout an int value
lineSeparator the line separator used in the query
See also:
parse

Definition at line 57 of file StoredProcedure.java.

00059   {
00060     super(sqlQuery, escapeProcessing, timeout, lineSeparator);
00061     cacheable = RequestType.UNCACHEABLE;
00062     isParsed = false;
00063   }


Member Function Documentation

void org.objectweb.cjdbc.common.sql.StoredProcedure.cloneParsing AbstractRequest  request  )  [virtual]
 

Always throws a SQLException: it is useless to parse a stored procedure call since we can't know which tables are affected by this procedure.

See also:
AbstractRequest.cloneParsing(AbstractRequest)

Implements org.objectweb.cjdbc.common.sql.AbstractRequest.

Definition at line 141 of file StoredProcedure.java.

00142   {
00143     throw new RuntimeException(
00144         "Unable to clone the parsing of a stored procedure call");
00145   }

String org.objectweb.cjdbc.common.sql.StoredProcedure.getProcedureName  ) 
 

Get the stored procedure name

Returns:
the stored procedure name

Definition at line 97 of file StoredProcedure.java.

References org.objectweb.cjdbc.common.sql.StoredProcedure.parse().

00098   {
00099     if (procedureName == null)
00100       try
00101       {
00102         parse(null, 0, true);
00103       }
00104       catch (SQLException e)
00105       {
00106         return null;
00107       }
00108     return procedureName;
00109   }

boolean org.objectweb.cjdbc.common.sql.StoredProcedure.isReadRequest  )  [virtual]
 

Returns:
false
See also:
org.objectweb.cjdbc.common.sql.AbstractRequest.isReadRequest()

Implements org.objectweb.cjdbc.common.sql.AbstractRequest.

Definition at line 69 of file StoredProcedure.java.

00070   {
00071     return false;
00072   }

boolean org.objectweb.cjdbc.common.sql.StoredProcedure.isUnknownRequest  )  [virtual]
 

Returns:
true
See also:
org.objectweb.cjdbc.common.sql.AbstractRequest.isUnknownRequest()

Implements org.objectweb.cjdbc.common.sql.AbstractRequest.

Definition at line 87 of file StoredProcedure.java.

00088   {
00089     return true;
00090   }

boolean org.objectweb.cjdbc.common.sql.StoredProcedure.isWriteRequest  )  [virtual]
 

Returns:
false
See also:
org.objectweb.cjdbc.common.sql.AbstractRequest.isWriteRequest()

Implements org.objectweb.cjdbc.common.sql.AbstractRequest.

Definition at line 78 of file StoredProcedure.java.

00079   {
00080     return false;
00081   }

void org.objectweb.cjdbc.common.sql.StoredProcedure.parse DatabaseSchema  schema,
int  granularity,
boolean  isCaseSensitive
throws SQLException [virtual]
 

Just get the stored procedure name.

See also:
org.objectweb.cjdbc.common.sql.AbstractRequest.parse(org.objectweb.cjdbc.common.sql.schema.DatabaseSchema, int, boolean)

Implements org.objectweb.cjdbc.common.sql.AbstractRequest.

Definition at line 117 of file StoredProcedure.java.

Referenced by org.objectweb.cjdbc.common.sql.StoredProcedure.getProcedureName().

00119   {
00120     sqlQuery = sqlQuery.trim();
00121     if (sqlQuery.length() < 6) // 6='call x'
00122       throw new SQLException("Malformed stored procedure call '" + sqlQuery
00123           + "'");
00124 
00125     int parenthesis = sqlQuery.indexOf('(');
00126     if (parenthesis == -1)
00127       procedureName = sqlQuery.substring(5); // 5 = 'call '
00128     else
00129       procedureName = sqlQuery.substring(5, parenthesis); // 5 = 'call '
00130     // Remove possible extra spaces between call and procedure name
00131     procedureName = procedureName.trim();
00132   }


The documentation for this class was generated from the following file:
Generated on Mon Apr 11 22:02:09 2005 for C-JDBC by  doxygen 1.3.9.1