|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.objectweb.cjdbc.common.sql.AbstractRequest
org.objectweb.cjdbc.common.sql.AbstractWriteRequest
org.objectweb.cjdbc.common.sql.CreateRequest
A CreateRequest is a SQL request of the following syntax:
CREATE [TEMPORARY] TABLE table-name [(column-name column-type [,column-name colum-type]* [,table-constraint-definition]*)]
| Field Summary | |
private boolean |
alterDatabaseSchema
alterDatabaseSchema is true if this create request alters the current database schema (using create table, create schema, create view) and false otherwise (create database, create index, create function, create method, create role, create trigger, create type). |
private boolean |
alterDefinitions
alterDefinitions is true if this create request alters the current database definitions (using create function, create method, create trigger, create type) and false otherwise (create database, create table, create schema, create view, create index, create role). |
private java.util.ArrayList |
fromTables
List of tables used to fill the created table in case of create query containing a select. |
private static long |
serialVersionUID
|
private DatabaseTable |
table
The table to create. |
| Fields inherited from class org.objectweb.cjdbc.common.sql.AbstractWriteRequest |
blocking, columns, pkValue, tableName |
| Fields inherited from class org.objectweb.cjdbc.common.sql.AbstractRequest |
cacheable, cursorName, escapeProcessing, fetchSize, id, isAutoCommit, isParsed, isReadOnly, login, maxRows, requestType, sqlQuery, sqlSkeleton, timeoutInSeconds, transactionId, transactionIsolation |
| Constructor Summary | |
CreateRequest(CJDBCInputStream in)
|
|
CreateRequest(java.lang.String sqlQuery,
boolean escapeProcessing,
int timeout,
java.lang.String lineSeparator)
Creates a new CreateRequest instance. |
|
CreateRequest(java.lang.String sqlQuery,
boolean escapeProcessing,
int timeout,
java.lang.String lineSeparator,
DatabaseSchema schema,
int granularity,
boolean isCaseSensitive)
Creates a new CreateRequest instance. |
|
| Method Summary | |
boolean |
altersDatabaseSchema()
Returns true if this create request alters the current database schema (using create table, create schema, create view) and false otherwise (create database, create index, create function, create method, create procedure, create role, create trigger, create type). |
boolean |
altersDefinitions()
Returns true if this create request alters the current database definitions (using create function, create method, create procedure, create trigger, create type) and false otherwise (create database, create table, create schema, create view, create index, create role). |
void |
cloneParsing(AbstractRequest request)
Clones the parsing of a request. |
void |
debug()
Displays some debugging information about this request. |
DatabaseTable |
getDatabaseTable()
Gets the database table created by this statement (in case of a CREATE TABLE statement). |
java.util.ArrayList |
getFromTables()
Returns the list of tables used to fill the created table in case of create query containing a select. |
boolean |
needsMacroProcessing()
Returns true if this request requires macro (RAND(), NOW(),
...) processing. |
void |
parse(DatabaseSchema schema,
int granularity,
boolean isCaseSensitive)
Parses the SQL request and extract the selected columns and tables given the DatabaseSchema of the database targeted by this request.
|
boolean |
returnsResultSet()
Does this request returns a ResultSet? |
| Methods inherited from class org.objectweb.cjdbc.common.sql.AbstractWriteRequest |
cloneTableNameAndColumns, getColumns, getPk, getTableName, mightBlock, setBlocking |
| Methods inherited from class org.objectweb.cjdbc.common.sql.AbstractRequest |
equals, getCacheAbility, getCursorName, getEscapeProcessing, getFetchSize, getId, getLineSeparator, getLogin, getMaxRows, getSQL, getSQLShortForm, getSqlSkeleton, getTimeout, getTransactionId, getTransactionIsolation, isAlter, isAutoCommit, isCreate, isDDL, isDelete, isDML, isDriverProcessed, isDrop, isInsert, isParsed, isReadOnly, isSelect, isUpdate, receiveResultSetParams, sendResultSetParams, sendToStream, setCacheAbility, setCursorName, setDriverProcessed, setFetchSize, setId, setIsAutoCommit, setIsReadOnly, setLogin, setMaxRows, setSQL, setSqlSkeleton, setTimeout, setTransactionId, setTransactionIsolation, trimCarriageReturnAndTabs |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
private static final long serialVersionUID
private transient DatabaseTable table
private transient java.util.ArrayList fromTables
private boolean alterDatabaseSchema
To force a refresh in case we don't understand the query, we default to true.
private boolean alterDefinitions
To force a refresh in case we don't understand the query, we default to true.
| Constructor Detail |
public CreateRequest(java.lang.String sqlQuery,
boolean escapeProcessing,
int timeout,
java.lang.String lineSeparator,
DatabaseSchema schema,
int granularity,
boolean isCaseSensitive)
throws java.sql.SQLException
CreateRequest instance. The caller must give
an SQL request, without any leading or trailing spaces and beginning with
'create table ' (it will not be checked).
If the syntax is incorrect an exception is thrown.
sqlQuery - the SQL requestescapeProcessing - should the driver to escape processing before
sending to the database?timeout - an int valuelineSeparator - the line separator used in the queryschema - a DatabaseSchema valuegranularity - parsing granularity as defined in
ParsingGranularitiesisCaseSensitive - true if parsing is case sensitive
java.sql.SQLException - if an error occurs
public CreateRequest(java.lang.String sqlQuery,
boolean escapeProcessing,
int timeout,
java.lang.String lineSeparator)
CreateRequest instance. The caller must give
an SQL request, without any leading or trailing spaces and beginning with
'create table ' (it will not be checked).
The request is not parsed but it can be done later by a call to
parse(DatabaseSchema, int, boolean).
sqlQuery - the SQL requestescapeProcessing - should the driver to escape processing before
sending to the database ?timeout - an int valuelineSeparator - the line separator used in the queryparse(org.objectweb.cjdbc.common.sql.schema.DatabaseSchema, int, boolean)
public CreateRequest(CJDBCInputStream in)
throws java.io.IOException
AbstractWriteRequest| Method Detail |
public void parse(DatabaseSchema schema,
int granularity,
boolean isCaseSensitive)
throws java.sql.SQLException
AbstractRequestDatabaseSchema 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.
parse in class AbstractRequestschema - a DatabaseSchema valuegranularity - parsing granularity as defined in
ParsingGranularitiesisCaseSensitive - true if parsing must be case sensitive
java.sql.SQLException - if the parsing failsAbstractRequest.parse(org.objectweb.cjdbc.common.sql.schema.DatabaseSchema,
int, boolean)public boolean altersDatabaseSchema()
public boolean altersDefinitions()
public void cloneParsing(AbstractRequest request)
AbstractRequest
cloneParsing in class AbstractRequestrequest - the parsed request to cloneAbstractRequest.cloneParsing(AbstractRequest)public DatabaseTable getDatabaseTable()
DatabaseTable valuepublic java.util.ArrayList getFromTables()
ArrayListpublic boolean needsMacroProcessing()
AbstractRequesttrue if this request requires macro (RAND(), NOW(),
...) processing.
needsMacroProcessing in class AbstractRequesttrue if macro processing is requiredAbstractRequest.needsMacroProcessing()public boolean returnsResultSet()
AbstractRequest
returnsResultSet in class AbstractRequestAbstractRequest.returnsResultSet()public void debug()
debug in class AbstractRequest
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||