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

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

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

Inheritance graph
[legend]
List of all members.

Public Member Functions

 AbstractRequest (String sqlQuery, boolean escapeProcessing, int timeout, String lineSeparator)
abstract boolean isReadRequest ()
abstract boolean isWriteRequest ()
abstract boolean isUnknownRequest ()
boolean isParsed ()
boolean isReadOnly ()
void setIsReadOnly (boolean isReadOnly)
int getCacheAbility ()
void setCacheAbility (int cacheAbility)
boolean getEscapeProcessing ()
long getId ()
void setId (long id)
boolean isAutoCommit ()
void setIsAutoCommit (boolean isAutoCommit)
String getLogin ()
String getLineSeparator ()
void setLineSeparator (String lineSeparator)
void setLogin (String login)
String getSQL ()
String getSQLShortForm (int nbOfCharacters)
int getMaxRows ()
void setMaxRows (int rows)
void setSQL (String sql)
int getTimeout ()
void setTimeout (int timeout)
long getTransactionId ()
void setTransactionId (long id)
boolean equals (Object other)
abstract void parse (DatabaseSchema schema, int granularity, boolean isCaseSensitive) throws SQLException
abstract void cloneParsing (AbstractRequest request)
String trimCarriageReturn ()
String getSqlSkeleton ()
void setSqlSkeleton (String skel)
boolean isDriverProcessed ()
void setDriverProcessed (boolean driverProcessed)
void setFetchSize (int fetchSize)
int getFetchSize ()
void debug ()

Protected Attributes

transient long id
String sqlQuery
String sqlSkeleton = null
String login
int cacheable
boolean isParsed
int maxRows
boolean isReadOnly = false
boolean isAutoCommit
long transactionId
int timeout
boolean escapeProcessing = true

Detailed Description

An AbstractRequest defines the skeleton of an SQL request.

Author:
Emmanuel Cecchet

Julie Marguerite

Mathieu Peltier

Version:
1.0

Definition at line 40 of file AbstractRequest.java.


Constructor & Destructor Documentation

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

Default constructor Creates a new AbstractRequest object

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

Definition at line 125 of file AbstractRequest.java.

00127   {
00128     this.sqlQuery = sqlQuery;
00129     this.escapeProcessing = escapeProcessing;
00130     this.timeout = timeout;
00131     this.lineSeparator = lineSeparator;
00132   }


Member Function Documentation

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

Clones the parsing of a request.

Parameters:
request the parsed request to clone

Implemented in org.objectweb.cjdbc.common.sql.AlterRequest, org.objectweb.cjdbc.common.sql.CreateRequest, org.objectweb.cjdbc.common.sql.DeleteRequest, org.objectweb.cjdbc.common.sql.DropRequest, org.objectweb.cjdbc.common.sql.InsertRequest, org.objectweb.cjdbc.common.sql.SelectRequest, org.objectweb.cjdbc.common.sql.StoredProcedure, org.objectweb.cjdbc.common.sql.UnknownRequest, and org.objectweb.cjdbc.common.sql.UpdateRequest.

Referenced by org.objectweb.cjdbc.controller.cache.parsing.ParsingCache.getParsingFromCache(), and org.objectweb.cjdbc.controller.cache.parsing.ParsingCache.getParsingFromCacheAndParseIfMissing().

void org.objectweb.cjdbc.common.sql.AbstractRequest.debug  ) 
 

Displays some debugging information about this request.

Reimplemented in org.objectweb.cjdbc.common.sql.CreateRequest, org.objectweb.cjdbc.common.sql.DeleteRequest, org.objectweb.cjdbc.common.sql.DropRequest, org.objectweb.cjdbc.common.sql.InsertRequest, org.objectweb.cjdbc.common.sql.SelectRequest, and org.objectweb.cjdbc.common.sql.UpdateRequest.

Definition at line 550 of file AbstractRequest.java.

References org.objectweb.cjdbc.common.sql.AbstractRequest.cacheable, and org.objectweb.cjdbc.common.sql.AbstractRequest.sqlQuery.

Referenced by org.objectweb.cjdbc.controller.virtualdatabase.protocol.Commit.commit(), org.objectweb.cjdbc.controller.requestmanager.distributed.RAIDb2DistributedRequestManager.distributedRollback(), org.objectweb.cjdbc.controller.requestmanager.distributed.RAIDb1DistributedRequestManager.distributedRollback(), org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLog.getCheckpointNames(), org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLog.recoverNextRequest(), org.objectweb.cjdbc.controller.virtualdatabase.protocol.Rollback.rollback(), org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLog.setBackendTableCreateStatement(), org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLog.setCheckpointTableCreateStatement(), org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLog.setLogTableCreateStatement(), and org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLog.storeCheckpoint().

00551   {
00552     System.out.println("Request: " + sqlQuery);
00553     System.out.print("Cacheable status: ");
00554     System.out.println(RequestType.getInformation(cacheable));
00555   }

boolean org.objectweb.cjdbc.common.sql.AbstractRequest.equals Object  other  ) 
 

Two requests are equal if they have the same SQL code.

Parameters:
other an object
Returns:
a boolean value

Definition at line 414 of file AbstractRequest.java.

References org.objectweb.cjdbc.common.sql.AbstractRequest.getSQL(), org.objectweb.cjdbc.common.sql.AbstractRequest.getTransactionId(), org.objectweb.cjdbc.common.sql.AbstractRequest.sqlQuery, and org.objectweb.cjdbc.common.sql.AbstractRequest.transactionId.

00415   {
00416     if (!(other instanceof AbstractRequest))
00417       return false;
00418 
00419     AbstractRequest r = (AbstractRequest) other;
00420     return sqlQuery.equals(r.getSQL())
00421         && (transactionId == r.getTransactionId());
00422   }

int org.objectweb.cjdbc.common.sql.AbstractRequest.getCacheAbility  ) 
 

Returns the cacheable status of this request. It can be: org.objectweb.cjdbc.common.sql.RequestType#CACHEABLE, org.objectweb.cjdbc.common.sql.RequestType#UNCACHEABLEor org.objectweb.cjdbc.common.sql.RequestType#UNIQUE_CACHEABLE

Returns:
a int value

Definition at line 197 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.common.sql.SelectRequest.cloneParsing(), org.objectweb.cjdbc.common.sql.AbstractWriteRequest.cloneTableNameAndColumns(), org.objectweb.cjdbc.controller.cache.result.ResultCache.getFromCache(), org.objectweb.cjdbc.controller.cache.result.schema.CacheDatabaseTable.invalidateAllExceptPk(), org.objectweb.cjdbc.controller.cache.result.schema.CacheDatabaseColumn.invalidateAllNonUnique(), org.objectweb.cjdbc.controller.cache.result.schema.CacheDatabaseColumn.invalidateAllNonUniqueAndMarkDirtyUnique(), org.objectweb.cjdbc.controller.cache.result.schema.CacheDatabaseColumn.invalidateAllUniqueWithValuesAndAllNonUnique(), org.objectweb.cjdbc.controller.cache.result.ResultCacheColumnUnique.isUpdateNecessary(), org.objectweb.cjdbc.controller.cache.result.schema.CacheDatabaseColumn.markDirtyAllNonUnique(), org.objectweb.cjdbc.controller.cache.result.ResultCacheColumnUnique.processAddToCache(), and org.objectweb.cjdbc.controller.cache.result.ResultCacheColumnUnique.processWriteNotify().

00198   {
00199     return cacheable;
00200   }

boolean org.objectweb.cjdbc.common.sql.AbstractRequest.getEscapeProcessing  ) 
 

Returns true if the driver should escape processing before sending to the database?

Returns:
a boolean value

Definition at line 221 of file AbstractRequest.java.

00222   {
00223     return escapeProcessing;
00224   }

int org.objectweb.cjdbc.common.sql.AbstractRequest.getFetchSize  ) 
 

Returns the fetchSize value.

Returns:
Returns the fetchSize.

Definition at line 542 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.virtualdatabase.ControllerResultSet.ControllerResultSet().

00543   {
00544     return fetchSize;
00545   }

long org.objectweb.cjdbc.common.sql.AbstractRequest.getId  ) 
 

Returns the unique id of this request.

Returns:
the request id

Definition at line 231 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.scheduler.raidb2.RAIDb2QueryLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1QueryLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1OptimisticTransactionLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb2.RAIDb2QueryLevelScheduler.readCompletedNotify(), and org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1QueryLevelScheduler.readCompletedNotify().

00232   {
00233     return id;
00234   }

String org.objectweb.cjdbc.common.sql.AbstractRequest.getLineSeparator  ) 
 

Returns the lineSeparator value.

Returns:
Returns the lineSeparator.

Definition at line 283 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.common.sql.CreateRequest.parse().

00284   {
00285     return lineSeparator;
00286   }

String org.objectweb.cjdbc.common.sql.AbstractRequest.getLogin  ) 
 

Returns the login used to issue this request.

Returns:
a String value

Definition at line 273 of file AbstractRequest.java.

00274   {
00275     return login;
00276   }

int org.objectweb.cjdbc.common.sql.AbstractRequest.getMaxRows  ) 
 

Get the maximum number of rows the ResultSet can contain.

Returns:
maximum number of rows
See also:
java.sql.Statement.getMaxRows()

Definition at line 339 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.virtualdatabase.ControllerResultSet.ControllerResultSet().

00340   {
00341     return maxRows;
00342   }

String org.objectweb.cjdbc.common.sql.AbstractRequest.getSQL  ) 
 

Gets the SQL code of this request.

Returns:
the SQL query

Definition at line 313 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.cache.metadata.MetadataCache.addMetadata(), org.objectweb.cjdbc.common.sql.AbstractRequest.equals(), org.objectweb.cjdbc.controller.cache.result.ResultCache.getFromCache(), org.objectweb.cjdbc.controller.cache.metadata.MetadataCache.getMetadata(), org.objectweb.cjdbc.controller.cache.parsing.ParsingCache.getParsingFromCache(), org.objectweb.cjdbc.controller.cache.parsing.ParsingCache.getParsingFromCacheAndParseIfMissing(), org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer.handleMacros(), org.objectweb.cjdbc.controller.scheduler.AbstractScheduler.hasSQLMacros(), org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.matches(), org.objectweb.cjdbc.controller.cache.result.ResultCacheRule.matches(), org.objectweb.cjdbc.controller.cache.result.ResultCacheColumnUnique.processWriteNotify(), org.objectweb.cjdbc.controller.cache.result.ResultCacheColumn.processWriteNotify(), org.objectweb.cjdbc.controller.cache.result.ResultCache.removeFromCache(), org.objectweb.cjdbc.controller.cache.result.ResultCache.removeFromPendingQueries(), org.objectweb.cjdbc.controller.cache.result.threads.RelaxedCacheThread.run(), org.objectweb.cjdbc.controller.cache.result.threads.EagerCacheThread.run(), org.objectweb.cjdbc.controller.cache.result.entries.ResultCacheEntryRelaxed.toStringTable(), and org.objectweb.cjdbc.controller.cache.result.entries.ResultCacheEntryEager.toStringTable().

00314   {
00315     return sqlQuery;
00316   }

String org.objectweb.cjdbc.common.sql.AbstractRequest.getSQLShortForm int  nbOfCharacters  ) 
 

Get a short form of this request if the SQL statement exceeds nbOfCharacters.

Parameters:
nbOfCharacters number of characters to include in the short form.
Returns:
the nbOfCharacters first characters of the SQL statement

Definition at line 325 of file AbstractRequest.java.

References org.objectweb.cjdbc.common.sql.AbstractRequest.sqlQuery.

Referenced by org.objectweb.cjdbc.controller.requestmanager.distributed.DistributedRequestManager.completeFailedOnAllBackends(), org.objectweb.cjdbc.controller.virtualdatabase.protocol.ExecWriteRequest.executeScheduledRequest(), org.objectweb.cjdbc.controller.cache.result.ResultCacheColumnUnique.processWriteNotify(), and org.objectweb.cjdbc.controller.virtualdatabase.protocol.ExecReadRequest.scheduleRequest().

00326   {
00327     if ((nbOfCharacters == 0) || (sqlQuery.length() < nbOfCharacters))
00328       return sqlQuery;
00329     else
00330       return sqlQuery.substring(0, nbOfCharacters) + "...";
00331   }

String org.objectweb.cjdbc.common.sql.AbstractRequest.getSqlSkeleton  ) 
 

Returns:
the SQL query skeleton given in a PreparedStatement.

Definition at line 493 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.cache.metadata.MetadataCache.addMetadata(), org.objectweb.cjdbc.controller.cache.metadata.MetadataCache.getMetadata(), org.objectweb.cjdbc.controller.cache.parsing.ParsingCache.getParsingFromCache(), org.objectweb.cjdbc.controller.cache.parsing.ParsingCache.getParsingFromCacheAndParseIfMissing(), org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer.handleMacros(), and org.objectweb.cjdbc.controller.monitoring.SQLMonitoringRule.matches().

