|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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
ParsingGranularities
isCaseSensitive
- true if parsing is case sensitive
java.sql.SQLException
- if an error occurspublic 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
AbstractRequest
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.
parse
in class AbstractRequest
schema
- a DatabaseSchema
valuegranularity
- parsing granularity as defined in
ParsingGranularities
isCaseSensitive
- 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 AbstractRequest
request
- the parsed request to cloneAbstractRequest.cloneParsing(AbstractRequest)
public DatabaseTable getDatabaseTable()
DatabaseTable
valuepublic java.util.ArrayList getFromTables()
ArrayList
public boolean needsMacroProcessing()
AbstractRequest
true
if this request requires macro (RAND(), NOW(),
...) processing.
needsMacroProcessing
in class AbstractRequest
true
if macro processing is requiredAbstractRequest.needsMacroProcessing()
public boolean returnsResultSet()
AbstractRequest
returnsResultSet
in class AbstractRequest
AbstractRequest.returnsResultSet()
public void debug()
debug
in class AbstractRequest
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |