|
Nuxeo Enterprise Platform 5.4 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.nuxeo.ecm.core.storage.sql.jdbc.SQLInfo
public class SQLInfo
This singleton generates and holds the actual SQL DDL and DML statements for
the operations needed by the Mapper
, given a Model
.
It is specific to one SQL dialect.
Nested Class Summary | |
---|---|
static class |
SQLInfo.ColumnMapMaker
Builds the map from a result set given a list of columns and column keys. |
static interface |
SQLInfo.MapMaker
Knows how to build a result map for a row given a ResultSet . |
static class |
SQLInfo.SQLInfoSelect
|
Field Summary | |
---|---|
Database |
database
|
Dialect |
dialect
|
Constructor Summary | |
---|---|
SQLInfo(RepositoryImpl repository,
Model model,
Dialect dialect)
Generates and holds the needed SQL statements given a Model and a
Dialect . |
Method Summary | |
---|---|
void |
executeSQLStatements(java.lang.String category,
JDBCConnection jdbc)
Executes the SQL statements for the given category. |
java.util.List<Column> |
getClusterInvalidationsColumns()
|
java.util.List<Column> |
getCopyHierColumns(boolean explicitName,
boolean createVersion)
|
java.lang.String |
getCopyHierSql(boolean explicitName,
boolean createVersion)
|
Column |
getCopyHierWhereColumn()
|
Column |
getCopyIdColumn(java.lang.String tableName)
|
java.lang.String |
getCopySql(java.lang.String tableName)
|
Database |
getDatabase()
|
java.lang.String |
getDeleteSql(java.lang.String tableName)
Returns the SQL DELETE to delete a row. |
java.util.List<Column> |
getInsertColumns(java.lang.String tableName)
Returns the list of columns to use for an statement getInsertSql(java.lang.String) . |
java.util.List<Column> |
getInsertRootIdColumns()
|
java.lang.String |
getInsertRootIdSql()
|
java.lang.String |
getInsertSql(java.lang.String tableName)
Returns the SQL INSERT to add a row. |
java.lang.String |
getSelectByChildNameSql(java.lang.Boolean complexProp)
|
java.util.List<Column> |
getSelectByChildNameWhatColumns(java.lang.Boolean complexProp)
|
java.util.List<Column> |
getSelectByChildNameWhereColumns(java.lang.Boolean complexProp)
|
java.lang.String |
getSelectChildrenIdsAndTypesSql(boolean onlyComplex)
|
java.util.List<Column> |
getSelectChildrenIdsAndTypesWhatColumns()
|
SQLInfo.SQLInfoSelect |
getSelectFragmentsByIds(java.lang.String tableName,
int nids)
Select by ids for all values of several fragments. |
SQLInfo.SQLInfoSelect |
getSelectFragmentsByIds(java.lang.String tableName,
int nids,
java.lang.String[] orderBys,
java.util.Set<java.lang.String> skipColumns)
Select by ids for all values of several fragments (maybe ordered along columns -- for collection fragments retrieval). |
java.lang.String |
getSelectRootIdSql()
|
Column |
getSelectRootIdWhatColumn()
|
SQLInfo.SQLInfoSelect |
getUpdateById(java.lang.String tableName,
java.util.Collection<java.lang.String> keys)
|
Update |
getUpdateByIdForKeys(java.lang.String tableName,
java.util.List<java.lang.String> keys)
|
java.lang.String |
getVersionIdByLabelSql()
|
Column |
getVersionIdByLabelWhatColumn()
|
java.util.List<Column> |
getVersionIdByLabelWhereColumns()
|
void |
initSQLStatements(java.util.Map<java.lang.String,java.io.Serializable> testProps)
|
SQLInfo.SQLInfoSelect |
makeJoinSelect(Table table,
java.lang.String[] freeColumns,
Table joinTable,
java.lang.String[] joinCriteria)
Joining SELECT T.x, T.y, T.z FROM T, U WHERE T.id = U.id AND T.a = ? |
SQLInfo.SQLInfoSelect |
makeJoinSelect(Table table,
java.lang.String[] freeColumns,
Table joinTable,
java.lang.String[] joinCriteria,
java.lang.String[] orderBys)
Joining SELECT T.x, T.y, T.z FROM T, U WHERE T.id = U.id AND T.a = ? |
SQLInfo.SQLInfoSelect |
makeSelect(Table table,
java.lang.String... freeColumns)
Basic SELECT x, y, z FROM table WHERE a = ? |
SQLInfo.SQLInfoSelect |
makeSelect(Table table,
java.lang.String[] orderBys,
java.lang.String... freeColumns)
Basic SELECT with optional ORDER BY x, y DESC |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public final Database database
public final Dialect dialect
Constructor Detail |
---|
public SQLInfo(RepositoryImpl repository, Model model, Dialect dialect) throws StorageException
Model
and a
Dialect
.
model
- the modeldialect
- the SQL dialect
StorageException
Method Detail |
---|
public Database getDatabase()
public java.lang.String getSelectRootIdSql()
public Column getSelectRootIdWhatColumn()
public java.lang.String getInsertRootIdSql()
public java.util.List<Column> getInsertRootIdColumns()
public java.lang.String getSelectByChildNameSql(java.lang.Boolean complexProp)
public java.util.List<Column> getSelectByChildNameWhatColumns(java.lang.Boolean complexProp)
public java.util.List<Column> getSelectByChildNameWhereColumns(java.lang.Boolean complexProp)
public java.lang.String getSelectChildrenIdsAndTypesSql(boolean onlyComplex)
public java.util.List<Column> getSelectChildrenIdsAndTypesWhatColumns()
public java.util.List<Column> getClusterInvalidationsColumns()
public java.lang.String getInsertSql(java.lang.String tableName)
INSERT
to add a row. The columns that represent
sequences that are implicitly auto-incremented aren't included.
tableName
- the table name
INSERT
statementpublic java.util.List<Column> getInsertColumns(java.lang.String tableName)
getInsertSql(java.lang.String)
.
tableName
- the table name
public SQLInfo.SQLInfoSelect getUpdateById(java.lang.String tableName, java.util.Collection<java.lang.String> keys)
public Update getUpdateByIdForKeys(java.lang.String tableName, java.util.List<java.lang.String> keys)
public SQLInfo.SQLInfoSelect getSelectFragmentsByIds(java.lang.String tableName, int nids)
public SQLInfo.SQLInfoSelect getSelectFragmentsByIds(java.lang.String tableName, int nids, java.lang.String[] orderBys, java.util.Set<java.lang.String> skipColumns)
public java.lang.String getDeleteSql(java.lang.String tableName)
DELETE
to delete a row. The primary key columns
are free parameters.
tableName
- the table name
INSERT
statementpublic java.lang.String getCopyHierSql(boolean explicitName, boolean createVersion)
public java.util.List<Column> getCopyHierColumns(boolean explicitName, boolean createVersion)
public Column getCopyHierWhereColumn()
public java.lang.String getCopySql(java.lang.String tableName)
public Column getCopyIdColumn(java.lang.String tableName)
public java.lang.String getVersionIdByLabelSql()
public java.util.List<Column> getVersionIdByLabelWhereColumns()
public Column getVersionIdByLabelWhatColumn()
public SQLInfo.SQLInfoSelect makeSelect(Table table, java.lang.String... freeColumns)
public SQLInfo.SQLInfoSelect makeSelect(Table table, java.lang.String[] orderBys, java.lang.String... freeColumns)
public SQLInfo.SQLInfoSelect makeJoinSelect(Table table, java.lang.String[] freeColumns, Table joinTable, java.lang.String[] joinCriteria)
public SQLInfo.SQLInfoSelect makeJoinSelect(Table table, java.lang.String[] freeColumns, Table joinTable, java.lang.String[] joinCriteria, java.lang.String[] orderBys)
public void initSQLStatements(java.util.Map<java.lang.String,java.io.Serializable> testProps) throws java.io.IOException
java.io.IOException
public void executeSQLStatements(java.lang.String category, JDBCConnection jdbc) throws java.sql.SQLException
java.sql.SQLException
|
Nuxeo Enterprise Platform 5.4 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |