org.qi4j.index.sql.support.skeletons
Class AbstractSQLIndexing
java.lang.Object
org.qi4j.index.sql.support.skeletons.AbstractSQLIndexing
- All Implemented Interfaces:
- SQLIndexing
- Direct Known Subclasses:
- PostgreSQLIndexing
public abstract class AbstractSQLIndexing
- extends java.lang.Object
- implements SQLIndexing
TODO SQL-Generator now has support for auto-generated columns. Use it in indexing ( should make
some things quite faster and simpler ).
Method Summary |
protected void |
addEntityInfoToInsertToEntityTablePS(EntityState state,
java.sql.PreparedStatement ps,
int startingIndex)
|
protected org.sql.generation.api.grammar.modification.InsertStatement |
createAssoInsert(QNameInfo qNameInfo,
org.sql.generation.api.vendor.SQLVendor vendor,
java.lang.Integer amountOfParams)
|
protected org.sql.generation.api.grammar.modification.DeleteStatement |
createClearEntityDataStatement(java.lang.String schemaName,
org.sql.generation.api.vendor.SQLVendor vendor)
|
protected org.sql.generation.api.grammar.modification.DeleteStatement |
createDeleteFromEntityTableStatement(java.lang.String schemaName,
org.sql.generation.api.vendor.SQLVendor vendor)
|
protected org.sql.generation.api.grammar.modification.DeleteStatement |
createDeleteFromTableStatement(java.lang.String schemaName,
java.lang.String tableName,
java.lang.String columnName,
org.sql.generation.api.vendor.SQLVendor vendor)
|
protected org.sql.generation.api.grammar.modification.InsertStatement |
createInsertEntityTypeStatement(java.lang.String schemaName,
org.sql.generation.api.vendor.SQLVendor vendor)
|
protected org.sql.generation.api.grammar.modification.InsertStatement |
createInsertStatement(java.lang.String schemaName,
java.lang.String tableName,
java.lang.Integer amountOfColumns,
org.sql.generation.api.vendor.SQLVendor vendor)
|
protected abstract org.sql.generation.api.grammar.modification.InsertStatement |
createInsertStatementWithAutoGeneratedIDForEntitiesTable(java.lang.String schemaName,
java.lang.String tableName,
org.sql.generation.api.vendor.SQLVendor vendor)
|
protected org.sql.generation.api.grammar.modification.InsertStatement |
createPropertyInsert(QNameInfo qNameInfo,
org.sql.generation.api.vendor.SQLVendor vendor)
|
protected org.sql.generation.api.grammar.query.QueryExpression |
createQueryEntityPkByIdentityStatement(java.lang.String schemaName,
org.sql.generation.api.vendor.SQLVendor vendor)
|
protected org.sql.generation.api.grammar.modification.UpdateStatement |
createUpdateEntityTableStatement(java.lang.String schemaName,
org.sql.generation.api.vendor.SQLVendor vendor)
|
protected java.lang.Long |
findEntityPK(EntityState state,
org.qi4j.index.sql.support.skeletons.SQLSkeletonUtil.Lazy<java.sql.PreparedStatement,java.sql.SQLException> queryPKPS)
|
protected abstract long |
getPKFromAutoGeneratedIDInsert(EntityState state,
java.sql.PreparedStatement autoGeneratedIDStatement,
org.sql.generation.api.vendor.SQLVendor vendor,
java.sql.Connection connection)
|
void |
indexEntities(java.lang.Iterable<EntityState> changedStates)
This method is called when states need to be indexed. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AMOUNT_OF_COLUMNS_IN_ENTITY_TABLE
public static final java.lang.Integer AMOUNT_OF_COLUMNS_IN_ENTITY_TABLE
AMOUNT_OF_COLUMNS_IN_ALL_QNAMES_TABLE
public static final java.lang.Integer AMOUNT_OF_COLUMNS_IN_ALL_QNAMES_TABLE
AMOUNT_OF_COLUMNS_IN_ASSO_TABLE
public static final java.lang.Integer AMOUNT_OF_COLUMNS_IN_ASSO_TABLE
AMOUNT_OF_COLUMNS_IN_MANY_ASSO_TABLE
public static final java.lang.Integer AMOUNT_OF_COLUMNS_IN_MANY_ASSO_TABLE
AbstractSQLIndexing
public AbstractSQLIndexing()
indexEntities
public void indexEntities(java.lang.Iterable<EntityState> changedStates)
throws java.sql.SQLException
- Description copied from interface:
SQLIndexing
- This method is called when states need to be indexed.
- Specified by:
indexEntities
in interface SQLIndexing
- Parameters:
changedStates
- The states which changed.
- Throws:
java.sql.SQLException
- If SQL.
createInsertStatement
protected org.sql.generation.api.grammar.modification.InsertStatement createInsertStatement(java.lang.String schemaName,
java.lang.String tableName,
java.lang.Integer amountOfColumns,
org.sql.generation.api.vendor.SQLVendor vendor)
createInsertStatementWithAutoGeneratedIDForEntitiesTable
protected abstract org.sql.generation.api.grammar.modification.InsertStatement createInsertStatementWithAutoGeneratedIDForEntitiesTable(java.lang.String schemaName,
java.lang.String tableName,
org.sql.generation.api.vendor.SQLVendor vendor)
addEntityInfoToInsertToEntityTablePS
protected void addEntityInfoToInsertToEntityTablePS(EntityState state,
java.sql.PreparedStatement ps,
int startingIndex)
throws java.sql.SQLException
- Throws:
java.sql.SQLException
findEntityPK
protected java.lang.Long findEntityPK(EntityState state,
org.qi4j.index.sql.support.skeletons.SQLSkeletonUtil.Lazy<java.sql.PreparedStatement,java.sql.SQLException> queryPKPS)
throws java.sql.SQLException
- Throws:
java.sql.SQLException
getPKFromAutoGeneratedIDInsert
protected abstract long getPKFromAutoGeneratedIDInsert(EntityState state,
java.sql.PreparedStatement autoGeneratedIDStatement,
org.sql.generation.api.vendor.SQLVendor vendor,
java.sql.Connection connection)
throws java.sql.SQLException
- Throws:
java.sql.SQLException
createUpdateEntityTableStatement
protected org.sql.generation.api.grammar.modification.UpdateStatement createUpdateEntityTableStatement(java.lang.String schemaName,
org.sql.generation.api.vendor.SQLVendor vendor)
createQueryEntityPkByIdentityStatement
protected org.sql.generation.api.grammar.query.QueryExpression createQueryEntityPkByIdentityStatement(java.lang.String schemaName,
org.sql.generation.api.vendor.SQLVendor vendor)
createDeleteFromEntityTableStatement
protected org.sql.generation.api.grammar.modification.DeleteStatement createDeleteFromEntityTableStatement(java.lang.String schemaName,
org.sql.generation.api.vendor.SQLVendor vendor)
createClearEntityDataStatement
protected org.sql.generation.api.grammar.modification.DeleteStatement createClearEntityDataStatement(java.lang.String schemaName,
org.sql.generation.api.vendor.SQLVendor vendor)
createDeleteFromTableStatement
protected org.sql.generation.api.grammar.modification.DeleteStatement createDeleteFromTableStatement(java.lang.String schemaName,
java.lang.String tableName,
java.lang.String columnName,
org.sql.generation.api.vendor.SQLVendor vendor)
createPropertyInsert
protected org.sql.generation.api.grammar.modification.InsertStatement createPropertyInsert(QNameInfo qNameInfo,
org.sql.generation.api.vendor.SQLVendor vendor)
createAssoInsert
protected org.sql.generation.api.grammar.modification.InsertStatement createAssoInsert(QNameInfo qNameInfo,
org.sql.generation.api.vendor.SQLVendor vendor,
java.lang.Integer amountOfParams)
createInsertEntityTypeStatement
protected org.sql.generation.api.grammar.modification.InsertStatement createInsertEntityTypeStatement(java.lang.String schemaName,
org.sql.generation.api.vendor.SQLVendor vendor)