Package org.teiid.query.tempdata
Class TempTableStore
- java.lang.Object
-
- org.teiid.query.tempdata.TempTableStore
-
public class TempTableStore extends Object
TempTableStores are transactional, but do not act as full resource manager. This means we are effectively 1PC and don't allow any heuristic exceptions on commit. Table state snapshoting and aSynchronization
are used to perform the appropriate commit/rollback actions. Full row level MVCC would be a good next step as it would remove the cost of state cloning and would allow for concurrent read/write transactions.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TempTableStore.RecursiveTableProcessor
static class
TempTableStore.TableProcessor
class
TempTableStore.TempTableSynchronization
static interface
TempTableStore.TransactionCallback
static class
TempTableStore.TransactionMode
-
Field Summary
Fields Modifier and Type Field Description static String
TEIID_MAX_RECURSION
-
Constructor Summary
Constructors Constructor Description TempTableStore(String sessionID, TempTableStore.TransactionMode transactionMode)
TempTableStore(String sessionID, TempTableStore.TransactionMode transactionMode, boolean localScoped)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TempMetadataStore
getMetadataStore()
TempTableStore
getParentTempTableStore()
HashMap<String,TempTableStore.TableProcessor>
getProcessors()
boolean
hasTempTable(String tempTableName, boolean checkParent)
void
removeTempTableByName(String tempTableName, CommandContext context)
void
removeTempTables()
void
setParentTempTableStore(TempTableStore parentTempTableStore)
void
setProcessors(HashMap<String,TempTableStore.TableProcessor> plans)
void
setUpdatable(String name, boolean updatable)
-
-
-
Field Detail
-
TEIID_MAX_RECURSION
public static final String TEIID_MAX_RECURSION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TempTableStore
public TempTableStore(String sessionID, TempTableStore.TransactionMode transactionMode)
-
TempTableStore
public TempTableStore(String sessionID, TempTableStore.TransactionMode transactionMode, boolean localScoped)
-
-
Method Detail
-
setParentTempTableStore
public void setParentTempTableStore(TempTableStore parentTempTableStore)
-
getParentTempTableStore
public TempTableStore getParentTempTableStore()
-
hasTempTable
public boolean hasTempTable(String tempTableName, boolean checkParent)
-
setProcessors
public void setProcessors(HashMap<String,TempTableStore.TableProcessor> plans)
-
removeTempTableByName
public void removeTempTableByName(String tempTableName, CommandContext context) throws TeiidProcessingException
- Throws:
TeiidProcessingException
-
getMetadataStore
public TempMetadataStore getMetadataStore()
-
removeTempTables
public void removeTempTables() throws TeiidComponentException
- Throws:
TeiidComponentException
-
setUpdatable
public void setUpdatable(String name, boolean updatable)
-
getProcessors
public HashMap<String,TempTableStore.TableProcessor> getProcessors()
-
-