MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / ConditionalStream

Class ConditionalStream

src/jrd/recsrc/RecordSource.h:1454–1490  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1452 };
1453
1454 class ConditionalStream : public RecordSource
1455 {
1456 struct Impure : public RecordSource::Impure
1457 {
1458 const RecordSource* irsb_next;
1459 };
1460
1461 public:
1462 ConditionalStream(CompilerScratch* csb, RecordSource* first, RecordSource* second,
1463 BoolExprNode* boolean);
1464
1465 void close(thread_db* tdbb) const override;
1466
1467 bool refetchRecord(thread_db* tdbb) const override;
1468 WriteLockResult lockRecord(thread_db* tdbb) const override;
1469
1470 void getChildren(Firebird::Array<const RecordSource*>& children) const override;
1471
1472 void print(thread_db* tdbb, Firebird::string& plan,
1473 bool detailed, unsigned level, bool recurse) const override;
1474
1475 void markRecursive() override;
1476 void invalidateRecords(Request* request) const override;
1477
1478 void findUsedStreams(StreamList& streams, bool expandAll = false) const override;
1479 bool isDependent(const StreamList& streams) const override;
1480 void nullRecords(thread_db* tdbb) const override;
1481
1482 protected:
1483 void internalOpen(thread_db* tdbb) const override;
1484 bool internalGetRecord(thread_db* tdbb) const override;
1485
1486 private:
1487 NestConst<RecordSource> m_first;
1488 NestConst<RecordSource> m_second;
1489 NestConst<BoolExprNode> const m_boolean;
1490 };
1491
1492} // namespace
1493

Callers 1

generateRetrievalMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected