OSDN Git Service

Add description of tsvector type layout
authorTeodor Sigaev <teodor@sigaev.ru>
Tue, 29 Aug 2006 13:57:34 +0000 (13:57 +0000)
committerTeodor Sigaev <teodor@sigaev.ru>
Tue, 29 Aug 2006 13:57:34 +0000 (13:57 +0000)
contrib/tsearch2/tsvector.h

index b30d323..df03436 100644 (file)
@@ -47,6 +47,20 @@ typedef uint16 WordEntryPos;
 #define MAXNUMPOS      256
 #define LIMITPOS(x) ( ( (x) >= MAXENTRYPOS ) ? (MAXENTRYPOS-1) : (x) )
 
+/*
+ * Structure of tsvector datatype:
+ * 1) int4     len - varlena's length 
+ * 2) int4             size - number of lexemes or WordEntry array, which is the same
+ * 3) Array of WordEntry - sorted array, comparison based on word's length
+ *                                             and strncmp(). WordEntry->pos points number of
+ *                                             bytes from end of WordEntry array to start of
+ *                                             corresponding lexeme.
+ * 4) Lexeme's storage:
+ *       SHORTALIGNED(lexeme) and position information if it exists 
+ *       Position information: first int2 - is a number of positions and it 
+ *    follows array of WordEntryPos
+ */ 
+
 typedef struct
 {
        int4            len;