#include <ExecStreamFactory.h>
Inheritance diagram for ExecStreamFactory:
NOTE: this class is not thread-safe
Definition at line 58 of file ExecStreamFactory.h.
ExecStreamFactory::ExecStreamFactory | ( | SharedDatabase | pDatabase, | |
SharedFtrsTableWriterFactory | pTableWriterFactory, | |||
CmdInterpreter::StreamGraphHandle * | pStreamGraphHandle | |||
) | [explicit] |
Definition at line 68 of file ExecStreamFactory.cpp.
References pDatabase, pGraphEmbryo, pStreamGraphHandle, and pTableWriterFactory.
00072 { 00073 pDatabase = pDatabaseInit; 00074 pTableWriterFactory = pTableWriterFactoryInit; 00075 pStreamGraphHandle = pStreamGraphHandleInit; 00076 pGraphEmbryo = NULL; 00077 }
void ExecStreamFactory::invokeVisit | ( | ProxyExecutionStreamDef & | ) | [protected, virtual] |
Dispatches to the correct visitor method; only called when no subfactory wants to handle the stream.
Definition at line 130 of file ExecStreamFactory.cpp.
References FemVisitor::visitTbl.
Referenced by visitStream().
00132 { 00133 FemVisitor::visitTbl.accept(*this,streamDef); 00134 }
void ExecStreamFactory::visit | ( | ProxyBarrierStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 142 of file ExecStreamFactory.cpp.
References embryo, ProxyBarrierStreamDef::getReturnMode(), ExecStreamEmbryo::init(), readBarrierDynamicParams(), readTupleStreamParams(), and BarrierExecStreamParams::returnMode.
00143 { 00144 BarrierExecStreamParams params; 00145 readTupleStreamParams(params, streamDef); 00146 params.returnMode = streamDef.getReturnMode(); 00147 readBarrierDynamicParams(params, streamDef); 00148 embryo.init(new BarrierExecStream(), params); 00149 }
void ExecStreamFactory::visit | ( | ProxyBufferingTupleStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 162 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), ProxyBufferingTupleStreamDef::isInMemory(), ProxyBufferingTupleStreamDef::isMultipass(), SegBufferExecStreamParams::multipass, pDatabase, and readTupleStreamParams().
00163 { 00164 SegBufferExecStreamParams params; 00165 readTupleStreamParams(params, streamDef); 00166 params.multipass = streamDef.isMultipass(); 00167 if (!streamDef.isInMemory()) { 00168 params.scratchAccessor.pSegment = pDatabase->getTempSegment(); 00169 params.scratchAccessor.pCacheAccessor = params.pCacheAccessor; 00170 } 00171 embryo.init(new SegBufferExecStream(), params); 00172 }
void ExecStreamFactory::visit | ( | ProxyBufferReaderStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 189 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), pDatabase, readDynamicParamId(), SegBufferReaderExecStreamParams::readerRefCountParamId, and readTupleStreamParams().
00190 { 00191 SegBufferReaderExecStreamParams params; 00192 readTupleStreamParams(params, streamDef); 00193 if (!streamDef.isInMemory()) { 00194 params.scratchAccessor.pSegment = pDatabase->getTempSegment(); 00195 params.scratchAccessor.pCacheAccessor = params.pCacheAccessor; 00196 } 00197 assert(streamDef.isMultipass()); 00198 params.readerRefCountParamId = 00199 readDynamicParamId(streamDef.getReaderRefCountParamId()); 00200 embryo.init(new SegBufferReaderExecStream(), params); 00201 }
void ExecStreamFactory::visit | ( | ProxyBufferWriterStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 174 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), DiffluenceExecStreamParams::outputTupleDesc, pDatabase, readDynamicParamId(), SegBufferWriterExecStreamParams::readerRefCountParamId, readExecStreamParams(), and readTupleDescriptor().
00175 { 00176 SegBufferWriterExecStreamParams params; 00177 readExecStreamParams(params, streamDef); 00178 readTupleDescriptor(params.outputTupleDesc, streamDef.getOutputDesc()); 00179 if (!streamDef.isInMemory()) { 00180 params.scratchAccessor.pSegment = pDatabase->getTempSegment(); 00181 params.scratchAccessor.pCacheAccessor = params.pCacheAccessor; 00182 } 00183 assert(streamDef.isMultipass()); 00184 params.readerRefCountParamId = 00185 readDynamicParamId(streamDef.getReaderRefCountParamId()); 00186 embryo.init(new SegBufferWriterExecStream(), params); 00187 }
void ExecStreamFactory::visit | ( | ProxyCartesianProductStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 203 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), ProxyCartesianProductStreamDef::isLeftOuter(), CartesianJoinExecStreamParams::leftOuter, and readTupleStreamParams().
00204 { 00205 CartesianJoinExecStreamParams params; 00206 readTupleStreamParams(params, streamDef); 00207 params.leftOuter = streamDef.isLeftOuter(); 00208 embryo.init(new CartesianJoinExecStream(), params); 00209 }
void ExecStreamFactory::visit | ( | ProxyIndexLoaderDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 211 of file ExecStreamFactory.cpp.
References BTreeInsertExecStreamParams::distinctness, embryo, ProxyIndexLoaderDef::getDistinctness(), ExecStreamEmbryo::init(), ProxyIndexLoaderDef::isMonotonic(), BTreeInsertExecStreamParams::monotonic, readBTreeStreamParams(), and readTupleStreamParams().
00212 { 00213 BTreeInsertExecStreamParams params; 00214 readTupleStreamParams(params, streamDef); 00215 readBTreeStreamParams(params, streamDef); 00216 params.distinctness = streamDef.getDistinctness(); 00217 params.monotonic = streamDef.isMonotonic(); 00218 embryo.init(new BTreeInsertExecStream(), params); 00219 }
void ExecStreamFactory::visit | ( | ProxyIndexScanDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 221 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), and readBTreeReadStreamParams().
00222 { 00223 BTreeScanExecStreamParams params; 00224 readBTreeReadStreamParams(params, streamDef); 00225 embryo.init( 00226 new BTreeScanExecStream(), 00227 params); 00228 }
void ExecStreamFactory::visit | ( | ProxyIndexSearchDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 230 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), initBTreePrefetchSearchParams(), ProxyIndexSearchDef::isPrefetch(), ProxyIndexSearchDef::isUniqueKey(), and readBTreeSearchStreamParams().
00231 { 00232 assert(!(streamDef.isUniqueKey() && streamDef.isPrefetch())); 00233 if (streamDef.isPrefetch()) { 00234 BTreePrefetchSearchExecStreamParams params; 00235 initBTreePrefetchSearchParams(params, streamDef); 00236 embryo.init( 00237 new BTreePrefetchSearchExecStream(), 00238 params); 00239 } else { 00240 BTreeSearchExecStreamParams params; 00241 readBTreeSearchStreamParams(params, streamDef); 00242 embryo.init( 00243 streamDef.isUniqueKey() 00244 ? new BTreeSearchUniqueExecStream() : new BTreeSearchExecStream(), 00245 params); 00246 } 00247 }
void ExecStreamFactory::visit | ( | ProxyJavaSinkStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 259 of file ExecStreamFactory.cpp.
References embryo, ProxyJavaSinkStreamDef::getStreamId(), ExecStreamEmbryo::init(), JavaSinkExecStreamParams::javaFennelPipeTupleIterId, pStreamGraphHandle, JavaSinkExecStreamParams::pStreamGraphHandle, and readExecStreamParams().
00260 { 00261 JavaSinkExecStreamParams params; 00262 readExecStreamParams(params, streamDef); 00263 params.pStreamGraphHandle = pStreamGraphHandle; 00264 params.javaFennelPipeTupleIterId = streamDef.getStreamId(); 00265 embryo.init(new JavaSinkExecStream(), params); 00266 }
void ExecStreamFactory::visit | ( | ProxyJavaTransformStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 268 of file ExecStreamFactory.cpp.
References embryo, ProxyJavaTransformStreamDef::getJavaClassName(), ExecStreamEmbryo::init(), JavaTransformExecStreamParams::javaClassName, JavaTransformExecStreamParams::outputTupleDesc, pStreamGraphHandle, JavaTransformExecStreamParams::pStreamGraphHandle, readExecStreamParams(), and readTupleDescriptor().
00269 { 00270 JavaTransformExecStreamParams params; 00271 00272 readExecStreamParams(params, streamDef); 00273 00274 readTupleDescriptor(params.outputTupleDesc, streamDef.getOutputDesc()); 00275 00276 params.pStreamGraphHandle = pStreamGraphHandle; 00277 params.javaClassName = streamDef.getJavaClassName(); 00278 embryo.init(new JavaTransformExecStream(), params); 00279 }
void ExecStreamFactory::visit | ( | ProxyMergeStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 281 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), MergeExecStreamParams::isParallel, ProxyMergeStreamDef::isPrePullInputs(), ProxyMergeStreamDef::isSequential(), and readTupleStreamParams().
00282 { 00283 MergeExecStreamParams params; 00284 readTupleStreamParams(params, streamDef); 00285 if (!streamDef.isSequential()) { 00286 params.isParallel = true; 00287 } 00288 // prePullInputs parameter isn't actually supported yet 00289 assert(!streamDef.isPrePullInputs()); 00290 embryo.init(new MergeExecStream(), params); 00291 }
void ExecStreamFactory::visit | ( | ProxyMockTupleStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 293 of file ExecStreamFactory.cpp.
References embryo, ProxyMockTupleStreamDef::getRowCount(), ExecStreamEmbryo::init(), MockProducerExecStreamParams::nRows, and readTupleStreamParams().
00294 { 00295 MockProducerExecStreamParams params; 00296 readTupleStreamParams(params, streamDef); 00297 params.nRows = streamDef.getRowCount(); 00298 embryo.init(new MockProducerExecStream(), params); 00299 }
void ExecStreamFactory::visit | ( | ProxyTableDeleterDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 301 of file ExecStreamFactory.cpp.
References FtrsTableWriter::ACTION_DELETE, FtrsTableWriterExecStreamParams::actionType, embryo, ExecStreamEmbryo::init(), and readTableWriterStreamParams().
00302 { 00303 FtrsTableWriterExecStreamParams params; 00304 params.actionType = FtrsTableWriter::ACTION_DELETE; 00305 readTableWriterStreamParams(params, streamDef); 00306 embryo.init(new FtrsTableWriterExecStream(), params); 00307 }
void ExecStreamFactory::visit | ( | ProxyTableInserterDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 309 of file ExecStreamFactory.cpp.
References FtrsTableWriter::ACTION_INSERT, FtrsTableWriterExecStreamParams::actionType, embryo, ExecStreamEmbryo::init(), and readTableWriterStreamParams().
00310 { 00311 FtrsTableWriterExecStreamParams params; 00312 params.actionType = FtrsTableWriter::ACTION_INSERT; 00313 readTableWriterStreamParams(params, streamDef); 00314 embryo.init(new FtrsTableWriterExecStream(), params); 00315 }
void ExecStreamFactory::visit | ( | ProxyTableUpdaterDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 317 of file ExecStreamFactory.cpp.
References FtrsTableWriter::ACTION_UPDATE, FtrsTableWriterExecStreamParams::actionType, embryo, ProxyTableUpdaterDef::getUpdateProj(), ExecStreamEmbryo::init(), readTableWriterStreamParams(), CmdInterpreter::readTupleProjection(), and FtrsTableWriterParams::updateProj.
00318 { 00319 FtrsTableWriterExecStreamParams params; 00320 params.actionType = FtrsTableWriter::ACTION_UPDATE; 00321 SharedProxyTupleProjection pUpdateProj = streamDef.getUpdateProj(); 00322 CmdInterpreter::readTupleProjection( 00323 params.updateProj, 00324 pUpdateProj); 00325 readTableWriterStreamParams(params, streamDef); 00326 embryo.init(new FtrsTableWriterExecStream(), params); 00327 }
void ExecStreamFactory::visit | ( | ProxySortedAggStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 329 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), and readAggStreamParams().
00330 { 00331 SortedAggExecStreamParams params; 00332 readAggStreamParams(params, streamDef); 00333 embryo.init(new SortedAggExecStream(), params); 00334 }
void ExecStreamFactory::visit | ( | ProxySortingStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 504 of file ExecStreamFactory.cpp.
References createPrivateScratchSegment(), ExternalSortExecStreamParams::descendingKeyColumns, ExternalSortExecStreamParams::distinctness, DUP_ALLOW, ExternalSortExecStreamParams::earlyClose, embryo, ExternalSortExecStreamParams::estimatedNumRows, getDatabase(), ProxySortingStreamDef::getDescendingProj(), ProxySortingStreamDef::getDistinctness(), ProxySortingStreamDef::getEstimatedNumRows(), ProxyKeyAccessorDef::getKeyProj(), implementSortWithBTree(), ExecStreamEmbryo::init(), ProxySortingStreamDef::isEarlyClose(), ExternalSortExecStreamParams::keyProj, ExternalSortExecStream::newExternalSortExecStream(), pDatabase, ExternalSortExecStreamParams::pTempSegment, CmdInterpreter::readTupleProjection(), readTupleStreamParams(), and ExternalSortExecStreamParams::storeFinalRun.
00505 { 00506 if (streamDef.getDistinctness() != DUP_ALLOW) { 00507 // can't handle it; fall back to BTree-based sort 00508 implementSortWithBTree(streamDef); 00509 return; 00510 } 00511 00512 SharedDatabase pDatabase = getDatabase(); 00513 00514 ExternalSortExecStreamParams params; 00515 00516 readTupleStreamParams(params, streamDef); 00517 00518 // ExternalSortStream requires a private ScratchSegment. 00519 createPrivateScratchSegment(params); 00520 00521 params.distinctness = streamDef.getDistinctness(); 00522 params.pTempSegment = pDatabase->getTempSegment(); 00523 params.storeFinalRun = false; 00524 params.estimatedNumRows = streamDef.getEstimatedNumRows(); 00525 params.earlyClose = streamDef.isEarlyClose(); 00526 CmdInterpreter::readTupleProjection( 00527 params.keyProj, 00528 streamDef.getKeyProj()); 00529 params.descendingKeyColumns.resize(params.keyProj.size(), false); 00530 if (streamDef.getDescendingProj()) { 00531 TupleProjection descendingProj; 00532 CmdInterpreter::readTupleProjection( 00533 descendingProj, 00534 streamDef.getDescendingProj()); 00535 for (uint i = 0; i < descendingProj.size(); ++i) { 00536 params.descendingKeyColumns[descendingProj[i]] = true; 00537 } 00538 } 00539 embryo.init( 00540 ExternalSortExecStream::newExternalSortExecStream(), 00541 params); 00542 }
void ExecStreamFactory::visit | ( | ProxySplitterStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 357 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), readExecStreamParams(), and readTupleDescriptor().
00358 { 00359 SplitterExecStreamParams params; 00360 readExecStreamParams(params, streamDef); 00361 readTupleDescriptor(params.outputTupleDesc, streamDef.getOutputDesc()); 00362 embryo.init(new SplitterExecStream(), params); 00363 }
void ExecStreamFactory::visit | ( | ProxyValuesStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 366 of file ExecStreamFactory.cpp.
References ValuesExecStreamParams::bufSize, JniUtil::classRhBase64, embryo, FixedBuffer, ExecStreamEmbryo::init(), JniProxy::jObject, ProxyValuesStreamDef::meth_getTupleBytesBase64, JniUtil::methBase64Decode, JniProxy::pEnv, ValuesExecStreamParams::pTupleBuffer, and readTupleStreamParams().
00367 { 00368 ValuesExecStreamParams params; 00369 readTupleStreamParams(params, streamDef); 00370 00371 // Get the Java String object so that we can pass it to the decoder. 00372 jobject tupleBytesBase64 = streamDef.pEnv->CallObjectMethod( 00373 streamDef.jObject, ProxyValuesStreamDef::meth_getTupleBytesBase64); 00374 00375 // Call back into Java again to perform the decode. 00376 jbyteArray jbytes = (jbyteArray) streamDef.pEnv->CallStaticObjectMethod( 00377 JniUtil::classRhBase64, 00378 JniUtil::methBase64Decode, 00379 tupleBytesBase64); 00380 00381 // Copy the bytes from Java to our tuple buffer. 00382 params.bufSize = streamDef.pEnv->GetArrayLength(jbytes); 00383 params.pTupleBuffer.reset(new FixedBuffer[params.bufSize]); 00384 streamDef.pEnv->GetByteArrayRegion( 00385 jbytes, 0, params.bufSize, 00386 reinterpret_cast<jbyte *>(params.pTupleBuffer.get())); 00387 00388 embryo.init(new ValuesExecStream(), params); 00389 }
void ExecStreamFactory::visit | ( | ProxyReshapeStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 391 of file ExecStreamFactory.cpp.
References JniUtil::classRhBase64, COMP_NOOP, ReshapeExecStreamParams::compOp, ReshapeExecStreamParams::dynamicParameters, embryo, FixedBuffer, ProxyReshapeStreamDef::getCompareOp(), ProxyReshapeStreamDef::getInputCompareProjection(), ProxyReshapeStreamDef::getOutputProjection(), ProxyReshapeStreamDef::getReshapeParameter(), ExecStreamEmbryo::init(), ReshapeExecStreamParams::inputCompareProj, JniProxy::jObject, MAXU, ProxyReshapeStreamDef::meth_getTupleCompareBytesBase64, JniUtil::methBase64Decode, ReshapeExecStreamParams::outputProj, ReshapeExecStreamParams::pCompTupleBuffer, JniProxy::pEnv, CmdInterpreter::readTupleProjection(), and readTupleStreamParams().
00392 { 00393 ReshapeExecStreamParams params; 00394 readTupleStreamParams(params, streamDef); 00395 00396 params.compOp = streamDef.getCompareOp(); 00397 if (params.compOp != COMP_NOOP) { 00398 // Get the Java String object so that we can pass it to the decoder. 00399 jobject tupleBytesBase64 = streamDef.pEnv->CallObjectMethod( 00400 streamDef.jObject, 00401 ProxyReshapeStreamDef::meth_getTupleCompareBytesBase64); 00402 00403 // Call back into Java again to perform the decode. 00404 jbyteArray jbytes = (jbyteArray) streamDef.pEnv->CallStaticObjectMethod( 00405 JniUtil::classRhBase64, 00406 JniUtil::methBase64Decode, 00407 tupleBytesBase64); 00408 00409 // Copy the bytes from Java to our tuple buffer. 00410 int bufSize = streamDef.pEnv->GetArrayLength(jbytes); 00411 params.pCompTupleBuffer.reset(new FixedBuffer[bufSize]); 00412 streamDef.pEnv->GetByteArrayRegion( 00413 jbytes, 0, bufSize, 00414 reinterpret_cast<jbyte *>(params.pCompTupleBuffer.get())); 00415 00416 CmdInterpreter::readTupleProjection( 00417 params.inputCompareProj, streamDef.getInputCompareProjection()); 00418 } 00419 00420 CmdInterpreter::readTupleProjection( 00421 params.outputProj, streamDef.getOutputProjection()); 00422 00423 SharedProxyReshapeParameter dynamicParam = streamDef.getReshapeParameter(); 00424 for (; dynamicParam; ++dynamicParam) { 00425 int offset = dynamicParam->getCompareOffset(); 00426 ReshapeParameter reshapeParam( 00427 DynamicParamId(dynamicParam->getDynamicParamId()), 00428 (offset < 0) ? MAXU : uint(offset), 00429 dynamicParam->isOutputParam()); 00430 params.dynamicParameters.push_back(reshapeParam); 00431 } 00432 00433 embryo.init(new ReshapeExecStream(), params); 00434 }
void ExecStreamFactory::visit | ( | ProxyNestedLoopJoinStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 436 of file ExecStreamFactory.cpp.
References embryo, ProxyNestedLoopJoinStreamDef::getLeftJoinKey(), ExecStreamEmbryo::init(), ProxyCartesianProductStreamDef::isLeftOuter(), NestedLoopJoinExecStreamParams::leftJoinKeys, CartesianJoinExecStreamParams::leftOuter, and readTupleStreamParams().
00437 { 00438 NestedLoopJoinExecStreamParams params; 00439 readTupleStreamParams(params, streamDef); 00440 params.leftOuter = streamDef.isLeftOuter(); 00441 00442 SharedProxyCorrelation dynamicParam = streamDef.getLeftJoinKey(); 00443 for (; dynamicParam; ++dynamicParam) { 00444 NestedLoopJoinKey joinKey( 00445 DynamicParamId(dynamicParam->getId()), 00446 dynamicParam->getOffset()); 00447 params.leftJoinKeys.push_back(joinKey); 00448 } 00449 00450 embryo.init(new NestedLoopJoinExecStream(), params); 00451 }
void ExecStreamFactory::visit | ( | ProxyBernoulliSamplingStreamDef & | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 453 of file ExecStreamFactory.cpp.
References embryo, ProxyBernoulliSamplingStreamDef::getRepeatableSeed(), ProxyBernoulliSamplingStreamDef::getSamplingRate(), ExecStreamEmbryo::init(), ProxyBernoulliSamplingStreamDef::isRepeatable(), BernoulliSamplingExecStreamParams::isRepeatable, readTupleStreamParams(), BernoulliSamplingExecStreamParams::repeatableSeed, and BernoulliSamplingExecStreamParams::samplingRate.
00454 { 00455 BernoulliSamplingExecStreamParams params; 00456 readTupleStreamParams(params, streamDef); 00457 00458 params.samplingRate = streamDef.getSamplingRate(); 00459 params.isRepeatable = streamDef.isRepeatable(); 00460 params.repeatableSeed = streamDef.getRepeatableSeed(); 00461 00462 embryo.init(new BernoulliSamplingExecStream(), params); 00463 }
void ExecStreamFactory::visit | ( | ProxyCalcTupleStreamDef & | streamDef | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 465 of file ExecStreamFactory.cpp.
References embryo, ProxyCalcTupleStreamDef::getProgram(), ExecStreamEmbryo::init(), ProxyCalcTupleStreamDef::isFilter(), CalcExecStreamParams::isFilter, CalcExecStreamParams::program, and readTupleStreamParams().
00466 { 00467 CalcExecStreamParams params; 00468 readTupleStreamParams(params, streamDef); 00469 params.program = streamDef.getProgram(); 00470 params.isFilter = streamDef.isFilter(); 00471 embryo.init( 00472 new CalcExecStream(), 00473 params); 00474 }
void ExecStreamFactory::visit | ( | ProxyCorrelationJoinStreamDef & | streamDef | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 476 of file ExecStreamFactory.cpp.
References CorrelationJoinExecStreamParams::correlations, embryo, ProxyCorrelationJoinStreamDef::getCorrelations(), ExecStreamEmbryo::init(), and readTupleStreamParams().
00477 { 00478 CorrelationJoinExecStreamParams params; 00479 readTupleStreamParams(params, streamDef); 00480 SharedProxyCorrelation pCorrelation = streamDef.getCorrelations(); 00481 for (; pCorrelation; ++pCorrelation) { 00482 Correlation correlation( 00483 DynamicParamId(pCorrelation->getId()), 00484 pCorrelation->getOffset()); 00485 params.correlations.push_back(correlation); 00486 } 00487 embryo.init(new CorrelationJoinExecStream(), params); 00488 }
void ExecStreamFactory::visit | ( | ProxyCollectTupleStreamDef & | streamDef | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 490 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), and readTupleStreamParams().
00491 { 00492 CollectExecStreamParams params; 00493 readTupleStreamParams(params, streamDef); 00494 embryo.init(new CollectExecStream(), params); 00495 }
void ExecStreamFactory::visit | ( | ProxyUncollectTupleStreamDef & | streamDef | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 497 of file ExecStreamFactory.cpp.
References embryo, ExecStreamEmbryo::init(), and readTupleStreamParams().
00498 { 00499 UncollectExecStreamParams params; 00500 readTupleStreamParams(params, streamDef); 00501 embryo.init(new UncollectExecStream(), params); 00502 }
void ExecStreamFactory::visit | ( | ProxyFlatFileTupleStreamDef & | streamDef | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 553 of file ExecStreamFactory.cpp.
References FlatFileExecStreamParams::calcProgram, FlatFileExecStreamParams::columnNames, FlatFileExecStreamParams::dataFilePath, embryo, FlatFileExecStreamParams::errorFilePath, FlatFileExecStreamParams::escapeChar, FlatFileExecStreamParams::fieldDelim, FLATFILE_MODE_DESCRIBE, FLATFILE_MODE_QUERY_TEXT, FLATFILE_MODE_SAMPLE, ProxyFlatFileTupleStreamDef::getCalcProgram(), ProxyFlatFileTupleStreamDef::getDataFilePath(), ProxyFlatFileTupleStreamDef::getErrorFilePath(), ProxyFlatFileTupleStreamDef::getEscapeCharacter(), ProxyFlatFileTupleStreamDef::getFieldDelimiter(), ProxyFlatFileTupleStreamDef::getNumRowsScan(), ProxyFlatFileTupleStreamDef::getQuoteCharacter(), ProxyFlatFileTupleStreamDef::getRowDelimiter(), FlatFileExecStreamParams::header, ExecStreamEmbryo::init(), ProxyFlatFileTupleStreamDef::isHasHeader(), ProxyFlatFileTupleStreamDef::isLenient(), ProxyFlatFileTupleStreamDef::isMapped(), ProxyFlatFileTupleStreamDef::isTrim(), FlatFileExecStreamParams::lenient, FlatFileExecStreamParams::mapped, FlatFileExecStreamParams::mode, FlatFileExecStream::newFlatFileExecStream(), FlatFileExecStreamParams::numRowsScan, FlatFileExecStreamParams::quoteChar, readCharParam(), readColumnList(), readTupleStreamParams(), FlatFileExecStreamParams::rowDelim, and FlatFileExecStreamParams::trim.
00554 { 00555 FlatFileExecStreamParams params; 00556 readTupleStreamParams(params, streamDef); 00557 00558 assert(streamDef.getDataFilePath().size() > 0); 00559 params.dataFilePath = streamDef.getDataFilePath(); 00560 params.errorFilePath = streamDef.getErrorFilePath(); 00561 params.fieldDelim = readCharParam(streamDef.getFieldDelimiter()); 00562 params.rowDelim = readCharParam(streamDef.getRowDelimiter()); 00563 params.quoteChar = readCharParam(streamDef.getQuoteCharacter()); 00564 params.escapeChar = readCharParam(streamDef.getEscapeCharacter()); 00565 params.header = streamDef.isHasHeader(); 00566 params.lenient = streamDef.isLenient(); 00567 params.trim = streamDef.isTrim(); 00568 params.mapped = streamDef.isMapped(); 00569 readColumnList(streamDef, params.columnNames); 00570 00571 params.numRowsScan = streamDef.getNumRowsScan(); 00572 params.calcProgram = streamDef.getCalcProgram(); 00573 if (params.numRowsScan > 0 && params.calcProgram.size() > 0) { 00574 params.mode = FLATFILE_MODE_SAMPLE; 00575 } else if (params.numRowsScan > 0) { 00576 params.mode = FLATFILE_MODE_DESCRIBE; 00577 } else if (params.numRowsScan == 0 && params.calcProgram.size() == 0) { 00578 params.mode = FLATFILE_MODE_QUERY_TEXT; 00579 } 00580 embryo.init(FlatFileExecStream::newFlatFileExecStream(), params); 00581 }
void ExecStreamFactory::visit | ( | ProxyLhxJoinStreamDef & | streamDef | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 583 of file ExecStreamFactory.cpp.
References LhxJoinExecStreamParams::cndKeys, createPrivateScratchSegment(), embryo, LhxJoinExecStreamParams::enableJoinFilter, LhxJoinExecStreamParams::enableSubPartStat, LhxJoinExecStreamParams::enableSwing, LhxJoinExecStreamParams::filterNullKeyProj, LhxJoinExecStreamParams::forcePartitionLevel, ProxyLhxJoinStreamDef::getCndBuildKeys(), getDatabase(), ProxyLhxJoinStreamDef::getFilterNullProj(), ProxyLhxJoinStreamDef::getLeftKeyProj(), ProxyLhxJoinStreamDef::getNumBuildRows(), ProxyLhxJoinStreamDef::getRightKeyProj(), ExecStreamEmbryo::init(), ProxyLhxJoinStreamDef::isLeftInner(), ProxyLhxJoinStreamDef::isLeftOuter(), ProxyLhxJoinStreamDef::isRightInner(), ProxyLhxJoinStreamDef::isRightOuter(), ProxyLhxJoinStreamDef::isSetopAll(), ProxyLhxJoinStreamDef::isSetopDistinct(), LhxJoinExecStreamParams::leftInner, LhxJoinExecStreamParams::leftKeyProj, LhxJoinExecStreamParams::leftOuter, LhxJoinExecStreamParams::numRows, pDatabase, LhxJoinExecStreamParams::pTempSegment, CmdInterpreter::readTupleProjection(), readTupleStreamParams(), LhxJoinExecStreamParams::rightInner, LhxJoinExecStreamParams::rightKeyProj, LhxJoinExecStreamParams::rightOuter, LhxJoinExecStreamParams::setopAll, and LhxJoinExecStreamParams::setopDistinct.
00584 { 00585 TupleProjection tmpProj; 00586 00587 LhxJoinExecStreamParams params; 00588 readTupleStreamParams(params, streamDef); 00589 00590 /* 00591 * LhxJoinExecStream requires a private ScratchSegment. 00592 */ 00593 createPrivateScratchSegment(params); 00594 00595 /* 00596 * External segment to store partitions. 00597 */ 00598 SharedDatabase pDatabase = getDatabase(); 00599 params.pTempSegment = pDatabase->getTempSegment(); 00600 00601 /* 00602 * These fields are currently not used by the optimizer. We know that 00603 * optimizer only supports inner equi hash join. 00604 */ 00605 params.leftInner = streamDef.isLeftInner(); 00606 params.leftOuter = streamDef.isLeftOuter(); 00607 params.rightInner = streamDef.isRightInner(); 00608 params.rightOuter = streamDef.isRightOuter(); 00609 params.setopDistinct = streamDef.isSetopDistinct(); 00610 params.setopAll = streamDef.isSetopAll(); 00611 00612 /* 00613 * Set forcePartitionLevel to 0 to turn off force partitioning. 00614 */ 00615 params.forcePartitionLevel = 0; 00616 params.enableJoinFilter = true; 00617 params.enableSubPartStat = true; 00618 params.enableSwing = true; 00619 00620 CmdInterpreter::readTupleProjection( 00621 params.leftKeyProj, streamDef.getLeftKeyProj()); 00622 00623 CmdInterpreter::readTupleProjection( 00624 params.rightKeyProj, streamDef.getRightKeyProj()); 00625 00626 CmdInterpreter::readTupleProjection( 00627 params.filterNullKeyProj, streamDef.getFilterNullProj()); 00628 00629 /* 00630 * The optimizer currently estimates these two values. 00631 */ 00632 params.cndKeys = streamDef.getCndBuildKeys(); 00633 params.numRows = streamDef.getNumBuildRows(); 00634 00635 embryo.init(new LhxJoinExecStream(), params); 00636 }
void ExecStreamFactory::visit | ( | ProxyLhxAggStreamDef & | streamDef | ) | [protected, virtual] |
Reimplemented from FemVisitor.
Definition at line 638 of file ExecStreamFactory.cpp.
References LhxAggExecStreamParams::cndGroupByKeys, createPrivateScratchSegment(), embryo, LhxAggExecStreamParams::enableSubPartStat, LhxAggExecStreamParams::forcePartitionLevel, ProxyLhxAggStreamDef::getCndGroupByKeys(), getDatabase(), ProxyLhxAggStreamDef::getNumRows(), ExecStreamEmbryo::init(), LhxAggExecStreamParams::numRows, pDatabase, LhxAggExecStreamParams::pTempSegment, and readAggStreamParams().
00639 { 00640 LhxAggExecStreamParams params; 00641 readAggStreamParams(params, streamDef); 00642 00643 /* 00644 * LhxAggExecStream requires a private ScratchSegment. 00645 */ 00646 createPrivateScratchSegment(params); 00647 00648 /* 00649 * External segment to store partitions. 00650 */ 00651 SharedDatabase pDatabase = getDatabase(); 00652 params.pTempSegment = pDatabase->getTempSegment(); 00653 00654 /* 00655 * The optimizer currently estimates these two values. 00656 */ 00657 params.cndGroupByKeys = streamDef.getCndGroupByKeys(); 00658 params.numRows = streamDef.getNumRows(); 00659 00660 /* 00661 * Set forcePartitionLevel to 0 to turn off force partitioning. 00662 */ 00663 params.forcePartitionLevel = 0; 00664 00665 /* 00666 * NOTE: 00667 * Hash aggregation partitions partially aggregated results to disk. 00668 * The stat currently keeps track of the tuple count before 00669 * aggregation, so it is not very accurate. Disable sub partition stats 00670 * for now. 00671 */ 00672 params.enableSubPartStat = false; 00673 00674 embryo.init(new LhxAggExecStream(), params); 00675 }
void ExecStreamFactory::readBTreeReadStreamParams | ( | BTreeReadExecStreamParams & | , | |
ProxyIndexScanDef & | ||||
) | [protected] |
Definition at line 834 of file ExecStreamFactory.cpp.
References ProxyIndexScanDef::getOutputProj(), BTreeReadExecStreamParams::outputProj, readBTreeStreamParams(), CmdInterpreter::readTupleProjection(), and readTupleStreamParams().
Referenced by readBTreeSearchStreamParams(), and visit().
00837 { 00838 readTupleStreamParams(params, streamDef); 00839 readBTreeStreamParams(params, streamDef); 00840 CmdInterpreter::readTupleProjection( 00841 params.outputProj, 00842 streamDef.getOutputProj()); 00843 }
void ExecStreamFactory::readIndexWriterParams | ( | FtrsTableIndexWriterParams & | , | |
ProxyIndexWriterDef & | ||||
) | [protected] |
Definition at line 845 of file ExecStreamFactory.cpp.
References BTreeInsertExecStreamParams::distinctness, ProxyIndexWriterDef::getDistinctness(), ProxyIndexWriterDef::isUpdateInPlace(), readBTreeStreamParams(), and FtrsTableIndexWriterParams::updateInPlace.
Referenced by readTableWriterStreamParams().
00848 { 00849 readBTreeStreamParams(params, indexWriterDef); 00850 params.distinctness = indexWriterDef.getDistinctness(); 00851 params.updateInPlace = indexWriterDef.isUpdateInPlace(); 00852 }
void ExecStreamFactory::readTableWriterStreamParams | ( | FtrsTableWriterExecStreamParams & | , | |
ProxyTableWriterDef & | ||||
) | [protected] |
Definition at line 737 of file ExecStreamFactory.cpp.
References ANON_PAGE_OWNER_ID, ProxyTableWriterDef::getIndexWriter(), FtrsTableWriterParams::indexParams, FtrsTableWriterExecStreamParams::pActionMutex, pDatabase, pTableWriterFactory, FtrsTableWriterExecStreamParams::pTableWriterFactory, readIndexWriterParams(), CmdInterpreter::readTupleProjection(), readTupleStreamParams(), and FtrsTableWriterParams::tableId.
Referenced by visit().
00740 { 00741 readTupleStreamParams(params, streamDef); 00742 params.pTableWriterFactory = pTableWriterFactory; 00743 params.tableId = ANON_PAGE_OWNER_ID; 00744 params.pActionMutex = &(pDatabase->getCheckpointThread()->getActionMutex()); 00745 00746 SharedProxyIndexWriterDef pIndexWriterDef = streamDef.getIndexWriter(); 00747 for (; pIndexWriterDef; ++pIndexWriterDef) { 00748 FtrsTableIndexWriterParams indexParams; 00749 // all index writers share some common attributes 00750 indexParams.pCacheAccessor = params.pCacheAccessor; 00751 indexParams.scratchAccessor = params.scratchAccessor; 00752 readIndexWriterParams(indexParams, *pIndexWriterDef); 00753 SharedProxyTupleProjection pInputProj = 00754 pIndexWriterDef->getInputProj(); 00755 if (pInputProj) { 00756 CmdInterpreter::readTupleProjection( 00757 indexParams.inputProj, 00758 pInputProj); 00759 } else { 00760 // this is the clustered index; use it as a table ID 00761 params.tableId = indexParams.pageOwnerId; 00762 } 00763 params.indexParams.push_back(indexParams); 00764 } 00765 assert(params.tableId != ANON_PAGE_OWNER_ID); 00766 }
void ExecStreamFactory::readBarrierDynamicParams | ( | BarrierExecStreamParams & | , | |
ProxyBarrierStreamDef & | ||||
) | [protected] |
Definition at line 151 of file ExecStreamFactory.cpp.
References ProxyBarrierStreamDef::getDynamicParameter(), and BarrierExecStreamParams::parameterIds.
Referenced by visit().
00154 { 00155 SharedProxyDynamicParameter dynamicParam = streamDef.getDynamicParameter(); 00156 for (; dynamicParam; ++dynamicParam) { 00157 DynamicParamId p = (DynamicParamId) dynamicParam->getParameterId(); 00158 params.parameterIds.push_back(p); 00159 } 00160 }
void ExecStreamFactory::readColumnList | ( | ProxyFlatFileTupleStreamDef & | streamDef, | |
std::vector< std::string > & | names | |||
) | [protected] |
Definition at line 677 of file ExecStreamFactory.cpp.
References ProxyFlatFileTupleStreamDef::getColumn().
Referenced by visit().
00680 { 00681 SharedProxyColumnName pColumnName = streamDef.getColumn(); 00682 00683 for (; pColumnName; ++pColumnName) { 00684 names.push_back(pColumnName->getName()); 00685 } 00686 }
void ExecStreamFactory::implementSortWithBTree | ( | ProxySortingStreamDef & | streamDef | ) | [protected] |
Definition at line 336 of file ExecStreamFactory.cpp.
References ANON_PAGE_OWNER_ID, embryo, ProxySortingStreamDef::getDistinctness(), ProxyKeyAccessorDef::getKeyProj(), ExecStreamEmbryo::init(), NULL_PAGE_ID, pDatabase, CmdInterpreter::readTupleProjection(), readTupleStreamParams(), and Database::TEMP_SEGMENT_ID.
Referenced by visit().
00337 { 00338 BTreeSortExecStreamParams params; 00339 readTupleStreamParams(params,streamDef); 00340 params.distinctness = streamDef.getDistinctness(); 00341 params.monotonic = false; 00342 params.pSegment = pDatabase->getTempSegment(); 00343 params.rootPageId = NULL_PAGE_ID; 00344 params.segmentId = Database::TEMP_SEGMENT_ID; 00345 params.pageOwnerId = ANON_PAGE_OWNER_ID; 00346 params.pRootMap = NULL; 00347 params.rootPageIdParamId = DynamicParamId(0); 00348 CmdInterpreter::readTupleProjection( 00349 params.keyProj, 00350 streamDef.getKeyProj()); 00351 // TODO jvs 3-Dec-2006: pass along streamDef.getDescendingProj() once 00352 // btree can deal with it 00353 params.tupleDesc = params.outputTupleDesc; 00354 embryo.init(new BTreeSortExecStream(), params); 00355 }
char ExecStreamFactory::readCharParam | ( | const std::string & | val | ) | [protected] |
Definition at line 544 of file ExecStreamFactory.cpp.
Referenced by visit().
00545 { 00546 assert(val.size() <= 1); 00547 if (val.size() == 0) { 00548 return 0; 00549 } 00550 return val.at(0); 00551 }
void ExecStreamFactory::setGraphEmbryo | ( | ExecStreamGraphEmbryo & | graphEmbryo | ) |
Definition at line 84 of file ExecStreamFactory.cpp.
References pGraphEmbryo.
00086 { 00087 pGraphEmbryo = &graphEmbryo; 00088 }
void ExecStreamFactory::setScratchAccessor | ( | SegmentAccessor & | scratchAccessor | ) |
Definition at line 90 of file ExecStreamFactory.cpp.
References scratchAccessor.
Referenced by ExecStreamBuilder::buildStreamGraph().
00092 { 00093 scratchAccessor = scratchAccessorInit; 00094 }
void ExecStreamFactory::addSubFactory | ( | SharedExecStreamSubFactory | pSubFactory | ) |
Definition at line 96 of file ExecStreamFactory.cpp.
References subFactories.
00098 { 00099 subFactories.push_back(pSubFactory); 00100 }
SharedDatabase ExecStreamFactory::getDatabase | ( | ) |
Definition at line 79 of file ExecStreamFactory.cpp.
References pDatabase.
Referenced by ExecStreamBuilder::buildStreamGraph(), and visit().
00080 { 00081 return pDatabase; 00082 }
ExecStreamEmbryo const & ExecStreamFactory::visitStream | ( | ProxyExecutionStreamDef & | ) | [virtual] |
Reads the Java representation of an ExecStream.
Definition at line 102 of file ExecStreamFactory.cpp.
References embryo, ProxyExecutionStreamDef::getName(), ExecStreamEmbryo::getStream(), invokeVisit(), and subFactories.
Referenced by ExecStreamBuilder::buildStream().
00104 { 00105 bool created = false; 00106 00107 // first give sub-factories a shot 00108 std::vector<SharedExecStreamSubFactory>::iterator ppSubFactory; 00109 for (ppSubFactory = subFactories.begin(); 00110 ppSubFactory != subFactories.end(); ++ppSubFactory) 00111 { 00112 ExecStreamSubFactory &subFactory = **ppSubFactory; 00113 created = subFactory.createStream( 00114 *this, 00115 streamDef, 00116 embryo); 00117 if (created) { 00118 break; 00119 } 00120 } 00121 00122 if (!created) { 00123 // dispatch based on polymorphic stream type 00124 invokeVisit(streamDef); 00125 } 00126 embryo.getStream()->setName(streamDef.getName()); 00127 return embryo; 00128 }
void ExecStreamFactory::readTupleDescriptor | ( | TupleDescriptor & | desc, | |
const SharedProxyTupleDescriptor | def | |||
) |
makes a TupleDescriptor from its proxy definition
Definition at line 695 of file ExecStreamFactory.cpp.
References pDatabase, and CmdInterpreter::readTupleDescriptor().
Referenced by readBTreeParams(), ExecStreamSubFactory_lu::readClusterScan(), readTupleStreamParams(), ExecStreamSubFactory_lu::visit(), and visit().
00698 { 00699 assert(def); 00700 CmdInterpreter::readTupleDescriptor( 00701 desc, *def, pDatabase->getTypeFactory()); 00702 }
void ExecStreamFactory::createPrivateScratchSegment | ( | ExecStreamParams & | params | ) |
Creates a private scratch segment for an ExecStream.
This must be used if the ExecStream provides early release of its scratch buffers (otherwise it will release scratch buffers for the entire graph, leading to quite bad things). This method must be called AFTER one of the standard readXyzStreamParams methods below, since those methods set up the default global scratch segment.
params | params in which to set the private scratch segment |
Definition at line 712 of file ExecStreamFactory.cpp.
References SegmentAccessor::pCacheAccessor, ExecStreamParams::pCacheAccessor, pDatabase, and ExecStreamParams::scratchAccessor.
Referenced by initBTreePrefetchSearchParams(), ExecStreamSubFactory_lu::readClusterAppendParams(), ExecStreamSubFactory_lu::visit(), and visit().
00713 { 00714 // Make sure global scratch segment was already set up. 00715 assert(params.pCacheAccessor); 00716 00717 params.scratchAccessor = 00718 pDatabase->getSegmentFactory()->newScratchSegment( 00719 pDatabase->getCache()); 00720 SharedQuotaCacheAccessor pSuperQuotaAccessor = 00721 boost::dynamic_pointer_cast<QuotaCacheAccessor>( 00722 params.pCacheAccessor); 00723 params.scratchAccessor.pCacheAccessor.reset( 00724 new QuotaCacheAccessor( 00725 pSuperQuotaAccessor, 00726 params.scratchAccessor.pCacheAccessor, 00727 UINT_MAX)); 00728 }
void ExecStreamFactory::createQuotaAccessors | ( | ExecStreamParams & | params | ) |
Definition at line 730 of file ExecStreamFactory.cpp.
References ExecStreamGraphEmbryo::initStreamParams(), and pGraphEmbryo.
Referenced by readExecStreamParams().
00732 { 00733 assert(pGraphEmbryo); 00734 pGraphEmbryo->initStreamParams(params); 00735 }
void ExecStreamFactory::readExecStreamParams | ( | ExecStreamParams & | , | |
ProxyExecutionStreamDef & | ||||
) |
Definition at line 688 of file ExecStreamFactory.cpp.
References createQuotaAccessors().
Referenced by readTupleStreamParams(), ExecStreamSubFactory_lu::visit(), and visit().
00691 { 00692 createQuotaAccessors(params); 00693 }
void ExecStreamFactory::readTupleStreamParams | ( | SingleOutputExecStreamParams & | , | |
ProxyTupleStreamDef & | ||||
) |
Definition at line 704 of file ExecStreamFactory.cpp.
References SingleOutputExecStreamParams::outputTupleDesc, readExecStreamParams(), and readTupleDescriptor().
Referenced by implementSortWithBTree(), readAggStreamParams(), readBTreeReadStreamParams(), ExecStreamSubFactory_lu::readClusterAppendParams(), readTableWriterStreamParams(), ExecStreamSubFactory_lu::visit(), and visit().
00707 { 00708 readExecStreamParams(params,streamDef); 00709 readTupleDescriptor(params.outputTupleDesc, streamDef.getOutputDesc()); 00710 }
void ExecStreamFactory::initBTreePrefetchSearchParams | ( | BTreePrefetchSearchExecStreamParams & | , | |
ProxyIndexSearchDef & | ||||
) |
Definition at line 249 of file ExecStreamFactory.cpp.
References createPrivateScratchSegment(), and readBTreeSearchStreamParams().
Referenced by ExecStreamSubFactory_lu::visit(), and visit().
00252 { 00253 readBTreeSearchStreamParams(params, streamDef); 00254 // Need a private scratch segment because scratch pages are 00255 // deallocated when the stream is closed. 00256 createPrivateScratchSegment(params); 00257 }
void ExecStreamFactory::readBTreeStreamParams | ( | BTreeExecStreamParams & | , | |
ProxyIndexAccessorDef & | ||||
) |
Definition at line 768 of file ExecStreamFactory.cpp.
References ExecStreamParams::pCacheAccessor, and readBTreeParams().
Referenced by readBTreeReadStreamParams(), ExecStreamSubFactory_lu::readClusterAppendParams(), ExecStreamSubFactory_lu::readClusterScan(), readIndexWriterParams(), ExecStreamSubFactory_lu::visit(), and visit().
00771 { 00772 assert(params.pCacheAccessor); 00773 readBTreeParams(params, streamDef); 00774 }
void ExecStreamFactory::readBTreeParams | ( | BTreeParams & | , | |
ProxyIndexAccessorDef & | ||||
) |
Definition at line 776 of file ExecStreamFactory.cpp.
References ANON_PAGE_OWNER_ID, ProxyIndexAccessorDef::getIndexId(), ProxyKeyAccessorDef::getKeyProj(), ProxyIndexAccessorDef::getRootPageId(), ProxyIndexAccessorDef::getRootPageIdParamId(), ProxyIndexAccessorDef::getSegmentId(), ProxyIndexAccessorDef::getTupleDesc(), ProxyIndexAccessorDef::isReadOnlyCommittedData(), BTreeParams::keyProj, NULL_PAGE_ID, BTreeParams::pageOwnerId, pDatabase, CmdInterpreter::StreamGraphHandle::pReadCommittedSegment, BTreeParams::pRootMap, CmdInterpreter::StreamGraphHandle::pSegment, BTreeParams::pSegment, pStreamGraphHandle, readDynamicParamId(), readTupleDescriptor(), CmdInterpreter::readTupleProjection(), BTreeParams::rootPageId, BTreeParams::rootPageIdParamId, BTreeParams::segmentId, Database::TEMP_SEGMENT_ID, and BTreeParams::tupleDesc.
Referenced by readBTreeStreamParams(), and ExecStreamSubFactory_lu::visit().
00779 { 00780 params.rootPageIdParamId = 00781 readDynamicParamId(streamDef.getRootPageIdParamId()); 00782 if (params.rootPageIdParamId > DynamicParamId(0) && 00783 streamDef.getRootPageId() == -1) 00784 { 00785 // In the case where the btree is dynamically created during 00786 // runtime, the btree will be created in the temp segment 00787 params.segmentId = Database::TEMP_SEGMENT_ID; 00788 params.pageOwnerId = ANON_PAGE_OWNER_ID; 00789 params.pSegment = pDatabase->getTempSegment(); 00790 params.rootPageId = NULL_PAGE_ID; 00791 params.pRootMap = NULL; 00792 } else { 00793 params.segmentId = SegmentId(streamDef.getSegmentId()); 00794 params.pageOwnerId = PageOwnerId(streamDef.getIndexId()); 00795 assert(VALID_PAGE_OWNER_ID(params.pageOwnerId)); 00796 // Set the btree to read from the appropriate segment, depending 00797 // on whether or not the reader needs to see uncommitted data 00798 // created upstream in the stream graph. 00799 if (streamDef.isReadOnlyCommittedData()) { 00800 params.pSegment = 00801 pDatabase->getSegmentById( 00802 params.segmentId, 00803 pStreamGraphHandle->pReadCommittedSegment); 00804 } else { 00805 params.pSegment = 00806 pDatabase->getSegmentById( 00807 params.segmentId, 00808 pStreamGraphHandle->pSegment); 00809 } 00810 if (streamDef.getRootPageId() != -1) { 00811 params.rootPageId = PageId(streamDef.getRootPageId()); 00812 params.pRootMap = NULL; 00813 } else { 00814 params.rootPageId = NULL_PAGE_ID; 00815 if (params.rootPageIdParamId == DynamicParamId(0)) { 00816 params.pRootMap = pStreamGraphHandle; 00817 } 00818 } 00819 } 00820 readTupleDescriptor(params.tupleDesc, streamDef.getTupleDesc()); 00821 CmdInterpreter::readTupleProjection( 00822 params.keyProj, 00823 streamDef.getKeyProj()); 00824 00825 }
void ExecStreamFactory::readBTreeSearchStreamParams | ( | BTreeSearchExecStreamParams & | , | |
ProxyIndexSearchDef & | ||||
) |
Definition at line 854 of file ExecStreamFactory.cpp.
References ProxyIndexSearchDef::getInputDirectiveProj(), ProxyIndexSearchDef::getInputJoinProj(), ProxyIndexSearchDef::getInputKeyProj(), ProxyIndexSearchDef::getSearchKeyParameter(), BTreeSearchExecStreamParams::inputDirectiveProj, BTreeSearchExecStreamParams::inputJoinProj, BTreeSearchExecStreamParams::inputKeyProj, ProxyIndexSearchDef::isOuterJoin(), BTreeSearchExecStreamParams::outerJoin, readBTreeReadStreamParams(), CmdInterpreter::readTupleProjection(), and BTreeSearchExecStreamParams::searchKeyParams.
Referenced by initBTreePrefetchSearchParams(), and visit().
00857 { 00858 readBTreeReadStreamParams(params, streamDef); 00859 params.outerJoin = streamDef.isOuterJoin(); 00860 if (streamDef.getInputKeyProj()) { 00861 CmdInterpreter::readTupleProjection( 00862 params.inputKeyProj, 00863 streamDef.getInputKeyProj()); 00864 } 00865 if (streamDef.getInputJoinProj()) { 00866 CmdInterpreter::readTupleProjection( 00867 params.inputJoinProj, 00868 streamDef.getInputJoinProj()); 00869 } 00870 if (streamDef.getInputDirectiveProj()) { 00871 CmdInterpreter::readTupleProjection( 00872 params.inputDirectiveProj, 00873 streamDef.getInputDirectiveProj()); 00874 } 00875 00876 SharedProxyCorrelation dynamicParam = streamDef.getSearchKeyParameter(); 00877 for (; dynamicParam; ++dynamicParam) { 00878 BTreeSearchKeyParameter searchKeyParam( 00879 DynamicParamId(dynamicParam->getId()), 00880 dynamicParam->getOffset()); 00881 params.searchKeyParams.push_back(searchKeyParam); 00882 } 00883 }
void ExecStreamFactory::readAggStreamParams | ( | SortedAggExecStreamParams & | , | |
ProxyAggStreamDef & | ||||
) |
Definition at line 885 of file ExecStreamFactory.cpp.
References SortedAggExecStreamParams::aggInvocations, ProxyAggStreamDef::getAggInvocation(), ProxyAggStreamDef::getGroupingPrefixSize(), SortedAggExecStreamParams::groupByKeyCount, and readTupleStreamParams().
Referenced by ExecStreamSubFactory_lu::visit(), and visit().
00888 { 00889 readTupleStreamParams(params,streamDef); 00890 SharedProxyAggInvocation pAggInvocation = streamDef.getAggInvocation(); 00891 for (; pAggInvocation; ++pAggInvocation) { 00892 AggInvocation aggInvocation; 00893 aggInvocation.aggFunction = pAggInvocation->getFunction(); 00894 aggInvocation.iInputAttr = 00895 pAggInvocation->getInputAttributeIndex(); 00896 params.aggInvocations.push_back(aggInvocation); 00897 } 00898 params.groupByKeyCount = streamDef.getGroupingPrefixSize(); 00899 }
DynamicParamId ExecStreamFactory::readDynamicParamId | ( | const int | val | ) |
Definition at line 827 of file ExecStreamFactory.cpp.
Referenced by ExecStreamSubFactory_lu::readBitOpDynamicParams(), readBTreeParams(), ExecStreamSubFactory_lu::visit(), and visit().
00828 { 00829 // NOTE: zero is a special code for no parameter id 00830 uint (id) = (val < 0) ? 0 : (uint) val; 00831 return (DynamicParamId) id; 00832 }
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 | ( | ProxyBeginTxnCmd & | ) | [inline, virtual, inherited] |
Definition at line 1466 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01467 { 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 | ( | ProxyCmdAbandonBackup & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1482 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01483 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdAlterSystemDeallocate & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1484 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01485 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdBeginTxn & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1486 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01487 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdBeginTxnWithCsn & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1488 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01489 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdCheckpoint & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1490 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01491 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdCloseDatabase & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1492 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01493 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdCommit & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1494 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01495 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdCompleteBackup & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1496 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01497 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdCreateExecutionStreamGraph & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1498 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01499 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdCreateIndex & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1500 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01501 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdCreateStreamHandle & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1502 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01503 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdDropIndex & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1504 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01505 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdGetLastCommittedTxnId & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1506 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01507 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdGetTxnCsn & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1508 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01509 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdInitiateBackup & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1510 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01511 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdOpenDatabase & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1512 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01513 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdPrepareExecutionStreamGraph & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1514 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01515 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdRestoreFromBackup & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1516 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01517 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdRollback & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1518 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01519 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdSavepoint & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1520 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01521 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdSetParam & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1522 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01523 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdTruncateIndex & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1524 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01525 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdVerifyIndex & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1526 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01527 { unhandledVisit(); }
virtual void FemVisitor::visit | ( | ProxyCmdVersionIndexRoot & | ) | [inline, virtual, inherited] |
Reimplemented in CmdInterpreter.
Definition at line 1528 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01529 { 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 | ( | 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 | ( | 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 | ( | 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 | ( | 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 | ( | ProxyMultiUseBufferingStreamDef & | ) | [inline, virtual, inherited] |
Definition at line 1622 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01623 { 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 | ( | ProxySplicerIndexAccessorDef & | ) | [inline, virtual, inherited] |
Definition at line 1634 of file FemGeneratedClasses.h.
References JniProxyVisitor::unhandledVisit().
01635 { 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 | ( | 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 | ( | 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().
SharedDatabase ExecStreamFactory::pDatabase [protected] |
Database to be accessed by stream.
Definition at line 65 of file ExecStreamFactory.h.
Referenced by createPrivateScratchSegment(), ExecStreamFactory(), getDatabase(), implementSortWithBTree(), readBTreeParams(), readTableWriterStreamParams(), readTupleDescriptor(), and visit().
Factory for creating TableWriters.
Definition at line 70 of file ExecStreamFactory.h.
Referenced by ExecStreamFactory(), and readTableWriterStreamParams().
Handle to the stream graph being built.
Definition at line 75 of file ExecStreamFactory.h.
Referenced by ExecStreamFactory(), readBTreeParams(), and visit().
SegmentAccessor ExecStreamFactory::scratchAccessor [protected] |
Accessor for ScratchSegment available to all streams.
Definition at line 80 of file ExecStreamFactory.h.
Referenced by setScratchAccessor().
ExecStreamEmbryo ExecStreamFactory::embryo [protected] |
Value set by visit functions.
Definition at line 85 of file ExecStreamFactory.h.
Referenced by implementSortWithBTree(), visit(), and visitStream().
ExecStreamGraphEmbryo* ExecStreamFactory::pGraphEmbryo [protected] |
Embryo for graph being built.
Definition at line 90 of file ExecStreamFactory.h.
Referenced by createQuotaAccessors(), ExecStreamFactory(), and setGraphEmbryo().
std::vector<SharedExecStreamSubFactory> ExecStreamFactory::subFactories [protected] |
Subfactories for extending factory behavior.
Definition at line 95 of file ExecStreamFactory.h.
Referenced by addSubFactory(), and visitStream().
JniProxyVisitTable< FemVisitor > FemVisitor::visitTbl [static, inherited] |
Definition at line 1459 of file FemGeneratedClasses.h.
Referenced by ExecStreamSubFactory_lu::createStream(), CmdInterpreter::executeCommand(), invokeVisit(), and JNI_OnLoad().