"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/jrd/recsrc/RecordSource.h" between
Firebird-3.0.2.32703-0.tar.bz2 and Firebird-3.0.4.33054-0.tar.bz2

About: Firebird is a relational database offering many ANSI SQL standard features.

RecordSource.h  (Firebird-3.0.2.32703-0.tar.bz2):RecordSource.h  (Firebird-3.0.4.33054-0.tar.bz2)
skipping to change at line 837 skipping to change at line 837
private: private:
NestConst<RecordSource> m_arg1; NestConst<RecordSource> m_arg1;
NestConst<RecordSource> m_arg2; NestConst<RecordSource> m_arg2;
}; };
class HashJoin : public RecordSource class HashJoin : public RecordSource
{ {
class HashTable; class HashTable;
typedef Firebird::Array<USHORT> KeyLengthArray;
typedef Firebird::Array<UCHAR> KeyBuffer;
struct SubStream struct SubStream
{ {
union union
{ {
RecordSource* source; RecordSource* source;
BufferedStream* buffer; BufferedStream* buffer;
}; };
NestValueArray* keys; NestValueArray* keys;
KeyLengthArray* keyLengths; ULONG* keyLengths;
ULONG totalKeyLength; ULONG totalKeyLength;
}; };
struct Impure : public RecordSource::Impure struct Impure : public RecordSource::Impure
{ {
KeyBuffer* irsb_arg_buffer;
HashTable* irsb_hash_table; HashTable* irsb_hash_table;
UCHAR* irsb_leader_buffer; UCHAR* irsb_leader_buffer;
ULONG* irsb_record_counts; ULONG irsb_leader_hash;
}; };
public: public:
HashJoin(thread_db* tdbb, CompilerScratch* csb, FB_SIZE_T count, HashJoin(thread_db* tdbb, CompilerScratch* csb, FB_SIZE_T count,
RecordSource* const* args, NestValueArray* const * keys); RecordSource* const* args, NestValueArray* const * keys);
void open(thread_db* tdbb) const; void open(thread_db* tdbb) const;
void close(thread_db* tdbb) const; void close(thread_db* tdbb) const;
bool getRecord(thread_db* tdbb) const; bool getRecord(thread_db* tdbb) const;
skipping to change at line 882 skipping to change at line 878
void print(thread_db* tdbb, Firebird::string& plan, void print(thread_db* tdbb, Firebird::string& plan,
bool detailed, unsigned level) const; bool detailed, unsigned level) const;
void markRecursive(); void markRecursive();
void invalidateRecords(jrd_req* request) const; void invalidateRecords(jrd_req* request) const;
void findUsedStreams(StreamList& streams, bool expandAll = false) const; void findUsedStreams(StreamList& streams, bool expandAll = false) const;
void nullRecords(thread_db* tdbb) const; void nullRecords(thread_db* tdbb) const;
private: private:
void computeKeys(thread_db* tdbb, jrd_req* request, ULONG computeHash(thread_db* tdbb, jrd_req* request,
const SubStream& sub, UCHAR* buf const SubStream& sub, UCHAR* bu
fer) const; ffer) const;
bool fetchRecord(thread_db* tdbb, Impure* impure, FB_SIZE_T strea m) const; bool fetchRecord(thread_db* tdbb, Impure* impure, FB_SIZE_T strea m) const;
SubStream m_leader; SubStream m_leader;
Firebird::Array<SubStream> m_args; Firebird::Array<SubStream> m_args;
}; };
class MergeJoin : public RecordSource class MergeJoin : public RecordSource
{ {
struct MergeFile struct MergeFile
{ {
 End of changes. 5 change blocks. 
9 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)