protected:
BLOCKFILTER(void) = default; // Standard constructor not to be used
// Members
PTDBDOS Tdbp; // Owner TDB bool Correl; // TRUE for correlated subqueries int Opc; // Comparison operator int Opm; // Operator modificator int Result; // Result from evaluation
}; // end of class BLOCKFILTER
/***********************************************************************/ /* Definition of class BLKFILLOG (with Op=OP_AND,OP_OR, or OP_NOT) */ /***********************************************************************/ class DllExport BLKFILLOG : public BLOCKFILTER { /* Logical Op Block Filter */ public: // Constructors
BLKFILLOG(PTDBDOS tdbp, int op, PBF *bfp, int n);
// Methods void Reset(PGLOBAL g) override; int BlockEval(PGLOBAL g) override;
protected:
BLKFILLOG(void) = default; // Standard constructor not to be used
// Members
PBF *Fil; // Points to Block filter args int N;
}; // end of class BLKFILLOG
/***********************************************************************/ /* Definition of class BLKFILARI (with Op=OP_EQ,NE,GT,GE,LT, or LE) */ /***********************************************************************/ class DllExport BLKFILARI : public BLOCKFILTER { /* Arithm. Op Block Filter */ public: // Constructors
BLKFILARI(PGLOBAL g, PTDBDOS tdbp, int op, PXOB *xp);
protected:
BLKFILARI(void) = default; // Standard constructor not to be used
// Members
PDOSCOL Colp; // Points to column argument
PCOL Cpx; // Point to subquery "constant" column
PVAL Valp; // Points to constant argument Value bool Sorted; // True if the column is sorted
}; // end of class BLKFILARI
/***********************************************************************/ /* Definition of class BLKFILAR2 (with Op=OP_EQ,NE,GT,GE,LT, or LE) */ /***********************************************************************/ class DllExport BLKFILAR2 : public BLKFILARI { /* Arithm. Op Block Filter */ public: // Constructors
BLKFILAR2(PGLOBAL g, PTDBDOS tdbp, int op, PXOB *xp);
// Methods int BlockEval(PGLOBAL g) override; void MakeValueBitmap(void) override;
protected:
BLKFILAR2(void) = default; // Standard constructor not to be used
// Members
uint Bmp; // The value bitmap used to test blocks
uint Bxp; // Bitmap used when Opc = OP_EQ
}; // end of class BLKFILAR2
/***********************************************************************/ /* Definition of class BLKFILAR2 (with Op=OP_EQ,NE,GT,GE,LT, or LE) */ /* To be used when the bitmap is an array of ULONG bitmaps; */ /***********************************************************************/ class DllExport BLKFILMR2 : public BLKFILARI { /* Arithm. Op Block Filter */ public: // Constructors
BLKFILMR2(PGLOBAL g, PTDBDOS tdbp, int op, PXOB *xp);
// Methods int BlockEval(PGLOBAL g) override; void MakeValueBitmap(void) override;
protected:
BLKFILMR2(void) = default; // Standard constructor not to be used
// Members int Nbm; // The number of ULONG bitmaps int N; // The position of the leftmost ULONG boolVoid; // True if all file blocks can be skipped
uint *Bmp; // The values bitmaps used to test blocks
uint *Bxp; // Bit of values <= max value
}; // end of class BLKFILMR2
/***********************************************************************/ /* Definition of class BLKSPCARI (with Op=OP_EQ,NE,GT,GE,LT, or LE) */ /***********************************************************************/ class DllExport BLKSPCARI : public BLOCKFILTER { /* Arithm. Op Block Filter */ public: // Constructors
BLKSPCARI(PTDBDOS tdbp, int op, PXOB *xp, int bsize);
// Methods void Reset(PGLOBAL g) override; int BlockEval(PGLOBAL g) override;
protected:
BLKSPCARI(void) = default; // Standard constructor not to be used
// Members
PCOL Cpx; // Point to subquery "constant" column
PVAL Valp; // Points to constant argument Value int Val; // Constant argument Value int Bsize; // Table block size
}; // end of class BLKSPCARI
/***********************************************************************/ /* Definition of class BLKFILIN (with Op=OP_IN) */ /***********************************************************************/ class DllExport BLKFILIN : public BLOCKFILTER { // With array arguments. public: // Constructors
BLKFILIN(PGLOBAL g, PTDBDOS tdbp, int op, int opm, PXOB *xp);
protected: // Member
PDOSCOL Colp; // Points to column argument
PARRAY Arap; // Points to array argument bool Sorted; // True if the column is sorted int Type; // Type of array elements
}; // end of class BLKFILIN
/***********************************************************************/ /* Definition of class BLKFILIN2 (with Op=OP_IN) */ /***********************************************************************/ class DllExport BLKFILIN2 : public BLKFILIN { // With array arguments. public: // Constructors
BLKFILIN2(PGLOBAL g, PTDBDOS tdbp, int op, int opm, PXOB *xp);
protected: // Member int Nbm; // The number of ULONG bitmaps int N; // The position of the leftmost ULONG //bool Bitmap; // True for IN operator (temporary) boolVoid; // True if all file blocks can be skipped bool Invert; // True when Result must be inverted
uint *Bmp; // The values bitmaps used to test blocks
uint *Bxp; // Bit of values <= max value
PVAL Valp; // Used while building the bitmaps
}; // end of class BLKFILIN2
/***********************************************************************/ /* Definition of class BLKSPCIN (with Op=OP_IN) Special column */ /***********************************************************************/ class DllExport BLKSPCIN : public BLOCKFILTER { // With array arguments. public: // Constructors
BLKSPCIN(PGLOBAL g, PTDBDOS tdbp, int op, int opm, PXOB *xp, int bsize);
// Methods void Reset(PGLOBAL g) override; int BlockEval(PGLOBAL g) override;
protected: // Member
PARRAY Arap; // Points to array argument int Bsize; // Table block size
}; // end of class BLKSPCIN
// ---------------- Class used in block indexing testing ----------------
#if0 /***********************************************************************/ /* Definition of class BLOCKINDEX. */ /* Used to test the indexing to joined tables when the foreign key is */ /* a clustered or sorted column. If the table is joined to several */ /* tables, blocks will be chained together. */ /***********************************************************************/ class DllExport BLOCKINDEX : public BLOCK { /* Indexing Test Block */ public: // Constructors
BLOCKINDEX(PBX nx, PDOSCOL cp, PKXBASE kp);
protected:
BLOCKINDEX(void) {} // Standard constructor not to be used
// Members
PBX Next; // To next Index Block
PTDBDOS Tdbp; // To table description block
PDOSCOL Colp; // Clustered foreign key
PKXBASE Kxp; // To Kindex of joined table bool Sorted; // TRUE if column is sorted int Type; // Col/Index type int Result; // Result from evaluation
}; // end of class BLOCKINDEX
/***********************************************************************/ /* Definition of class BLOCKINDX2. (XDB2) */ /***********************************************************************/ class DllExport BLOCKINDX2 : public BLOCKINDEX { /* Indexing Test Block */ public: // Constructors
BLOCKINDX2(PBX nx, PDOSCOL cp, PKXBASE kp);
// Methods virtualint BlockEval(PGLOBAL);
protected:
BLOCKINDX2(void) {} // Standard constructor not to be used
// Members int Nbm; // The number of ULONG bitmaps
PVBLK Dval; // Array of column distinct values
PVBLK Bmap; // Array of block bitmap values
}; // end of class BLOCKINDX2
/***********************************************************************/ /* Definition of class BLKSPCINDX. */ /* Used to test the indexing to joined tables when the foreign key is */ /* the ROWID special column. If the table is joined to several */ /* tables, blocks will be chained together. */ /***********************************************************************/ class DllExport BLKSPCINDX : public BLOCKINDEX { /* Indexing Test Block */ public: // Constructors
BLKSPCINDX(PBX nx, PTDBDOS tp, PKXBASE kp, int bsize);
// Methods virtualint BlockEval(PGLOBAL);
protected:
BLKSPCINDX(void) {} // Standard constructor not to be used
// Members int Bsize; // Table block size
}; // end of class BLOCKINDEX #endif// 0
#endif// __BLKFIL__
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-10-08)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.