00494   {
00495     return sqlSkeleton;
00496   }

int org.objectweb.cjdbc.common.sql.AbstractRequest.getTimeout  ) 
 

Gets the timeout for this request in seconds.

Returns:
timeout in seconds (0 means no timeout)

Definition at line 372 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.scheduler.schema.TransactionExclusiveLock.acquire(), org.objectweb.cjdbc.controller.scheduler.AbstractScheduler.begin(), org.objectweb.cjdbc.controller.scheduler.AbstractScheduler.commit(), and org.objectweb.cjdbc.controller.scheduler.AbstractScheduler.rollback().

00373   {
00374     return timeout;
00375   }

long org.objectweb.cjdbc.common.sql.AbstractRequest.getTransactionId  ) 
 

Gets the identifier of the transaction if this request belongs to a transaction, or -1 if this request does not belong to a transaction.

Returns:
transaction identifier or -1

Definition at line 393 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.scheduler.schema.TransactionExclusiveLock.acquire(), org.objectweb.cjdbc.common.sql.AbstractRequest.equals(), org.objectweb.cjdbc.controller.scheduler.singledb.SingleDBPessimisticTransactionLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb2.RAIDb2PessimisticTransactionLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1PessimisticTransactionLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1OptimisticQueryLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb0.RAIDb0PessimisticTransactionLevelScheduler.notifyWriteCompleted(), and org.objectweb.cjdbc.controller.scheduler.schema.TransactionExclusiveLock.release().

00394   {
00395     return transactionId;
00396   }

boolean org.objectweb.cjdbc.common.sql.AbstractRequest.isAutoCommit  ) 
 

Returns true if the request should be executed in autocommit mode.

Returns:
a boolean value

Definition at line 252 of file AbstractRequest.java.

00253   {
00254     return isAutoCommit;
00255   }

boolean org.objectweb.cjdbc.common.sql.AbstractRequest.isDriverProcessed  ) 
 

Returns the driverProcessed value.

Returns:
Returns the driverProcessed.

Definition at line 512 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer.handleMacros().

00513   {
00514     return driverProcessed;
00515   }

boolean org.objectweb.cjdbc.common.sql.AbstractRequest.isParsed  ) 
 

Returns true if the request SQL content has been already parsed.

Returns:
a boolean value

Definition at line 164 of file AbstractRequest.java.

00165   {
00166     return isParsed;
00167   }

boolean org.objectweb.cjdbc.common.sql.AbstractRequest.isReadOnly  ) 
 

Returns true if the connection is set to read-only

Returns:
a boolean value

Definition at line 174 of file AbstractRequest.java.

00175   {
00176     return isReadOnly;
00177   }

abstract boolean org.objectweb.cjdbc.common.sql.AbstractRequest.isReadRequest  )  [pure virtual]
 

Returns true if this request is a read request ( SELECT requests for example perform a read).

Returns:
true if this request is a read request

Implemented in org.objectweb.cjdbc.common.sql.AbstractWriteRequest, org.objectweb.cjdbc.common.sql.AlterRequest, org.objectweb.cjdbc.common.sql.SelectRequest, org.objectweb.cjdbc.common.sql.StoredProcedure, and org.objectweb.cjdbc.common.sql.UnknownRequest.

abstract boolean org.objectweb.cjdbc.common.sql.AbstractRequest.isUnknownRequest  )  [pure virtual]
 

Returns true if the resulting operation on this request is unknown (some non-standard command or stored procedure for example).

Returns:
a boolean value

Implemented in org.objectweb.cjdbc.common.sql.AbstractWriteRequest, org.objectweb.cjdbc.common.sql.AlterRequest, org.objectweb.cjdbc.common.sql.SelectRequest, org.objectweb.cjdbc.common.sql.StoredProcedure, and org.objectweb.cjdbc.common.sql.UnknownRequest.

abstract boolean org.objectweb.cjdbc.common.sql.AbstractRequest.isWriteRequest  )  [pure virtual]
 

Returns true if this request is a write request ( INSERT or UPDATE for example perform writes).

Returns:
true if this requests is a write request

Implemented in org.objectweb.cjdbc.common.sql.AbstractWriteRequest, org.objectweb.cjdbc.common.sql.AlterRequest, org.objectweb.cjdbc.common.sql.SelectRequest, org.objectweb.cjdbc.common.sql.StoredProcedure, and org.objectweb.cjdbc.common.sql.UnknownRequest.

Referenced by org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer.handleMacros().

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

Parses the SQL request and extract the selected columns and tables given the DatabaseSchema of the database targeted by this request.

An exception is thrown when the parsing fails. Warning, this method does not check the validity of the request. In particular, invalid request could be parsed without throwing an exception. However, valid SQL request should never throw an exception.

Parameters:
schema a DatabaseSchema value
granularity parsing granularity as defined in ParsingGranularities
isCaseSensitive true if parsing must be case sensitive
Exceptions:
SQLException if the parsing fails

Implemented in org.objectweb.cjdbc.common.sql.AlterRequest, org.objectweb.cjdbc.common.sql.CreateRequest, org.objectweb.cjdbc.common.sql.DeleteRequest, org.objectweb.cjdbc.common.sql.DropRequest, org.objectweb.cjdbc.common.sql.InsertRequest, org.objectweb.cjdbc.common.sql.SelectRequest, org.objectweb.cjdbc.common.sql.StoredProcedure, org.objectweb.cjdbc.common.sql.UnknownRequest, and org.objectweb.cjdbc.common.sql.UpdateRequest.

void org.objectweb.cjdbc.common.sql.AbstractRequest.setCacheAbility int  cacheAbility  ) 
 

Set the cacheable status of this request. It can be: org.objectweb.cjdbc.common.sql.RequestType#CACHEABLE, org.objectweb.cjdbc.common.sql.RequestType#UNCACHEABLEor org.objectweb.cjdbc.common.sql.RequestType#UNIQUE_CACHEABLE

Parameters:
cacheAbility a int value

Definition at line 210 of file AbstractRequest.java.

00211   {
00212     this.cacheable = cacheAbility;
00213   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setDriverProcessed boolean  driverProcessed  ) 
 

Sets the driverProcessed value.

Parameters:
driverProcessed The driverProcessed to set.

Definition at line 522 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.driver.Connection.setConnectionParametersOnRequest().

00523   {
00524     this.driverProcessed = driverProcessed;
00525   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setFetchSize int  fetchSize  ) 
 

Sets the fetchSize value.

Parameters:
fetchSize The fetchSize to set.

Definition at line 532 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.driver.Statement.executeQuery().

00533   {
00534     this.fetchSize = fetchSize;
00535   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setId long  id  ) 
 

Sets the unique id of this request.

Parameters:
id the id to set

Definition at line 241 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.scheduler.singledb.SingleDBPassThroughScheduler.scheduleNonSuspendedWriteRequest(), org.objectweb.cjdbc.controller.scheduler.raidb2.RAIDb2PassThroughLevelScheduler.scheduleNonSuspendedWriteRequest(), org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1PassThroughScheduler.scheduleNonSuspendedWriteRequest(), org.objectweb.cjdbc.controller.scheduler.raidb0.RAIDb0PassThroughLevelScheduler.scheduleNonSuspendedWriteRequest(), org.objectweb.cjdbc.controller.scheduler.singledb.SingleDBPassThroughScheduler.scheduleReadRequest(), org.objectweb.cjdbc.controller.scheduler.raidb2.RAIDb2PassThroughLevelScheduler.scheduleReadRequest(), org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1PassThroughScheduler.scheduleReadRequest(), and org.objectweb.cjdbc.controller.scheduler.raidb0.RAIDb0PassThroughLevelScheduler.scheduleReadRequest().

00242   {
00243     this.id = id;
00244   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setIsAutoCommit boolean  isAutoCommit  ) 
 

Sets the autocommit mode for this request.

Parameters:
isAutoCommit true if autocommit should be used

Definition at line 263 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLog.recoverNextRequest(), and org.objectweb.cjdbc.driver.Connection.setConnectionParametersOnRequest().

00264   {
00265     this.isAutoCommit = isAutoCommit;
00266   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setIsReadOnly boolean  isReadOnly  ) 
 

Sets the read-only mode for this request.

Parameters:
isReadOnly true if connection is read-only

Definition at line 184 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.driver.Connection.setConnectionParametersOnRequest().

00185   {
00186     this.isReadOnly = isReadOnly;
00187   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setLineSeparator String  lineSeparator  ) 
 

Sets the lineSeparator value.

Parameters:
lineSeparator The lineSeparator to set.

Definition at line 293 of file AbstractRequest.java.

00294   {
00295     this.lineSeparator = lineSeparator;
00296   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setLogin String  login  ) 
 

Sets the login to use to issue this request.

Parameters:
login a String value

Definition at line 303 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLog.recoverNextRequest().

00304   {
00305     this.login = login;
00306   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setMaxRows int  rows  ) 
 

Set the maximum number of rows in the ResultSet.

Parameters:
rows maximum number of rows
See also:
java.sql.Statement.setMaxRows(int)

Definition at line 350 of file AbstractRequest.java.

References org.objectweb.cjdbc.common.sql.AbstractRequest.maxRows.

Referenced by org.objectweb.cjdbc.driver.Statement.executeQuery().

00351   {
00352     maxRows = rows;
00353   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setSQL String  sql  ) 
 

Set the SQL code of this request. Warning! The request parsing validity is not checked. The caller has to recall parse(DatabaseSchema, int, boolean)if needed.

Parameters:
sql SQL statement

Definition at line 362 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer.handleMacros().

00363   {
00364     this.sqlQuery = sql;
00365   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setSqlSkeleton String  skel  ) 
 

Parameters:
skel set the SQL query skeleton given in a PreparedStatement.

Definition at line 502 of file AbstractRequest.java.

References org.objectweb.cjdbc.common.sql.AbstractRequest.sqlSkeleton.

Referenced by org.objectweb.cjdbc.driver.Statement.executeQuery(), org.objectweb.cjdbc.driver.Statement.executeUpdateWithSkeleton(), and org.objectweb.cjdbc.controller.loadbalancer.AbstractLoadBalancer.handleMacros().

00503   {
00504     sqlSkeleton = skel;
00505   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setTimeout int  timeout  ) 
 

Sets the new timeout in seconds for this request.

Parameters:
timeout an int value

Definition at line 382 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.scheduler.schema.TransactionExclusiveLock.acquire(), org.objectweb.cjdbc.controller.scheduler.AbstractScheduler.begin(), org.objectweb.cjdbc.controller.scheduler.AbstractScheduler.commit(), and org.objectweb.cjdbc.controller.scheduler.AbstractScheduler.rollback().

00383   {
00384     this.timeout = timeout;
00385   }

void org.objectweb.cjdbc.common.sql.AbstractRequest.setTransactionId long  id  ) 
 

Sets the transaction identifier this request belongs to.

Parameters:
id transaction id

Definition at line 403 of file AbstractRequest.java.

References org.objectweb.cjdbc.common.sql.AbstractRequest.transactionId.

Referenced by org.objectweb.cjdbc.controller.virtualdatabase.protocol.Commit.commit(), org.objectweb.cjdbc.controller.requestmanager.distributed.RAIDb2DistributedRequestManager.distributedCommit(), org.objectweb.cjdbc.controller.requestmanager.distributed.RAIDb1DistributedRequestManager.distributedCommit(), org.objectweb.cjdbc.controller.requestmanager.distributed.RAIDb2DistributedRequestManager.distributedRollback(), org.objectweb.cjdbc.controller.requestmanager.distributed.RAIDb1DistributedRequestManager.distributedRollback(), org.objectweb.cjdbc.controller.recoverylog.JDBCRecoveryLog.recoverNextRequest(), and org.objectweb.cjdbc.controller.virtualdatabase.protocol.Rollback.rollback().

00404   {
00405     transactionId = id;
00406   }

String org.objectweb.cjdbc.common.sql.AbstractRequest.trimCarriageReturn  ) 
 

If the query has a skeleton defined, return the skeleton wth all carriage returns replaces with spaces. If no SQL skeleton is defined, we perform the same processing on the instanciated SQL statement.

Returns:
statement with CR replaces by spaces

Definition at line 456 of file AbstractRequest.java.

References org.objectweb.cjdbc.common.sql.AbstractRequest.sqlQuery, and org.objectweb.cjdbc.common.sql.AbstractRequest.sqlSkeleton.

00457   {
00458     if (sqlSkeleton != null)
00459       return trimCarriageReturn(sqlSkeleton);
00460     else
00461       return trimCarriageReturn(sqlQuery);
00462   }


Member Data Documentation

int org.objectweb.cjdbc.common.sql.AbstractRequest.cacheable [protected]
 

Whether this request is cacheable or not.

Definition at line 58 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.common.sql.AbstractRequest.debug().

boolean org.objectweb.cjdbc.common.sql.AbstractRequest.escapeProcessing = true [protected]
 

Should the driver do escape processing before sending to the database? No setter for this member, should be set in constructor.

Definition at line 101 of file AbstractRequest.java.

transient long org.objectweb.cjdbc.common.sql.AbstractRequest.id [protected]
 

Request unique id (set by the controller).

Definition at line 43 of file AbstractRequest.java.

boolean org.objectweb.cjdbc.common.sql.AbstractRequest.isAutoCommit [protected]
 

Whether this request has been sent in autocommit mode or not.

Definition at line 83 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.controller.scheduler.schema.TransactionExclusiveLock.acquire(), org.objectweb.cjdbc.controller.scheduler.singledb.SingleDBPessimisticTransactionLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb2.RAIDb2PessimisticTransactionLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1PessimisticTransactionLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1OptimisticTransactionLevelScheduler.notifyWriteCompleted(), org.objectweb.cjdbc.controller.scheduler.raidb1.RAIDb1OptimisticQueryLevelScheduler.notifyWriteCompleted(), and org.objectweb.cjdbc.controller.scheduler.raidb0.RAIDb0PessimisticTransactionLevelScheduler.notifyWriteCompleted().

boolean org.objectweb.cjdbc.common.sql.AbstractRequest.isParsed [protected]
 

Whether the SQL content has been parsed or not.

Definition at line 61 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.common.sql.UpdateRequest.cloneParsing(), org.objectweb.cjdbc.common.sql.SelectRequest.cloneParsing(), org.objectweb.cjdbc.common.sql.InsertRequest.cloneParsing(), org.objectweb.cjdbc.common.sql.DropRequest.cloneParsing(), org.objectweb.cjdbc.common.sql.DeleteRequest.cloneParsing(), org.objectweb.cjdbc.common.sql.CreateRequest.cloneParsing(), org.objectweb.cjdbc.common.sql.AlterRequest.cloneParsing(), and org.objectweb.cjdbc.controller.cache.parsing.ParsingCache.getParsingFromCache().

boolean org.objectweb.cjdbc.common.sql.AbstractRequest.isReadOnly = false [protected]
 

True if the connection has been set to read-only

Definition at line 77 of file AbstractRequest.java.

String org.objectweb.cjdbc.common.sql.AbstractRequest.login [protected]
 

Login used to issue this request (must be set by the VirtualDatabaseWorkerThread).

Definition at line 55 of file AbstractRequest.java.

int org.objectweb.cjdbc.common.sql.AbstractRequest.maxRows [protected]
 

Maximum number of rows in the ResultSet.

See also:
java.sql.Statement.setMaxRows(int)

Definition at line 68 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.common.sql.AbstractRequest.setMaxRows().

String org.objectweb.cjdbc.common.sql.AbstractRequest.sqlQuery [protected]
 

SQL query (should be set in constructor).

Definition at line 46 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.common.sql.AbstractRequest.debug(), org.objectweb.cjdbc.common.sql.AbstractRequest.equals(), org.objectweb.cjdbc.common.sql.AbstractRequest.getSQLShortForm(), and org.objectweb.cjdbc.common.sql.AbstractRequest.trimCarriageReturn().

String org.objectweb.cjdbc.common.sql.AbstractRequest.sqlSkeleton = null [protected]
 

SQL query skeleton as it appears in PreparedStatements.

Definition at line 49 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.common.sql.AbstractRequest.setSqlSkeleton(), and org.objectweb.cjdbc.common.sql.AbstractRequest.trimCarriageReturn().

int org.objectweb.cjdbc.common.sql.AbstractRequest.timeout [protected]
 

Timeout for this request in seconds, value 0 means no timeout (should be set in constructor).

Definition at line 95 of file AbstractRequest.java.

long org.objectweb.cjdbc.common.sql.AbstractRequest.transactionId [protected]
 

Transaction identifier if this request belongs to a transaction. The value is set by the VirtualDatabaseWorkerThread.

Definition at line 89 of file AbstractRequest.java.

Referenced by org.objectweb.cjdbc.common.sql.AbstractRequest.equals(), and org.objectweb.cjdbc.common.sql.AbstractRequest.setTransactionId().


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