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

Class FirstRowsStream

src/jrd/recsrc/RecordSource.h:474–513  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

472 };
473
474 class FirstRowsStream : public RecordSource
475 {
476 struct Impure : public RecordSource::Impure
477 {
478 SINT64 irsb_count;
479 };
480
481 public:
482 FirstRowsStream(CompilerScratch* csb, RecordSource* next, ValueExprNode* value);
483
484 void close(thread_db* tdbb) const override;
485
486 bool refetchRecord(thread_db* tdbb) const override;
487 WriteLockResult lockRecord(thread_db* tdbb) const override;
488
489 void getChildren(Firebird::Array<const RecordSource*>& children) const override;
490
491 void print(thread_db* tdbb, Firebird::string& plan,
492 bool detailed, unsigned level, bool recurse) const override;
493
494 void markRecursive() override;
495 void invalidateRecords(Request* request) const override;
496
497 void findUsedStreams(StreamList& streams, bool expandAll = false) const override;
498 bool isDependent(const StreamList& streams) const override;
499 void nullRecords(thread_db* tdbb) const override;
500
501 void setAnyBoolean(BoolExprNode* anyBoolean, bool ansiAny, bool ansiNot) override
502 {
503 m_next->setAnyBoolean(anyBoolean, ansiAny, ansiNot);
504 }
505
506 protected:
507 void internalOpen(thread_db* tdbb) const override;
508 bool internalGetRecord(thread_db* tdbb) const override;
509
510 private:
511 NestConst<RecordSource> m_next;
512 NestConst<ValueExprNode> const m_value;
513 };
514
515 class SkipRowsStream : public RecordSource
516 {

Callers 1

compileMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected