org.objectweb.cjdbc.common.sql
Class StoredProcedure

java.lang.Object
  extended byorg.objectweb.cjdbc.common.sql.AbstractRequest
      extended byorg.objectweb.cjdbc.common.sql.StoredProcedure
All Implemented Interfaces:
java.io.Serializable

public class StoredProcedure
extends AbstractRequest

A StoredProcedure is a SQL request with the following syntax:

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

Version:
1.0
Author:
Emmanuel Cecchet
See Also:
Serialized Form

Field Summary
private  java.lang.String procedureName
           
 
Fields inherited from class org.objectweb.cjdbc.common.sql.AbstractRequest
cacheable, escapeProcessing, id, isAutoCommit, isParsed, isReadOnly, login, maxRows, sqlQuery, sqlSkeleton, timeout, transactionId
 
Constructor Summary
StoredProcedure(java.lang.String sqlQuery, boolean escapeProcessing, int timeout, java.lang.String lineSeparator)
          Creates a new StoredProcedure instance.
 
Method Summary
 void cloneParsing(AbstractRequest request)
          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.
 java.lang.String getProcedureName()
          Get the stored procedure name
 boolean isReadRequest()
          Returns true if this request is a read request ( SELECT requests for example perform a read).
 boolean isUnknownRequest()
          Returns true if the resulting operation on this request is unknown (some non-standard command or stored procedure for example).
 boolean isWriteRequest()
          Returns true if this request is a write request ( INSERT or UPDATE for example perform writes).
 void parse(DatabaseSchema schema, int granularity, boolean isCaseSensitive)
          Just get the stored procedure name.
 
Methods inherited from class org.objectweb.cjdbc.common.sql.AbstractRequest
debug, equals, getCacheAbility, getEscapeProcessing, getFetchSize, getId, getLineSeparator, getLogin, getMaxRows, getSQL, getSQLShortForm, getSqlSkeleton, getTimeout, getTransactionId, isAutoCommit, isDriverProcessed, isParsed, isReadOnly, setCacheAbility, setDriverProcessed, setFetchSize, setId, setIsAutoCommit, setIsReadOnly, setLineSeparator, setLogin, setMaxRows, setSQL, setSqlSkeleton, setTimeout, setTransactionId, trimCarriageReturn
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

procedureName

private transient java.lang.String procedureName
Constructor Detail

StoredProcedure

public StoredProcedure(java.lang.String sqlQuery,
                       boolean escapeProcessing,
                       int timeout,
                       java.lang.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(org.objectweb.cjdbc.common.sql.schema.DatabaseSchema, int, boolean)
Method Detail

isReadRequest

public boolean isReadRequest()
Description copied from class: AbstractRequest
Returns true if this request is a read request ( SELECT requests for example perform a read).

Specified by:
isReadRequest in class AbstractRequest
Returns:
false
See Also:
AbstractRequest.isReadRequest()

isWriteRequest

public boolean isWriteRequest()
Description copied from class: AbstractRequest
Returns true if this request is a write request ( INSERT or UPDATE for example perform writes).

Specified by:
isWriteRequest in class AbstractRequest
Returns:
false
See Also:
AbstractRequest.isWriteRequest()

isUnknownRequest

public boolean isUnknownRequest()
Description copied from class: AbstractRequest
Returns true if the resulting operation on this request is unknown (some non-standard command or stored procedure for example).

Specified by:
isUnknownRequest in class AbstractRequest
Returns:
true
See Also:
AbstractRequest.isUnknownRequest()

getProcedureName

public java.lang.String getProcedureName()
Get the stored procedure name

Returns:
the stored procedure name

parse

public void parse(DatabaseSchema schema,
                  int granularity,
                  boolean isCaseSensitive)
           throws java.sql.SQLException
Just get the stored procedure name.

Specified by:
parse in class AbstractRequest
Parameters:
schema - a DatabaseSchema value
granularity - parsing granularity as defined in ParsingGranularities
isCaseSensitive - true if parsing must be case sensitive
Throws:
java.sql.SQLException - if the parsing fails
See Also:
AbstractRequest.parse(org.objectweb.cjdbc.common.sql.schema.DatabaseSchema, int, boolean)

cloneParsing

public void cloneParsing(AbstractRequest request)
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.

Specified by:
cloneParsing in class AbstractRequest
Parameters:
request - the parsed request to clone
See Also:
AbstractRequest.cloneParsing(AbstractRequest)


Copyright © 2002, 2005 - ObjectWeb Consortium - All Rights Reserved.