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

Class SkipRowsStream

src/jrd/recsrc/RecordSource.h:515–554  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

513 };
514
515 class SkipRowsStream : public RecordSource
516 {
517 struct Impure : public RecordSource::Impure
518 {
519 SINT64 irsb_count;
520 };
521
522 public:
523 SkipRowsStream(CompilerScratch* csb, RecordSource* next, ValueExprNode* value);
524
525 void close(thread_db* tdbb) const override;
526
527 bool refetchRecord(thread_db* tdbb) const override;
528 WriteLockResult lockRecord(thread_db* tdbb) const override;
529
530 void getChildren(Firebird::Array<const RecordSource*>& children) const override;
531
532 void print(thread_db* tdbb, Firebird::string& plan,
533 bool detailed, unsigned level, bool recurse) const override;
534
535 void markRecursive() override;
536 void invalidateRecords(Request* request) const override;
537
538 void findUsedStreams(StreamList& streams, bool expandAll = false) const override;
539 bool isDependent(const StreamList& streams) const override;
540 void nullRecords(thread_db* tdbb) const override;
541
542 void setAnyBoolean(BoolExprNode* anyBoolean, bool ansiAny, bool ansiNot) override
543 {
544 m_next->setAnyBoolean(anyBoolean, ansiAny, ansiNot);
545 }
546
547 protected:
548 void internalOpen(thread_db* tdbb) const override;
549 bool internalGetRecord(thread_db* tdbb) const override;
550
551 private:
552 NestConst<RecordSource> m_next;
553 NestConst<ValueExprNode> const m_value;
554 };
555
556 class FilteredStream : public RecordSource
557 {

Callers 1

compileMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected