Lade...
 

CXB_HASH_STRING

CXB_HASH_STRING

Die Klasse CXB_STRING wurde erweitert, um Queries mit der Datenbank ObjectStore zu optimieren:

class CXB_HASH_STRING : public CXB_STRING
{
	public:
         CXB_HASH_STRING(void);
         CXB_HASH_STRING(const char *);
         CXB_HASH_STRING(const char *, const char *);
         CXB_HASH_STRING(const CXB_HASH_STRING &);

         CXB_HASH_STRING & operator=(const char *);
         CXB_HASH_STRING & operator=(const CXB_STRING &);
         CXB_HASH_STRING operator+(CXB_HASH_STRING &);
         CXB_HASH_STRING & operator+=(CXB_HASH_STRING &);
         CXB_HASH_STRING & operator+=(char *);

  private:
         int hashNo;
};

Für die Datenbank ObjectStore kann der Vergleich von zwei Zeichenketten

aufwendig sein, da der für die Zeichenfolge allokierte Bereich nicht in jedem Fall zusammen mit dem Objekt (dem Pointer vom Typ 'char *') auf der gleichen Page liegt. Klasse CXB_HASH_STRING hält zusätzlich die ersten vier Zeichen als Integer-Zahl im Objekt. Vergleichsoperationen müssen jetzt nur dann auf die Zeichenkette selbst zugreifen, wenn die zu vergleichenden Strings in den ersten

vier Zeichen übereinstimmen.