#include <CmdInterpreter.h>
Inheritance diagram for CmdInterpreter:
It implements FemVisitor in order to process commands; a visit on a command results in its execution.
Definition at line 47 of file CmdInterpreter.h.
CmdInterpreter::DbHandle * CmdInterpreter::getDbHandle | ( | SharedProxyDbHandle | ) | [static, protected] |
CmdInterpreter::TxnHandle * CmdInterpreter::getTxnHandle | ( | SharedProxyTxnHandle | ) | [static, protected] |
Definition at line 73 of file CmdInterpreter.cpp.
Referenced by dropOrTruncateIndex(), getBTreeForIndexCmd(), and visit().
CmdInterpreter::StreamGraphHandle * CmdInterpreter::getStreamGraphHandle | ( | SharedProxyStreamGraphHandle | ) | [static, protected] |
SavepointId CmdInterpreter::getSavepointId | ( | SharedProxySvptHandle | ) | [static, protected] |
TxnId CmdInterpreter::getCsn | ( | SharedProxyCsnHandle | ) | [static, protected] |
CmdInterpreter::DbHandle * CmdInterpreter::newDbHandle | ( | ) | [protected, virtual] |
CmdInterpreter::TxnHandle * CmdInterpreter::newTxnHandle | ( | ) | [protected, virtual] |
void CmdInterpreter::deleteDbHandle | ( | DbHandle * | ) | [protected] |
factory method
void CmdInterpreter::setDbHandle | ( | SharedProxyDbHandle | , | |
DbHandle * | ||||
) | [protected] |
Definition at line 95 of file CmdInterpreter.cpp.
References resultHandle.
Referenced by visit().
00097 { 00098 resultHandle = reinterpret_cast<int64_t>(pHandle); 00099 }
void CmdInterpreter::setTxnHandle | ( | SharedProxyTxnHandle | , | |
TxnHandle * | ||||
) | [protected] |
Definition at line 101 of file CmdInterpreter.cpp.
References resultHandle.
Referenced by beginTxn().
00103 { 00104 resultHandle = reinterpret_cast<int64_t>(pHandle); 00105 }
void CmdInterpreter::setStreamGraphHandle | ( | SharedProxyStreamGraphHandle | , | |
StreamGraphHandle * | ||||
) | [protected] |
Definition at line 107 of file CmdInterpreter.cpp.
References resultHandle.
Referenced by visit().
00109 { 00110 resultHandle = reinterpret_cast<int64_t>(pHandle); 00111 }
void CmdInterpreter::setExecStreamHandle | ( | SharedProxyStreamHandle | , | |
ExecStream * | ||||
) | [protected] |
Definition at line 113 of file CmdInterpreter.cpp.
References resultHandle.
Referenced by visit().
00115 { 00116 resultHandle = reinterpret_cast<int64_t>(pStream); 00117 }
void CmdInterpreter::setSvptHandle | ( | SharedProxySvptHandle | , | |
SavepointId | ||||
) | [protected] |
Definition at line 119 of file CmdInterpreter.cpp.
References opaqueToInt(), and resultHandle.
Referenced by visit().
00121 { 00122 resultHandle = opaqueToInt(svptId); 00123 }
void CmdInterpreter::setCsnHandle | ( | SharedProxyCsnHandle | , | |
TxnId | ||||
) | [protected] |
Definition at line 125 of file CmdInterpreter.cpp.
References opaqueToInt(), and resultHandle.
Referenced by visit().
00127 { 00128 resultHandle = opaqueToInt(csnId); 00129 }
void CmdInterpreter::getBTreeForIndexCmd | ( | ProxyIndexCmd & | , | |
PageId | , | |||
BTreeDescriptor & | ||||
) | [protected] |
Definition at line 366 of file CmdInterpreter.cpp.
References ProxyIndexCmd::getIndexId(), ProxyIndexCmd::getKeyProj(), ProxyIndexCmd::getSegmentId(), ProxyIndexCmd::getTupleDesc(), ProxyTxnCmd::getTxnHandle(), getTxnHandle(), BTreeDescriptor::keyProjection, BTreeDescriptor::pageOwnerId, SegmentAccessor::pCacheAccessor, CmdInterpreter::TxnHandle::pDb, SegmentAccessor::pSegment, CmdInterpreter::TxnHandle::pSnapshotSegment, readTupleDescriptor(), readTupleProjection(), BTreeDescriptor::rootPageId, BTreeDescriptor::segmentAccessor, BTreeDescriptor::segmentId, and BTreeDescriptor::tupleDescriptor.
Referenced by dropOrTruncateIndex(), and visit().
00368 { 00369 TxnHandle *pTxnHandle = getTxnHandle(cmd.getTxnHandle()); 00370 00371 readTupleDescriptor( 00372 treeDescriptor.tupleDescriptor, 00373 *(cmd.getTupleDesc()),pTxnHandle->pDb->getTypeFactory()); 00374 00375 CmdInterpreter::readTupleProjection( 00376 treeDescriptor.keyProjection,cmd.getKeyProj()); 00377 00378 treeDescriptor.pageOwnerId = PageOwnerId(cmd.getIndexId()); 00379 treeDescriptor.segmentId = SegmentId(cmd.getSegmentId()); 00380 treeDescriptor.segmentAccessor.pSegment = 00381 pTxnHandle->pDb->getSegmentById( 00382 treeDescriptor.segmentId, 00383 pTxnHandle->pSnapshotSegment); 00384 treeDescriptor.segmentAccessor.pCacheAccessor = pTxnHandle->pDb->getCache(); 00385 treeDescriptor.rootPageId = rootPageId; 00386 }
void CmdInterpreter::dropOrTruncateIndex | ( | ProxyCmdDropIndex & | cmd, | |
bool | drop | |||
) | [protected] |
Definition at line 446 of file CmdInterpreter.cpp.
References getBTreeForIndexCmd(), getTxnHandle(), CmdInterpreter::TxnHandle::pDb, readTupleProjection(), and BTreeBuilder::truncate().
Referenced by visit().
00448 { 00449 // block checkpoints during this method 00450 TxnHandle *pTxnHandle = getTxnHandle(cmd.getTxnHandle()); 00451 SXMutexSharedGuard actionMutexGuard( 00452 pTxnHandle->pDb->getCheckpointThread()->getActionMutex()); 00453 00454 BTreeDescriptor treeDescriptor; 00455 getBTreeForIndexCmd(cmd,PageId(cmd.getRootPageId()),treeDescriptor); 00456 TupleProjection leafPageIdProj; 00457 if (cmd.getLeafPageIdProj()) { 00458 CmdInterpreter::readTupleProjection( 00459 leafPageIdProj, cmd.getLeafPageIdProj()); 00460 } 00461 BTreeBuilder builder(treeDescriptor); 00462 builder.truncate(drop, leafPageIdProj.size() ? &leafPageIdProj : NULL); 00463 }
JavaTraceTarget * CmdInterpreter::newTraceTarget | ( | ) | [protected, virtual] |
Definition at line 168 of file CmdInterpreter.cpp.
Referenced by visit().
00169 { 00170 return new JavaTraceTarget(); 00171 }
void CmdInterpreter::beginTxn | ( | ProxyBeginTxnCmd & | cmd, | |
bool | readOnly, | |||
TxnId | csn | |||
) | [protected] |
Executes a begin txn command.
cmd | the command | |
readOnly | true if the txn is read-only | |
csn | if non-null and snapshots are enabled, the commit sequence number for reads |
Definition at line 470 of file CmdInterpreter.cpp.
References ProxyDatabaseCmd::getDbHandle(), getDbHandle(), ProxyBeginTxnCmd::getResultHandle(), JniUtil::incrementHandleCount(), newTxnHandle(), NULL_TXN_ID, CmdInterpreter::DbHandle::pDb, CmdInterpreter::DbHandle::pResourceGovernor, and setTxnHandle().
Referenced by visit().
00471 { 00472 assert(readOnly || csn == NULL_TXN_ID); 00473 00474 // block checkpoints during this method 00475 DbHandle *pDbHandle = getDbHandle(cmd.getDbHandle()); 00476 SharedDatabase pDb = pDbHandle->pDb; 00477 00478 SXMutexSharedGuard actionMutexGuard( 00479 pDb->getCheckpointThread()->getActionMutex()); 00480 00481 std::auto_ptr<TxnHandle> pTxnHandle(newTxnHandle()); 00482 JniUtil::incrementHandleCount(TXNHANDLE_TRACE_TYPE_STR, pTxnHandle.get()); 00483 pTxnHandle->pDb = pDb; 00484 pTxnHandle->readOnly = readOnly; 00485 // TODO: CacheAccessor factory 00486 pTxnHandle->pTxn = pDb->getTxnLog()->newLogicalTxn(pDb->getCache()); 00487 pTxnHandle->pResourceGovernor = pDbHandle->pResourceGovernor; 00488 00489 // NOTE: use a null scratchAccessor; individual ExecStreamGraphs 00490 // will have their own 00491 SegmentAccessor scratchAccessor; 00492 00493 pTxnHandle->pFtrsTableWriterFactory = SharedFtrsTableWriterFactory( 00494 new FtrsTableWriterFactory( 00495 pDb, 00496 pDb->getCache(), 00497 pDb->getTypeFactory(), 00498 scratchAccessor)); 00499 00500 // If snapshots are enabled, set up 2 snapshot segments -- one of which 00501 // only reads committed data. This will be used for streams that need to 00502 // read a snapshot of the data before other portions of the stream graph 00503 // have modified the segment. 00504 if (pDb->areSnapshotsEnabled()) { 00505 if (csn == NULL_TXN_ID) { 00506 csn = pTxnHandle->pTxn->getTxnId(); 00507 } 00508 pTxnHandle->pSnapshotSegment = 00509 pDb->getSegmentFactory()->newSnapshotRandomAllocationSegment( 00510 pDb->getDataSegment(), 00511 pDb->getDataSegment(), 00512 csn, 00513 false); 00514 pTxnHandle->pReadCommittedSnapshotSegment = 00515 pDb->getSegmentFactory()->newSnapshotRandomAllocationSegment( 00516 pDb->getDataSegment(), 00517 pDb->getDataSegment(), 00518 csn, 00519 true); 00520 } else { 00521 assert(csn == NULL_TXN_ID); 00522 } 00523 00524 setTxnHandle(cmd.getResultHandle(),pTxnHandle.release()); 00525 }
void CmdInterpreter::visit | ( | ProxyCmdCreateExecutionStreamGraph & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 648 of file CmdInterpreter.cpp.
References ProxyCmdCreateExecutionStreamGraph::getResultHandle(), ProxyTxnCmd::getTxnHandle(), getTxnHandle(), JniUtil::incrementHandleCount(), ExecStreamGraph::newExecStreamGraph(), CmdInterpreter::TxnHandle::pDb, CmdInterpreter::TxnHandle::pFtrsTableWriterFactory, CmdInterpreter::TxnHandle::pReadCommittedSnapshotSegment, CmdInterpreter::TxnHandle::pResourceGovernor, CmdInterpreter::TxnHandle::pSnapshotSegment, CmdInterpreter::TxnHandle::pTxn, and setStreamGraphHandle().
00649 { 00650 #if 0 00651 struct mallinfo minfo = mallinfo(); 00652 std::cout << "Number of allocated bytes before stream graph construction = " 00653 << minfo.uordblks << " bytes" << std::endl; 00654 #endif 00655 TxnHandle *pTxnHandle = getTxnHandle(cmd.getTxnHandle()); 00656 SharedDatabase pDb = pTxnHandle->pDb; 00657 SharedExecStreamGraph pGraph = 00658 ExecStreamGraph::newExecStreamGraph(); 00659 pGraph->setTxn(pTxnHandle->pTxn); 00660 pGraph->setResourceGovernor(pTxnHandle->pResourceGovernor); 00661 std::auto_ptr<StreamGraphHandle> pStreamGraphHandle( 00662 new StreamGraphHandle()); 00663 JniUtil::incrementHandleCount( 00664 STREAMGRAPHHANDLE_TRACE_TYPE_STR, pStreamGraphHandle.get()); 00665 pStreamGraphHandle->javaRuntimeContext = NULL; 00666 pStreamGraphHandle->pTxnHandle = pTxnHandle; 00667 pStreamGraphHandle->pExecStreamGraph = pGraph; 00668 pStreamGraphHandle->pExecStreamFactory.reset( 00669 new ExecStreamFactory( 00670 pDb, 00671 pTxnHandle->pFtrsTableWriterFactory, 00672 pStreamGraphHandle.get())); 00673 // When snapshots are enabled, allocate DynamicDelegatingSegments for the 00674 // stream graph so if the stream graph is executed in different txns, 00675 // we can reset the delegate to whatever is the snapshot segment associated 00676 // with the current txn. 00677 if (pDb->areSnapshotsEnabled()) { 00678 pStreamGraphHandle->pSegment = 00679 pDb->getSegmentFactory()->newDynamicDelegatingSegment( 00680 pTxnHandle->pSnapshotSegment); 00681 pStreamGraphHandle->pReadCommittedSegment = 00682 pDb->getSegmentFactory()->newDynamicDelegatingSegment( 00683 pTxnHandle->pReadCommittedSnapshotSegment); 00684 } 00685 setStreamGraphHandle( 00686 cmd.getResultHandle(), 00687 pStreamGraphHandle.release()); 00688 }
void CmdInterpreter::visit | ( | ProxyCmdPrepareExecutionStreamGraph & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 690 of file CmdInterpreter.cpp.
References ExecStreamBuilder::buildStreamGraph(), ProxyCmdPrepareExecutionStreamGraph::getDegreeOfParallelism(), ProxyTupleStreamGraphCmd::getStreamGraphHandle(), getStreamGraphHandle(), JniUtil::getThreadTracker(), CmdInterpreter::StreamGraphHandle::pExecStreamFactory, CmdInterpreter::StreamGraphHandle::pExecStreamGraph, CmdInterpreter::StreamGraphHandle::pScheduler, and CmdInterpreter::StreamGraphHandle::pTxnHandle.
00691 { 00692 StreamGraphHandle *pStreamGraphHandle = getStreamGraphHandle( 00693 cmd.getStreamGraphHandle()); 00694 TxnHandle *pTxnHandle = pStreamGraphHandle->pTxnHandle; 00695 // NOTE: sequence is important here 00696 SharedExecStreamScheduler pScheduler; 00697 std::string schedulerName = "xo.scheduler"; 00698 if (cmd.getDegreeOfParallelism() == 1) { 00699 pScheduler.reset( 00700 new DfsTreeExecStreamScheduler( 00701 pTxnHandle->pDb->getSharedTraceTarget(), 00702 schedulerName)); 00703 } else { 00704 pScheduler.reset( 00705 new ParallelExecStreamScheduler( 00706 pTxnHandle->pDb->getSharedTraceTarget(), 00707 schedulerName, 00708 JniUtil::getThreadTracker(), 00709 cmd.getDegreeOfParallelism())); 00710 } 00711 ExecStreamGraphEmbryo graphEmbryo( 00712 pStreamGraphHandle->pExecStreamGraph, 00713 pScheduler, 00714 pTxnHandle->pDb->getCache(), 00715 pTxnHandle->pDb->getSegmentFactory()); 00716 pStreamGraphHandle->pExecStreamFactory->setGraphEmbryo(graphEmbryo); 00717 ExecStreamBuilder streamBuilder( 00718 graphEmbryo, 00719 *(pStreamGraphHandle->pExecStreamFactory)); 00720 streamBuilder.buildStreamGraph(cmd, true); 00721 pStreamGraphHandle->pExecStreamFactory.reset(); 00722 pStreamGraphHandle->pScheduler = pScheduler; 00723 #if 0 00724 struct mallinfo minfo = mallinfo(); 00725 std::cout << "Number of allocated bytes after stream graph construction = " 00726 << minfo.uordblks << " bytes" << std::endl; 00727 #endif 00728 }
void CmdInterpreter::visit | ( | ProxyCmdCreateStreamHandle & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 730 of file CmdInterpreter.cpp.
References ProxyCmdCreateStreamHandle::getResultHandle(), ProxyTupleStreamGraphCmd::getStreamGraphHandle(), getStreamGraphHandle(), ProxyCmdCreateStreamHandle::getStreamName(), ProxyCmdCreateStreamHandle::isInput(), CmdInterpreter::StreamGraphHandle::pExecStreamGraph, and setExecStreamHandle().
00731 { 00732 StreamGraphHandle *pStreamGraphHandle = getStreamGraphHandle( 00733 cmd.getStreamGraphHandle()); 00734 SharedExecStream pStream; 00735 if (cmd.isInput()) { 00736 pStream = 00737 pStreamGraphHandle->pExecStreamGraph->findLastStream( 00738 cmd.getStreamName(), 0); 00739 } else { 00740 pStream = 00741 pStreamGraphHandle->pExecStreamGraph->findStream( 00742 cmd.getStreamName()); 00743 } 00744 00745 setExecStreamHandle( 00746 cmd.getResultHandle(), 00747 pStream.get()); 00748 }
void CmdInterpreter::visit | ( | ProxyCmdCreateIndex & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 388 of file CmdInterpreter.cpp.
References BTreeBuilder::createEmptyRoot(), getBTreeForIndexCmd(), BTreeAccessBase::getRootPageId(), getTxnHandle(), NULL_PAGE_ID, opaqueToInt(), CmdInterpreter::TxnHandle::pDb, and resultHandle.
00389 { 00390 // block checkpoints during this method 00391 TxnHandle *pTxnHandle = getTxnHandle(cmd.getTxnHandle()); 00392 SXMutexSharedGuard actionMutexGuard( 00393 pTxnHandle->pDb->getCheckpointThread()->getActionMutex()); 00394 00395 BTreeDescriptor treeDescriptor; 00396 getBTreeForIndexCmd(cmd,NULL_PAGE_ID,treeDescriptor); 00397 BTreeBuilder builder(treeDescriptor); 00398 builder.createEmptyRoot(); 00399 resultHandle = opaqueToInt(builder.getRootPageId()); 00400 }
void CmdInterpreter::visit | ( | ProxyCmdTruncateIndex & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 402 of file CmdInterpreter.cpp.
References dropOrTruncateIndex().
00403 { 00404 dropOrTruncateIndex(cmd, false); 00405 }
void CmdInterpreter::visit | ( | ProxyCmdDropIndex & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 407 of file CmdInterpreter.cpp.
References dropOrTruncateIndex().
00408 { 00409 dropOrTruncateIndex(cmd, true); 00410 }
void CmdInterpreter::visit | ( | ProxyCmdVerifyIndex & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 412 of file CmdInterpreter.cpp.
References ProxyCmdVerifyIndex::clearResultUniqueKeyCount(), getBTreeForIndexCmd(), ProxyIndexCmd::getLeafPageIdProj(), ProxyIndexAccessCmd::getRootPageId(), BTreeVerifier::getStatistics(), ProxyTxnCmd::getTxnHandle(), getTxnHandle(), ProxyCmdVerifyIndex::isEstimate(), ProxyCmdVerifyIndex::isIncludeTuples(), BTreeStatistics::nLeafNodes, BTreeStatistics::nNonLeafNodes, BTreeStatistics::nTuples, BTreeStatistics::nUniqueKeys, CmdInterpreter::TxnHandle::pDb, readTupleProjection(), ProxyCmdVerifyIndex::setResultPageCount(), ProxyCmdVerifyIndex::setResultUniqueKeyCount(), and BTreeVerifier::verify().
00413 { 00414 // block checkpoints during this method 00415 TxnHandle *pTxnHandle = getTxnHandle(cmd.getTxnHandle()); 00416 SXMutexSharedGuard actionMutexGuard( 00417 pTxnHandle->pDb->getCheckpointThread()->getActionMutex()); 00418 00419 BTreeDescriptor treeDescriptor; 00420 getBTreeForIndexCmd(cmd,PageId(cmd.getRootPageId()),treeDescriptor); 00421 TupleProjection leafPageIdProj; 00422 if (cmd.getLeafPageIdProj()) { 00423 CmdInterpreter::readTupleProjection( 00424 leafPageIdProj, cmd.getLeafPageIdProj()); 00425 } 00426 bool estimate = cmd.isEstimate(); 00427 bool includeTuples = cmd.isIncludeTuples(); 00428 bool keys = (!estimate); 00429 bool leaf = ((!estimate) || includeTuples); 00430 BTreeVerifier verifier(treeDescriptor); 00431 verifier.verify(true, keys, leaf); 00432 BTreeStatistics statistics = verifier.getStatistics(); 00433 long pageCount = statistics.nNonLeafNodes + statistics.nLeafNodes; 00434 if (includeTuples) { 00435 pageCount += statistics.nTuples; 00436 } 00437 cmd.setResultPageCount(pageCount); 00438 00439 if (keys) { 00440 cmd.setResultUniqueKeyCount(statistics.nUniqueKeys); 00441 } else { 00442 cmd.clearResultUniqueKeyCount(); 00443 } 00444 }
void CmdInterpreter::visit | ( | ProxyCmdOpenDatabase & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 181 of file CmdInterpreter.cpp.
References ExecStreamResourceKnobs::cacheReservePercentage, JniUtil::configure(), DeviceMode::createNew, ExecStreamResourceKnobs::expectedConcurrentStatements, ConfigMap::getIntParam(), ProxyCmdOpenDatabase::getParams(), ProxyCmdOpenDatabase::getResultHandle(), JniUtil::incrementHandleCount(), ProxyCmdOpenDatabase::isCreateDatabase(), DeviceMode::load, ExecStreamResourceQuantity::nCachePages, Cache::newCache(), Database::newDatabase(), newDbHandle(), newTraceTarget(), CacheParams::nMemPagesInit, CacheParams::nMemPagesMax, JniUtilParams::readConfig(), CacheParams::readConfig(), setDbHandle(), ProxyCmdOpenDatabase::setResultRecoveryRequired(), ConfigMap::setStringParam(), AutoBacktrace::setTraceTarget(), and TRACE_WARNING.
00182 { 00183 ConfigMap configMap; 00184 00185 SharedProxyDatabaseParam pParam = cmd.getParams(); 00186 for (; pParam; ++pParam) { 00187 configMap.setStringParam(pParam->getName(),pParam->getValue()); 00188 } 00189 00190 CacheParams cacheParams; 00191 cacheParams.readConfig(configMap); 00192 SharedCache pCache = Cache::newCache(cacheParams); 00193 00194 JniUtilParams jniUtilParams; 00195 jniUtilParams.readConfig(configMap); 00196 JniUtil::configure(jniUtilParams); 00197 00198 DeviceMode openMode = cmd.isCreateDatabase() 00199 ? DeviceMode::createNew 00200 : DeviceMode::load; 00201 00202 std::auto_ptr<DbHandle> pDbHandle(newDbHandle()); 00203 JniUtil::incrementHandleCount(DBHANDLE_TRACE_TYPE_STR, pDbHandle.get()); 00204 00205 JavaTraceTarget *pJavaTraceTarget = newTraceTarget(); 00206 pDbHandle->pTraceTarget.reset(pJavaTraceTarget); 00207 // on a fatal error, echo the backtrace to the log file: 00208 AutoBacktrace::setTraceTarget(pDbHandle->pTraceTarget); 00209 00210 SharedDatabase pDb; 00211 try { 00212 pDb = Database::newDatabase( 00213 pCache, 00214 configMap, 00215 openMode, 00216 pDbHandle->pTraceTarget, 00217 SharedPseudoUuidGenerator(new JniPseudoUuidGenerator())); 00218 } catch (...) { 00219 AutoBacktrace::setTraceTarget(); 00220 throw; 00221 } 00222 00223 pDbHandle->pDb = pDb; 00224 00225 ExecStreamResourceKnobs knobSettings; 00226 knobSettings.cacheReservePercentage = 00227 configMap.getIntParam("cacheReservePercentage"); 00228 knobSettings.expectedConcurrentStatements = 00229 configMap.getIntParam("expectedConcurrentStatements"); 00230 00231 ExecStreamResourceQuantity resourcesAvailable; 00232 resourcesAvailable.nCachePages = pCache->getMaxLockedPages(); 00233 00234 pDbHandle->pResourceGovernor = 00235 SharedExecStreamGovernor( 00236 new SimpleExecStreamGovernor( 00237 knobSettings, resourcesAvailable, 00238 pDbHandle->pTraceTarget, 00239 "xo.resourceGovernor")); 00240 00241 if (pDb->isRecoveryRequired()) { 00242 SegmentAccessor scratchAccessor = 00243 pDb->getSegmentFactory()->newScratchSegment(pDb->getCache()); 00244 FtrsTableWriterFactory recoveryFactory( 00245 pDb, 00246 pDb->getCache(), 00247 pDb->getTypeFactory(), 00248 scratchAccessor); 00249 pDb->recover(recoveryFactory); 00250 cmd.setResultRecoveryRequired(true); 00251 } else { 00252 cmd.setResultRecoveryRequired(false); 00253 } 00254 pDbHandle->statsTimer.setTarget(*pJavaTraceTarget); 00255 pDbHandle->statsTimer.addSource(pDb); 00256 pDbHandle->statsTimer.addSource(pDbHandle->pResourceGovernor); 00257 pDbHandle->statsTimer.start(); 00258 00259 // Cache initialization may have been unable to allocate the requested 00260 // number of pages -- check for this case and report it in the log. 00261 if (pCache->getMaxAllocatedPageCount() != cacheParams.nMemPagesMax || 00262 pCache->getAllocatedPageCount() != cacheParams.nMemPagesInit) 00263 { 00264 FENNEL_DELEGATE_TRACE( 00265 TRACE_WARNING, 00266 pDb, 00267 "Unable to allocate " 00268 << cacheParams.nMemPagesInit 00269 << " (of " 00270 << cacheParams.nMemPagesMax 00271 << " max) cache pages; allocated " 00272 << pCache->getAllocatedPageCount() 00273 << " cache pages."); 00274 } 00275 00276 setDbHandle(cmd.getResultHandle(),pDbHandle.release()); 00277 }
void CmdInterpreter::visit | ( | ProxyCmdCloseDatabase & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 279 of file CmdInterpreter.cpp.
References deleteAndNullify(), getDbHandle(), CmdInterpreter::DbHandle::pResourceGovernor, and AutoBacktrace::setTraceTarget().
00280 { 00281 DbHandle *pDbHandle = getDbHandle(cmd.getDbHandle()); 00282 pDbHandle->pResourceGovernor.reset(); 00283 AutoBacktrace::setTraceTarget(); 00284 deleteAndNullify(pDbHandle); 00285 }
void CmdInterpreter::visit | ( | ProxyCmdCheckpoint & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 287 of file CmdInterpreter.cpp.
References CHECKPOINT_FLUSH_ALL, CHECKPOINT_FLUSH_FUZZY, ProxyDatabaseCmd::getDbHandle(), getDbHandle(), ProxyCmdCheckpoint::isAsync(), ProxyCmdCheckpoint::isFuzzy(), and CmdInterpreter::DbHandle::pDb.
00288 { 00289 DbHandle *pDbHandle = getDbHandle(cmd.getDbHandle()); 00290 00291 pDbHandle->pDb->requestCheckpoint( 00292 cmd.isFuzzy() ? CHECKPOINT_FLUSH_FUZZY : CHECKPOINT_FLUSH_ALL, 00293 cmd.isAsync()); 00294 }
void CmdInterpreter::visit | ( | ProxyCmdSetParam & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 296 of file CmdInterpreter.cpp.
References ExecStreamResourceKnobs::cacheReservePercentage, EXEC_KNOB_CACHE_RESERVE_PERCENTAGE, EXEC_KNOB_EXPECTED_CONCURRENT_STATEMENTS, EXEC_RESOURCE_CACHE_PAGES, ExecStreamResourceKnobs::expectedConcurrentStatements, ProxyDatabaseCmd::getDbHandle(), getDbHandle(), ProxyCmdSetParam::getParam(), ExecStreamResourceQuantity::nCachePages, CmdInterpreter::DbHandle::pDb, and CmdInterpreter::DbHandle::pResourceGovernor.
00297 { 00298 DbHandle *pDbHandle = getDbHandle(cmd.getDbHandle()); 00299 SharedProxyDatabaseParam pParam = cmd.getParam(); 00300 00301 std::string paramName = pParam->getName(); 00302 00303 if (paramName.compare("cachePagesInit") == 0) { 00304 int pageCount = boost::lexical_cast<int>(pParam->getValue()); 00305 SharedCache pCache = pDbHandle->pDb->getCache(); 00306 if (pageCount <= 0 || pageCount > pCache->getMaxAllocatedPageCount()) { 00307 throw InvalidParamExcn("1", "'cachePagesMax'"); 00308 } 00309 00310 bool decreasingPageCount = pageCount < pCache->getAllocatedPageCount(); 00311 if (decreasingPageCount) { 00312 // Let governor veto a page count decrease 00313 ExecStreamResourceQuantity available; 00314 available.nCachePages = pageCount; 00315 if (!pDbHandle->pResourceGovernor->setResourceAvailability( 00316 available, EXEC_RESOURCE_CACHE_PAGES)) 00317 { 00318 throw InvalidParamExcn( 00319 "the number of pages currently assigned (plus reserve)", 00320 "'cachePagesMax'"); 00321 } 00322 } 00323 00324 pCache->setAllocatedPageCount(pageCount); 00325 00326 if (!decreasingPageCount) { 00327 // Notify governor of increased page count 00328 ExecStreamResourceQuantity available; 00329 available.nCachePages = pageCount; 00330 bool result = 00331 pDbHandle->pResourceGovernor->setResourceAvailability( 00332 available, EXEC_RESOURCE_CACHE_PAGES); 00333 assert(result); 00334 } 00335 } else if (paramName.compare("expectedConcurrentStatements") == 0) { 00336 int nStatements = boost::lexical_cast<int>(pParam->getValue()); 00337 SharedCache pCache = pDbHandle->pDb->getCache(); 00338 // need to set aside at least 5 pages per statement 00339 if (nStatements <= 0 || 00340 nStatements > pCache->getMaxLockedPages() / 5) 00341 { 00342 throw InvalidParamExcn("1", "'cachePagesInit/5'"); 00343 } 00344 ExecStreamResourceKnobs knob; 00345 knob.expectedConcurrentStatements = nStatements; 00346 pDbHandle->pResourceGovernor->setResourceKnob( 00347 knob, EXEC_KNOB_EXPECTED_CONCURRENT_STATEMENTS); 00348 00349 } else if (paramName.compare("cacheReservePercentage") == 0) { 00350 int percent = boost::lexical_cast<int>(pParam->getValue()); 00351 if (percent <= 0 || percent > 99) { 00352 throw InvalidParamExcn("1", "99"); 00353 } 00354 ExecStreamResourceKnobs knob; 00355 knob.cacheReservePercentage = percent; 00356 if (!pDbHandle->pResourceGovernor->setResourceKnob( 00357 knob, EXEC_KNOB_CACHE_RESERVE_PERCENTAGE)) 00358 { 00359 throw InvalidParamExcn( 00360 "1", 00361 "a percentage that sets aside fewer pages, to allow for pages already assigned"); 00362 } 00363 } 00364 }
void CmdInterpreter::visit | ( | ProxyCmdBeginTxn & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 465 of file CmdInterpreter.cpp.
References beginTxn(), ProxyCmdBeginTxn::isReadOnly(), and NULL_TXN_ID.
00466 { 00467 beginTxn(cmd, cmd.isReadOnly(), NULL_TXN_ID); 00468 }
void CmdInterpreter::visit | ( | ProxyCmdBeginTxnWithCsn & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 527 of file CmdInterpreter.cpp.
References beginTxn(), getCsn(), and ProxyCmdBeginTxnWithCsn::getCsnHandle().
void CmdInterpreter::visit | ( | ProxyCmdSavepoint & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 532 of file CmdInterpreter.cpp.
References ProxyCmdSavepoint::getResultHandle(), ProxyTxnCmd::getTxnHandle(), getTxnHandle(), CmdInterpreter::TxnHandle::pDb, CmdInterpreter::TxnHandle::pTxn, and setSvptHandle().
00533 { 00534 TxnHandle *pTxnHandle = getTxnHandle(cmd.getTxnHandle()); 00535 00536 // block checkpoints during this method 00537 SXMutexSharedGuard actionMutexGuard( 00538 pTxnHandle->pDb->getCheckpointThread()->getActionMutex()); 00539 00540 setSvptHandle( 00541 cmd.getResultHandle(), 00542 pTxnHandle->pTxn->createSavepoint()); 00543 }
void CmdInterpreter::visit | ( | ProxyCmdCommit & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 545 of file CmdInterpreter.cpp.
References CHECKPOINT_FLUSH_ALL, SnapshotRandomAllocationSegment::commitChanges(), deleteAndNullify(), getSavepointId(), getTxnHandle(), CmdInterpreter::TxnHandle::pDb, CmdInterpreter::TxnHandle::pSnapshotSegment, CmdInterpreter::TxnHandle::pTxn, and CmdInterpreter::TxnHandle::readOnly.
00546 { 00547 TxnHandle *pTxnHandle = getTxnHandle(cmd.getTxnHandle()); 00548 SharedDatabase pDb = pTxnHandle->pDb; 00549 00550 // block checkpoints during this method 00551 bool txnBlocksCheckpoint = !pTxnHandle->readOnly && pDb->shouldForceTxns(); 00552 SXMutexSharedGuard actionMutexGuard( 00553 pDb->getCheckpointThread()->getActionMutex()); 00554 00555 if (pDb->areSnapshotsEnabled()) { 00556 // Commit the current txn, and start a new one so the versioned 00557 // pages that we're now going to commit will be marked with a txnId 00558 // corresponding to the time of the commit. At present, those pages 00559 // are marked with a txnId corresponding to the start of the txn. 00560 pTxnHandle->pTxn->commit(); 00561 pTxnHandle->pTxn = pDb->getTxnLog()->newLogicalTxn(pDb->getCache()); 00562 SnapshotRandomAllocationSegment *pSnapshotSegment = 00563 SegmentFactory::dynamicCast<SnapshotRandomAllocationSegment *>( 00564 pTxnHandle->pSnapshotSegment); 00565 TxnId commitTxnId = pTxnHandle->pTxn->getTxnId(); 00566 pSnapshotSegment->commitChanges(commitTxnId); 00567 00568 // Flush pages associated with the snapshot segment. Note that we 00569 // don't need to flush the underlying versioned segment first since 00570 // the snapshot pages are all new and therefore, are never logged. 00571 // Pages in the underlying versioned segment will be flushed in the 00572 // requestCheckpoint call further below. Also note that the 00573 // checkpoint is not initiated through the dynamically cast segment 00574 // to ensure that the command is traced if tracing is turned on. 00575 if (txnBlocksCheckpoint) { 00576 pTxnHandle->pSnapshotSegment->checkpoint(CHECKPOINT_FLUSH_ALL); 00577 } 00578 } 00579 00580 if (cmd.getSvptHandle()) { 00581 SavepointId svptId = getSavepointId(cmd.getSvptHandle()); 00582 pTxnHandle->pTxn->commitSavepoint(svptId); 00583 } else { 00584 pTxnHandle->pTxn->commit(); 00585 deleteAndNullify(pTxnHandle); 00586 if (txnBlocksCheckpoint) { 00587 // release the checkpoint lock acquired above 00588 actionMutexGuard.unlock(); 00589 // force a checkpoint now to flush all data modified by transaction 00590 // to disk; wait for it to complete before reporting the 00591 // transaction as committed 00592 pDb->requestCheckpoint(CHECKPOINT_FLUSH_ALL, false); 00593 } 00594 } 00595 }
void CmdInterpreter::visit | ( | ProxyCmdRollback & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 597 of file CmdInterpreter.cpp.
References deleteAndNullify(), getSavepointId(), getTxnHandle(), CmdInterpreter::TxnHandle::pDb, CmdInterpreter::TxnHandle::pSnapshotSegment, CmdInterpreter::TxnHandle::pTxn, and CmdInterpreter::TxnHandle::readOnly.
00598 { 00599 TxnHandle *pTxnHandle = getTxnHandle(cmd.getTxnHandle()); 00600 SharedDatabase pDb = pTxnHandle->pDb; 00601 00602 // block checkpoints during this method 00603 bool txnBlocksCheckpoint = !pTxnHandle->readOnly && pDb->shouldForceTxns(); 00604 SXMutexSharedGuard actionMutexGuard( 00605 pDb->getCheckpointThread()->getActionMutex()); 00606 00607 if (pDb->areSnapshotsEnabled()) { 00608 SnapshotRandomAllocationSegment *pSegment = 00609 SegmentFactory::dynamicCast<SnapshotRandomAllocationSegment *>( 00610 pTxnHandle->pSnapshotSegment); 00611 pSegment->rollbackChanges(); 00612 } 00613 00614 if (cmd.getSvptHandle()) { 00615 SavepointId svptId = getSavepointId(cmd.getSvptHandle()); 00616 pTxnHandle->pTxn->rollback(&svptId); 00617 } else { 00618 pTxnHandle->pTxn->rollback(); 00619 deleteAndNullify(pTxnHandle); 00620 if (txnBlocksCheckpoint && !pDb->areSnapshotsEnabled()) { 00621 // Implement rollback by simulating crash recovery, 00622 // reverting all pages modified by transaction. No need 00623 // to do this when snapshots are in use because no permanent 00624 // pages were modified. 00625 pDb->recoverOnline(); 00626 } 00627 } 00628 }
void CmdInterpreter::visit | ( | ProxyCmdGetTxnCsn & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 630 of file CmdInterpreter.cpp.
References getTxnHandle(), CmdInterpreter::TxnHandle::pDb, CmdInterpreter::TxnHandle::pSnapshotSegment, and setCsnHandle().
00631 { 00632 TxnHandle *pTxnHandle = getTxnHandle(cmd.getTxnHandle()); 00633 SharedDatabase pDb = pTxnHandle->pDb; 00634 assert(pDb->areSnapshotsEnabled()); 00635 SnapshotRandomAllocationSegment *pSegment = 00636 SegmentFactory::dynamicCast<SnapshotRandomAllocationSegment *>( 00637 pTxnHandle->pSnapshotSegment); 00638 setCsnHandle(cmd.getResultHandle(), pSegment->getSnapshotCsn()); 00639 }
void CmdInterpreter::visit | ( | ProxyCmdGetLastCommittedTxnId & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 641 of file CmdInterpreter.cpp.
References getDbHandle(), CmdInterpreter::DbHandle::pDb, and setCsnHandle().
00642 { 00643 DbHandle *pDbHandle = getDbHandle(cmd.getDbHandle()); 00644 SharedDatabase pDb = pDbHandle->pDb; 00645 setCsnHandle(cmd.getResultHandle(), pDb->getLastCommittedTxnId()); 00646 }
void CmdInterpreter::visit | ( | ProxyCmdAlterSystemDeallocate & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 786 of file CmdInterpreter.cpp.
References ProxyDatabaseCmd::getDbHandle(), getDbHandle(), ProxyCmdAlterSystemDeallocate::getOldestLabelCsn(), isMAXU(), NULL_TXN_ID, and CmdInterpreter::DbHandle::pDb.
00787 { 00788 DbHandle *pDbHandle = getDbHandle(cmd.getDbHandle()); 00789 SharedDatabase pDb = pDbHandle->pDb; 00790 if (!pDb->areSnapshotsEnabled()) { 00791 // Nothing to do if snapshots aren't enabled 00792 return; 00793 } else { 00794 uint64_t paramVal = cmd.getOldestLabelCsn(); 00795 TxnId labelCsn = isMAXU(paramVal) ? NULL_TXN_ID : TxnId(paramVal); 00796 pDb->deallocateOldPages(labelCsn); 00797 } 00798 }
void CmdInterpreter::visit | ( | ProxyCmdVersionIndexRoot & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 800 of file CmdInterpreter.cpp.
References ProxyCmdVersionIndexRoot::getNewRootPageId(), ProxyCmdVersionIndexRoot::getOldRootPageId(), ProxyTxnCmd::getTxnHandle(), getTxnHandle(), CmdInterpreter::TxnHandle::pDb, and CmdInterpreter::TxnHandle::pSnapshotSegment.
00801 { 00802 TxnHandle *pTxnHandle = getTxnHandle(cmd.getTxnHandle()); 00803 SharedDatabase pDb = pTxnHandle->pDb; 00804 assert(pDb->areSnapshotsEnabled()); 00805 00806 SnapshotRandomAllocationSegment *pSnapshotSegment = 00807 SegmentFactory::dynamicCast<SnapshotRandomAllocationSegment *>( 00808 pTxnHandle->pSnapshotSegment); 00809 pSnapshotSegment->versionPage( 00810 PageId(cmd.getOldRootPageId()), 00811 PageId(cmd.getNewRootPageId())); 00812 }
void CmdInterpreter::visit | ( | ProxyCmdInitiateBackup & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 814 of file CmdInterpreter.cpp.
References ProxyCmdInitiateBackup::getBackupPathname(), ProxyCmdInitiateBackup::getCompressionProgram(), ProxyDatabaseCmd::getDbHandle(), getDbHandle(), ProxyCmdInitiateBackup::getLowerBoundCsn(), ProxyCsnHandleReturningCmd::getResultHandle(), ProxyCmdInitiateBackup::getSpacePadding(), ProxyCmdInitiateBackup::isCheckSpaceRequirements(), isMAXU(), NULL_TXN_ID, CmdInterpreter::DbHandle::pDb, pExecHandle, setCsnHandle(), and ProxyCmdInitiateBackup::setResultDataDeviceSize().
00815 { 00816 DbHandle *pDbHandle = getDbHandle(cmd.getDbHandle()); 00817 SharedDatabase pDb = pDbHandle->pDb; 00818 uint64_t paramVal = cmd.getLowerBoundCsn(); 00819 TxnId lowerBoundCsn = isMAXU(paramVal) ? NULL_TXN_ID : TxnId(paramVal); 00820 FileSize dataDeviceSize; 00821 00822 volatile bool abortFlag = false; 00823 TxnId csn = 00824 pDb->initiateBackup( 00825 cmd.getBackupPathname(), 00826 cmd.isCheckSpaceRequirements(), 00827 FileSize(cmd.getSpacePadding()), 00828 lowerBoundCsn, 00829 cmd.getCompressionProgram(), 00830 dataDeviceSize, 00831 (pExecHandle == NULL) ? abortFlag : pExecHandle->aborted); 00832 cmd.setResultDataDeviceSize(dataDeviceSize); 00833 setCsnHandle(cmd.getResultHandle(), csn); 00834 }
void CmdInterpreter::visit | ( | ProxyCmdCompleteBackup & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 836 of file CmdInterpreter.cpp.
References CmdInterpreter::ExecutionHandle::aborted, ProxyDatabaseCmd::getDbHandle(), getDbHandle(), ProxyCmdCompleteBackup::getLowerBoundCsn(), ProxyCmdCompleteBackup::getUpperBoundCsn(), isMAXU(), NULL_TXN_ID, CmdInterpreter::DbHandle::pDb, and pExecHandle.
00837 { 00838 DbHandle *pDbHandle = getDbHandle(cmd.getDbHandle()); 00839 SharedDatabase pDb = pDbHandle->pDb; 00840 uint64_t paramVal = cmd.getLowerBoundCsn(); 00841 TxnId lowerBoundCsn = isMAXU(paramVal) ? NULL_TXN_ID : TxnId(paramVal); 00842 volatile bool abortFlag = false; 00843 pDb->completeBackup( 00844 lowerBoundCsn, 00845 TxnId(cmd.getUpperBoundCsn()), 00846 (pExecHandle == NULL) ? abortFlag : pExecHandle->aborted); 00847 }
void CmdInterpreter::visit | ( | ProxyCmdAbandonBackup & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 849 of file CmdInterpreter.cpp.
References getDbHandle(), and CmdInterpreter::DbHandle::pDb.
00850 { 00851 DbHandle *pDbHandle = getDbHandle(cmd.getDbHandle()); 00852 SharedDatabase pDb = pDbHandle->pDb; 00853 pDb->abortBackup(); 00854 }
void CmdInterpreter::visit | ( | ProxyCmdRestoreFromBackup & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 856 of file CmdInterpreter.cpp.
References CmdInterpreter::ExecutionHandle::aborted, ProxyCmdRestoreFromBackup::getBackupPathname(), ProxyCmdRestoreFromBackup::getCompressionProgram(), ProxyDatabaseCmd::getDbHandle(), getDbHandle(), ProxyCmdRestoreFromBackup::getFileSize(), ProxyCmdRestoreFromBackup::getLowerBoundCsn(), ProxyCmdRestoreFromBackup::getUpperBoundCsn(), isMAXU(), NULL_TXN_ID, CmdInterpreter::DbHandle::pDb, and pExecHandle.
00857 { 00858 DbHandle *pDbHandle = getDbHandle(cmd.getDbHandle()); 00859 SharedDatabase pDb = pDbHandle->pDb; 00860 uint64_t paramVal = cmd.getLowerBoundCsn(); 00861 TxnId lowerBoundCsn = isMAXU(paramVal) ? NULL_TXN_ID : TxnId(paramVal); 00862 volatile bool abortFlag = false; 00863 pDb->restoreFromBackup( 00864 cmd.getBackupPathname(), 00865 cmd.getFileSize(), 00866 cmd.getCompressionProgram(), 00867 lowerBoundCsn, 00868 TxnId(cmd.getUpperBoundCsn()), 00869 (pExecHandle == NULL) ? abortFlag : pExecHandle->aborted); 00870 }
Interprets the given command object.
cmd | the ProxyCmd to be executed |
Definition at line 58 of file CmdInterpreter.cpp.
References resultHandle, and FemVisitor::visitTbl.
Referenced by Java_net_sf_farrago_fennel_FennelStorage_executeJavaCmd().
00060 { 00061 resultHandle = 0; 00062 // dispatch based on polymorphic command type 00063 FemVisitor::visitTbl.accept(*this,cmd); 00064 return resultHandle; 00065 }
CmdInterpreter::StreamGraphHandle & CmdInterpreter::getStreamGraphHandleFromLong | ( | jlong | ) | [inline, static] |
Definition at line 269 of file CmdInterpreter.h.
Referenced by Java_com_lucidera_farrago_fennel_LucidEraJni_registerStreamFactory(), Java_net_sf_farrago_fennel_FennelStorage_tupleStreamGraphClose(), Java_net_sf_farrago_fennel_FennelStorage_tupleStreamGraphGetInputStreams(), and Java_net_sf_farrago_fennel_FennelStorage_tupleStreamGraphOpen().
ExecStream & CmdInterpreter::getExecStreamFromLong | ( | jlong | ) | [inline, static] |
Definition at line 274 of file CmdInterpreter.h.
Referenced by Java_net_sf_farrago_fennel_FennelStorage_tupleStreamFetch(), Java_net_sf_farrago_fennel_FennelStorage_tupleStreamRestart(), and Java_net_sf_farrago_fennel_FennelStorage_tupleStreamTransformFetch().
CmdInterpreter::TxnHandle & CmdInterpreter::getTxnHandleFromLong | ( | jlong | ) | [inline, static] |
Definition at line 279 of file CmdInterpreter.h.
Referenced by Java_net_sf_farrago_fennel_FennelStorage_tupleStreamGraphOpen().
CmdInterpreter::ExecutionHandle & CmdInterpreter::getExecutionHandleFromLong | ( | jlong | ) | [inline, static] |
Definition at line 286 of file CmdInterpreter.h.
Referenced by Java_net_sf_farrago_fennel_FennelStorage_cancelExecution(), Java_net_sf_farrago_fennel_FennelStorage_deleteExecutionHandle(), and Java_net_sf_farrago_fennel_FennelStorage_executeJavaCmd().
jobject CmdInterpreter::getObjectFromLong | ( | jlong | jHandle | ) | [inline, static] |
Definition at line 262 of file CmdInterpreter.h.
Referenced by JavaSinkExecStream::open().
00263 { 00264 jobject *pGlobalRef = reinterpret_cast<jobject *>(jHandle); 00265 return *pGlobalRef; 00266 }
void CmdInterpreter::readTupleDescriptor | ( | TupleDescriptor & | tupleDesc, | |
ProxyTupleDescriptor & | javaTupleDesc, | |||
StoredTypeDescriptorFactory const & | typeFactory | |||
) | [static] |
Reads the Java representation of a TupleDescriptor.
tupleDesc | target TupleDescriptor | |
javaTupleDesc | Java proxy representation | |
typeFactory | factory for resolving type ordinals |
Definition at line 759 of file CmdInterpreter.cpp.
References ProxyTupleDescriptor::getAttrDescriptor(), and StoredTypeDescriptorFactory::newDataType().
Referenced by getBTreeForIndexCmd(), Java_net_sf_farrago_fennel_FennelStorage_getAccessorXmiForTupleDescriptor(), and ExecStreamFactory::readTupleDescriptor().
00763 { 00764 tupleDesc.clear(); 00765 SharedProxyTupleAttrDescriptor pAttr = javaTupleDesc.getAttrDescriptor(); 00766 for (; pAttr; ++pAttr) { 00767 StoredTypeDescriptor const &typeDescriptor = 00768 typeFactory.newDataType(pAttr->getTypeOrdinal()); 00769 tupleDesc.push_back( 00770 TupleAttributeDescriptor( 00771 typeDescriptor,pAttr->isNullable(),pAttr->getByteLength())); 00772 } 00773 }
void CmdInterpreter::readTupleProjection | ( | TupleProjection & | tupleProj, | |
SharedProxyTupleProjection | pJavaTupleProj | |||
) | [static] |
Reads the Java representation of a TupleProjection.
tupleProj | target TupleProjection | |
pJavaTupleProj | Java representation |
Definition at line 775 of file CmdInterpreter.cpp.
Referenced by dropOrTruncateIndex(), getBTreeForIndexCmd(), ExecStreamFactory::implementSortWithBTree(), ExecStreamFactory::readBTreeParams(), ExecStreamFactory::readBTreeReadStreamParams(), ExecStreamFactory::readBTreeSearchStreamParams(), ExecStreamSubFactory_lu::readClusterAppendParams(), ExecStreamFactory::readTableWriterStreamParams(), ExecStreamSubFactory_lu::visit(), ExecStreamFactory::visit(), and visit().
00778 { 00779 tupleProj.clear(); 00780 SharedProxyTupleAttrProjection pAttr = pJavaTupleProj->getAttrProjection(); 00781 for (; pAttr; ++pAttr) { 00782 tupleProj.push_back(pAttr->getAttributeIndex()); 00783 } 00784 }
SharedErrorTarget CmdInterpreter::newErrorTarget | ( | jobject | fennelJavaErrorTarget | ) | [static] |
Definition at line 173 of file CmdInterpreter.cpp.
Referenced by Java_net_sf_farrago_fennel_FennelStorage_tupleStreamGraphOpen().
00175 { 00176 SharedErrorTarget errorTarget; 00177 errorTarget.reset(new JavaErrorTarget(fennelJavaErrorTarget)); 00178 return errorTarget; 00179 }
virtual void FemVisitor::visit | ( | ProxyAggInvocation & | ) | [inline, virtual, inherited] |
Definition at line 1460 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01461 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyAggStreamDef & | ) | [inline, virtual, inherited] |
Definition at line 1462 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01463 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyBarrierStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1464 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01465 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyBeginTxnCmd & | ) | [inline, virtual, inherited] |
Definition at line 1466 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01467 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyBernoulliSamplingStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1468 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01469 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyBufferReaderStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1470 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01471 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyBufferWriterStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1472 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01473 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyBufferingTupleStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1474 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01475 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCalcTupleStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1476 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01477 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCartesianProductStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1478 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01479 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmd & | ) | [inline, virtual, inherited] |
Definition at line 1480 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01481 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCollectTupleStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1530 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01531 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyColumnName & | ) | [inline, virtual, inherited] |
Definition at line 1532 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01533 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCorrelation & | ) | [inline, virtual, inherited] |
Definition at line 1534 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01535 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCorrelationJoinStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1536 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01537 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCsnHandle & | ) | [inline, virtual, inherited] |
Definition at line 1538 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01539 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCsnHandleReturningCmd & | ) | [inline, virtual, inherited] |
Definition at line 1540 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01541 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyDatabaseCmd & | ) | [inline, virtual, inherited] |
Definition at line 1542 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01543 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyDatabaseParam & | ) | [inline, virtual, inherited] |
Definition at line 1544 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01545 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyDbHandle & | ) | [inline, virtual, inherited] |
Definition at line 1546 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01547 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyDynamicParamUse & | ) | [inline, virtual, inherited] |
Definition at line 1548 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01549 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyDynamicParameter & | ) | [inline, virtual, inherited] |
Definition at line 1550 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01551 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyEndTxnCmd & | ) | [inline, virtual, inherited] |
Definition at line 1552 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01553 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyExecStreamDataFlow & | ) | [inline, virtual, inherited] |
Definition at line 1554 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01555 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyExecutionStreamDef & | ) | [inline, virtual, inherited] |
Definition at line 1556 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01557 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyFlatFileTupleStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1558 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01559 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyGenericStreamDef & | ) | [inline, virtual, inherited] |
Definition at line 1560 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01561 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyHandle & | ) | [inline, virtual, inherited] |
Definition at line 1562 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01563 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyIndexAccessCmd & | ) | [inline, virtual, inherited] |
Definition at line 1564 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01565 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyIndexAccessorDef & | ) | [inline, virtual, inherited] |
Definition at line 1566 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01567 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyIndexCmd & | ) | [inline, virtual, inherited] |
Definition at line 1568 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01569 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyIndexLoaderDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1570 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01571 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyIndexScanDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1572 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01573 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyIndexSearchDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1574 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01575 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyIndexStreamDef & | ) | [inline, virtual, inherited] |
Definition at line 1576 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01577 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyIndexWriterDef & | ) | [inline, virtual, inherited] |
Definition at line 1578 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01579 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyJavaSinkStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1580 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01581 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyJavaTransformStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1582 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01583 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyKeyAccessorDef & | ) | [inline, virtual, inherited] |
Definition at line 1584 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01585 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLbmBitOpStreamDef & | ) | [inline, virtual, inherited] |
Definition at line 1586 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01587 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLbmChopperStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1588 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01589 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLbmGeneratorStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1590 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01591 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLbmIntersectStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1592 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01593 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLbmMinusStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1594 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01595 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLbmNormalizerStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1596 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01597 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLbmSearchStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1598 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01599 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLbmSortedAggStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1600 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01601 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLbmSplicerStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1602 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01603 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLbmUnionStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1604 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01605 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLcsClusterAppendStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1606 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01607 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLcsClusterReplaceStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1608 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01609 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLcsClusterScanDef & | ) | [inline, virtual, inherited] |
Definition at line 1610 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01611 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLcsRowScanStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 1612 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01613 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLhxAggStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1614 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01615 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyLhxJoinStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1616 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01617 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyMergeStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1618 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01619 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyMockTupleStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1620 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01621 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyMultiUseBufferingStreamDef & | ) | [inline, virtual, inherited] |
Definition at line 1622 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01623 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyNestedLoopJoinStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1624 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01625 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyReshapeParameter & | ) | [inline, virtual, inherited] |
Definition at line 1626 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01627 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyReshapeStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1628 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01629 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxySortedAggStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1630 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01631 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxySortingStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1632 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01633 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxySplicerIndexAccessorDef & | ) | [inline, virtual, inherited] |
Definition at line 1634 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01635 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxySplitterStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1636 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01637 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyStreamGraphHandle & | ) | [inline, virtual, inherited] |
Definition at line 1638 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01639 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyStreamHandle & | ) | [inline, virtual, inherited] |
Definition at line 1640 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01641 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxySvptHandle & | ) | [inline, virtual, inherited] |
Definition at line 1642 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01643 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTableDeleterDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1644 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01645 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTableInserterDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1646 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01647 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTableUpdaterDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1648 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01649 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTableWriterDef & | ) | [inline, virtual, inherited] |
Definition at line 1650 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01651 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTupleAccessor & | ) | [inline, virtual, inherited] |
Definition at line 1652 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01653 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTupleAttrAccessor & | ) | [inline, virtual, inherited] |
Definition at line 1654 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01655 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTupleAttrDescriptor & | ) | [inline, virtual, inherited] |
Definition at line 1656 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01657 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTupleAttrProjection & | ) | [inline, virtual, inherited] |
Definition at line 1658 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01659 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTupleDescriptor & | ) | [inline, virtual, inherited] |
Definition at line 1660 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01661 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTupleProjection & | ) | [inline, virtual, inherited] |
Definition at line 1662 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01663 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTupleStreamDef & | ) | [inline, virtual, inherited] |
Definition at line 1664 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01665 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTupleStreamGraphCmd & | ) | [inline, virtual, inherited] |
Definition at line 1666 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01667 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTxnCmd & | ) | [inline, virtual, inherited] |
Definition at line 1668 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01669 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyTxnHandle & | ) | [inline, virtual, inherited] |
Definition at line 1670 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01671 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyUncollectTupleStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1672 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01673 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyValuesStreamDef & | ) | [inline, virtual, inherited] |
Reimplemented in ExecStreamFactory.
Definition at line 1674 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01675 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyWindowDef & | ) | [inline, virtual, inherited] |
Definition at line 1676 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01677 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyWindowPartitionDef & | ) | [inline, virtual, inherited] |
Definition at line 1678 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01679 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyWindowStreamDef & | ) | [inline, virtual, inherited] |
Definition at line 1680 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01681 { unhandledVisit(); }
void JniProxyVisitor::unhandledVisit | ( | ) | [virtual, inherited] |
Handles case when a visitor attempts to visit a proxy whose type's visit method has not been overridden.
Default action is to throw an assertion failure; subclasses may override to ignore or whatever.
Reimplemented in ExecStreamSubFactory_lu.
Definition at line 50 of file JniProxy.cpp.
Referenced by FemVisitor::visit().
Pointer to the execution handle associated with a command.
NULL if there is no handle.
Definition at line 146 of file CmdInterpreter.h.
Referenced by Java_net_sf_farrago_fennel_FennelStorage_executeJavaCmd(), and visit().
int64_t CmdInterpreter::resultHandle [protected] |
Handle to be returned by current command, or 0 if none.
Have to do it this way since visit returns void; note that this makes this class stateful (each thread needs its own instance).
Definition at line 154 of file CmdInterpreter.h.
Referenced by executeCommand(), setCsnHandle(), setDbHandle(), setExecStreamHandle(), setStreamGraphHandle(), setSvptHandle(), setTxnHandle(), and visit().
JniProxyVisitTable< FemVisitor > FemVisitor::visitTbl [static, inherited] |
Definition at line 1459 of file FemGeneratedClasses.h.
Referenced by ExecStreamSubFactory_lu::createStream(), executeCommand(), ExecStreamFactory::invokeVisit(), and JNI_OnLoad().