|
Nuxeo ECM Projects 5.4.3-SNAPSHOT | |||||||||
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
|
class |
SQLInfo.SQLInfoSelection
Info about how to do the query to get a SQLInfo.SQLInfoSelection . |
Field Summary | |
---|---|
Database |
database
|
Dialect |
dialect
|
Constructor Summary | |
---|---|
SQLInfo(Model model,
Dialect dialect)
Generates and holds the needed SQL statements given a Model and a
Dialect . |
Method Summary | |
---|---|
void |
executeSQLStatements(String category,
JDBCConnection jdbc)
Executes the SQL statements for the given category. |
List<Column> |
getClusterInvalidationsColumns()
|
List<Column> |
getCopyHierColumns(boolean explicitName,
boolean createVersion)
|
String |
getCopyHierSql(boolean explicitName,
boolean createVersion)
|
Column |
getCopyHierWhereColumn()
|
Column |
getCopyIdColumn(String tableName)
|
String |
getCopySql(String tableName)
|
Database |
getDatabase()
|
String |
getDeleteSql(String tableName)
Returns the SQL DELETE to delete a row. |
String |
getDeleteSql(String tableName,
int n)
Returns the SQL DELETE to delete several rows. |
List<Column> |
getInsertColumns(String tableName)
Returns the list of columns to use for an statement getInsertSql(java.lang.String) . |
List<Column> |
getInsertRootIdColumns()
|
String |
getInsertRootIdSql()
|
String |
getInsertSql(String tableName)
Returns the SQL INSERT to add a row. |
int |
getMaximumArgsForIn()
|
SQLInfo.SQLInfoSelect |
getSelectAncestorsIds()
Select all ancestors ids for several fragments. |
String |
getSelectChildrenIdsAndTypesSql(boolean onlyComplex)
|
List<Column> |
getSelectChildrenIdsAndTypesWhatColumns()
|
String |
getSelectDescendantsInfoSql()
|
List<Column> |
getSelectDescendantsInfoWhatColumns()
|
SQLInfo.SQLInfoSelect |
getSelectFragmentsByIds(String tableName,
int nids)
Select by ids for all values of several fragments. |
SQLInfo.SQLInfoSelect |
getSelectFragmentsByIds(String tableName,
int nids,
String[] orderBys,
Set<String> skipColumns)
Select by ids for all values of several fragments (maybe ordered along columns -- for collection fragments retrieval). |
SQLInfo.SQLInfoSelection |
getSelection(SelectionType type)
|
SQLInfo.SQLInfoSelect |
getSelectParentIds(int nids)
Select parentid by ids for all values of several fragments. |
String |
getSelectRootIdSql()
|
Column |
getSelectRootIdWhatColumn()
|
SQLInfo.SQLInfoSelect |
getUpdateById(String tableName,
Collection<String> keys)
|
Update |
getUpdateByIdForKeys(String tableName,
List<String> keys)
|
void |
initSQLStatements(Map<String,Serializable> testProps)
|
static SQLInfo.SQLInfoSelect |
makeSelect(Table table,
String[] orderBys,
String... freeColumns)
Basic SELECT x, y, z FROM table WHERE a = ? AND b = ? |
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(Model model, Dialect dialect) throws StorageException
Model
and a
Dialect
.
model
- the modeldialect
- the SQL dialect
StorageException
Method Detail |
---|
public Database getDatabase()
public String getSelectRootIdSql()
public Column getSelectRootIdWhatColumn()
public String getInsertRootIdSql()
public List<Column> getInsertRootIdColumns()
public SQLInfo.SQLInfoSelection getSelection(SelectionType type)
public String getSelectChildrenIdsAndTypesSql(boolean onlyComplex)
public List<Column> getSelectChildrenIdsAndTypesWhatColumns()
public String getSelectDescendantsInfoSql()
public List<Column> getSelectDescendantsInfoWhatColumns()
public List<Column> getClusterInvalidationsColumns()
public String getInsertSql(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 List<Column> getInsertColumns(String tableName)
getInsertSql(java.lang.String)
.
tableName
- the table name
public SQLInfo.SQLInfoSelect getUpdateById(String tableName, Collection<String> keys)
public Update getUpdateByIdForKeys(String tableName, List<String> keys)
public SQLInfo.SQLInfoSelect getSelectFragmentsByIds(String tableName, int nids)
public SQLInfo.SQLInfoSelect getSelectFragmentsByIds(String tableName, int nids, String[] orderBys, Set<String> skipColumns)
public SQLInfo.SQLInfoSelect getSelectAncestorsIds()
Fast alternative to the slowest iterative
getSelectParentIds(int)
.
public SQLInfo.SQLInfoSelect getSelectParentIds(int nids)
public String getDeleteSql(String tableName)
DELETE
to delete a row. The primary key columns
are free parameters.
tableName
- the table name
DELETE
statementpublic String getDeleteSql(String tableName, int n)
DELETE
to delete several rows. The primary key
columns are free parameters.
tableName
- the table namen
- the number of rows to delete
DELETE
statement with a IN
for the keyspublic String getCopyHierSql(boolean explicitName, boolean createVersion)
public List<Column> getCopyHierColumns(boolean explicitName, boolean createVersion)
public Column getCopyHierWhereColumn()
public String getCopySql(String tableName)
public Column getCopyIdColumn(String tableName)
public static SQLInfo.SQLInfoSelect makeSelect(Table table, String[] orderBys, String... freeColumns)
with optional ORDER BY x, y DESC
public void initSQLStatements(Map<String,Serializable> testProps) throws IOException
IOException
public void executeSQLStatements(String category, JDBCConnection jdbc) throws SQLException
SQLException
public int getMaximumArgsForIn()
|
Nuxeo ECM Projects 5.4.3-SNAPSHOT | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |