]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Changes to the TCL interface header to allow it to be compiled independently
authordrh <drh@noemail.net>
Tue, 1 Dec 2009 13:57:48 +0000 (13:57 +0000)
committerdrh <drh@noemail.net>
Tue, 1 Dec 2009 13:57:48 +0000 (13:57 +0000)
from the amalgamation.

FossilOrigin-Name: 58113932d93926b4aa037a7487105a55f883cd0a

ext/fts3/fts3.c
ext/fts3/fts3Int.h
ext/fts3/fts3_snippet.c
manifest
manifest.uuid
src/tclsqlite.c

index 4b711e474ff2614b5f733b3311a8e2bac8b4eba8..7df78033715f6a4af7cfec880ecc18baf4aad68d 100644 (file)
@@ -474,13 +474,6 @@ static void fts3GetDeltaVarint2(char **pp, char *pEnd, sqlite3_int64 *pVal){
 }
 
 
-/*
-** The Fts3Cursor.eType member is always set to one of the following.
-*/
-#define FTS3_FULLSCAN_SEARCH 0    /* Linear scan of %_content table */
-#define FTS3_DOCID_SEARCH    1    /* Lookup by rowid on %_content table */
-#define FTS3_FULLTEXT_SEARCH 2    /* Full-text index search */
-
 static Fts3Table *cursor_vtab(Fts3Cursor *c){
   return (Fts3Table *) c->base.pVtab;
 }
@@ -1827,7 +1820,7 @@ static int fts3FilterMethod(
     sqlite3_free(zSql);
   }
   if( rc!=SQLITE_OK ) return rc;
-  pCsr->eType = idxNum;
+  pCsr->eSearch = idxNum;
 
   if( idxNum==FTS3_DOCID_SEARCH ){
     rc = sqlite3_bind_value(pCsr->pStmt, 1, apVal[0]);
index 1785bf47d656a8ac0cb0596e5d11ba4582343a2f..8cd1b00808cb7531f737fc305c6c3fa6a86a0915 100644 (file)
@@ -81,7 +81,7 @@ struct Fts3Table {
   sqlite3 *db;                    /* The database connection */
   const char *zDb;                /* logical database name */
   const char *zName;              /* virtual table name */
-  int nColumn;                    /* number of columns in virtual table */
+  int nColumn;                    /* number of named columns in virtual table */
   char **azColumn;                /* column names.  malloced */
   sqlite3_tokenizer *pTokenizer;  /* tokenizer for inserts and queries */
 
@@ -120,10 +120,10 @@ struct Fts3Table {
 */
 struct Fts3Cursor {
   sqlite3_vtab_cursor base;       /* Base class used by SQLite core */
-  int eType;                      /* Search strategy (see below) */
+  i16 eSearch;                    /* Search strategy (see below) */
+  u8 isEof;                       /* True if at End Of Results */
+  u8 isRequireSeek;               /* True if must seek pStmt to %_content row */
   sqlite3_stmt *pStmt;            /* Prepared statement in use by the cursor */
-  int isEof;                      /* True if at End Of Results */
-  int isRequireSeek;              /* True if must seek pStmt to %_content row */
   Fts3Expr *pExpr;                /* Parsed MATCH query string */
   sqlite3_int64 iPrevId;          /* Previous id read from aDoclist */
   char *pNextId;                  /* Pointer into the body of aDoclist */
@@ -131,6 +131,25 @@ struct Fts3Cursor {
   int nDoclist;                   /* Size of buffer at aDoclist */
 };
 
+/*
+** The Fts3Cursor.eSearch member is always set to one of the following.
+** Actualy, Fts3Cursor.eSearch can be greater than or equal to
+** FTS3_FULLTEXT_SEARCH.  If so, then Fts3Cursor.eSearch - 2 is the index
+** of the column to be searched.  For example, in
+**
+**     CREATE VIRTUAL TABLE ex1 USING fts3(a,b,c,d);
+**     SELECT docid FROM ex1 WHERE b MATCH 'one two three';
+** 
+** Because the LHS of the MATCH operator is 2nd column "b",
+** Fts3Cursor.eSearch will be set to FTS3_FULLTEXT_SEARCH+1.  (+0 for a,
+** +1 for b, +2 for c, +3 for d.)  If the LHS of MATCH were "ex1" 
+** indicating that all columns should be searched,
+** then eSearch would be set to FTS3_FULLTEXT_SEARCH+4.
+*/
+#define FTS3_FULLSCAN_SEARCH 0    /* Linear scan of %_content table */
+#define FTS3_DOCID_SEARCH    1    /* Lookup by rowid on %_content table */
+#define FTS3_FULLTEXT_SEARCH 2    /* Full-text index search */
+
 /*
 ** A "phrase" is a sequence of one or more tokens that must match in
 ** sequence.  A single token is the base case and the most common case.
index a5fd934ea3d00e6b244b5772b727e7a98a3396fa..935bcecb621343451494a3911521d5396e23ddd3 100644 (file)
@@ -29,10 +29,10 @@ struct Snippet {
   int nAlloc;                     /* Space allocated for aMatch[] */
   struct snippetMatch {  /* One entry for each matching term */
     char snStatus;       /* Status flag for use while constructing snippets */
+    short int nByte;     /* Number of bytes in the term */
     short int iCol;      /* The column that contains the match */
     short int iTerm;     /* The index in Query.pTerms[] of the matching term */
     int iToken;          /* The index of the matching document token */
-    short int nByte;     /* Number of bytes in the term */
     int iStart;          /* The offset to the first character of the term */
   } *aMatch;                      /* Points to space obtained from malloc */
   char *zOffset;                  /* Text rendering of aMatch[] */
@@ -441,10 +441,12 @@ static int trimSnippetOffsets(
 ** If the offsets have already been computed, this routine is a no-op.
 */
 static int snippetAllOffsets(Fts3Cursor *pCsr, Snippet **ppSnippet){
-  Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;
-  int nColumn;
-  int iColumn, i;
-  int iFirst, iLast;
+  Fts3Table *p = (Fts3Table *)pCsr->base.pVtab;  /* The FTS3 virtual table */
+  int nColumn;           /* Number of columns.  Docid does count */
+  int iColumn;           /* Index of of a column */
+  int i;                 /* Loop index */
+  int iFirst;            /* First column to search */
+  int iLast;             /* Last coumn to search */
   int iTerm = 0;
   Snippet *pSnippet;
   int rc = SQLITE_OK;
@@ -461,7 +463,7 @@ static int snippetAllOffsets(Fts3Cursor *pCsr, Snippet **ppSnippet){
   memset(pSnippet, 0, sizeof(Snippet));
 
   nColumn = p->nColumn;
-  iColumn = (pCsr->eType - 2);
+  iColumn = (pCsr->eSearch - 2);
   if( iColumn<0 || iColumn>=nColumn ){
     /* Look for matches over all columns of the full-text index */
     iFirst = 0;
index 07ac982386ccade86ba5a6ebdc772028d46e3727..da4d16e08833318c91fa539a2429c197e0f71c70 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,8 @@
-C Open\sa\ssavepoint\swithin\sthe\sFTS3\soptimize()\sfunction.
-D 2009-12-01T13:48:14
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+C Changes\sto\sthe\sTCL\sinterface\sheader\sto\sallow\sit\sto\sbe\scompiled\sindependently\nfrom\sthe\samalgamation.
+D 2009-12-01T13:57:49
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in c5827ead754ab32b9585487177c93bb00b9497b3
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -56,15 +59,15 @@ F ext/fts2/mkfts2amal.tcl 974d5d438cb3f7c4a652639262f82418c1e4cff0
 F ext/fts3/README.syntax a19711dc5458c20734b8e485e75fb1981ec2427a
 F ext/fts3/README.tokenizers 998756696647400de63d5ba60e9655036cb966e9
 F ext/fts3/README.txt 8c18f41574404623b76917b9da66fcb0ab38328d
-F ext/fts3/fts3.c 8e966349c954cea27d8acf468d77c0d113c52449
+F ext/fts3/fts3.c eca3828c5ef6efd4297c8b917d69ec11b9d223a9
 F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
-F ext/fts3/fts3Int.h cc08454bc85cfe86d5205532178b0af5501eec9f
+F ext/fts3/fts3Int.h 58698ec42ac69a31bb0fcfcf6692fdbbde84d73b
 F ext/fts3/fts3_expr.c bdf11f3602f62f36f0e42823680bf22033dae0de
 F ext/fts3/fts3_hash.c 29fba5a01e51c53e37040e53821e6b2cec18c8fb
 F ext/fts3/fts3_hash.h 39524725425078bf9e814e9569c74a8e5a21b9fb
 F ext/fts3/fts3_icu.c ac494aed69835008185299315403044664bda295
 F ext/fts3/fts3_porter.c 4248815484f9c7e9d4f3c72c1149464485c08abe
-F ext/fts3/fts3_snippet.c 39cf30a7916b2562867d52176e87b6d7de02aea0
+F ext/fts3/fts3_snippet.c 84ba2fad73aa12628f1950aed74babbf3975e73a
 F ext/fts3/fts3_tokenizer.c 36f78d1a43a29b0feaec1ced6da9e56b9c653d1f
 F ext/fts3/fts3_tokenizer.h 7ff73caa3327589bf6550f60d93ebdd1f6a0fb5c
 F ext/fts3/fts3_tokenizer1.c 0a5bcc579f35de5d24a9345d7908dc25ae403ee7
@@ -170,7 +173,7 @@ F src/sqliteInt.h f09be5c67f95f3d28d44e5b608b18cab28758ba4
 F src/sqliteLimit.h 3afab2291762b5d09ae20c18feb8e9fa935a60a6
 F src/status.c e651be6b30d397d86384c6867bc016e4913bcac7
 F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e
-F src/tclsqlite.c 223746524139e1e02b7a2b61c05b5a690f91a0ff
+F src/tclsqlite.c bad6570a005b234ea670b9f7b48256da19a032d3
 F src/test1.c db4d8fd2849ab9aca0f27fd3773b8d68d078cf86
 F src/test2.c b6b43413d495addd039a88b87d65c839f86b18cb
 F src/test3.c f17eeaf8114205844d76f4e69bab27ea341087af
@@ -775,7 +778,14 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
-P c022f66b5a65aa54d5ebd55cfe941118a2042280
-R 485d559dfdae9a83053e9af2113a2fa7
-U dan
-Z 93dd7c80e5edb7b19676b5d0865cea7e
+P 4924fbb244bd1b7103e29e045812cb1c4d2d81c8
+R 42f8b015db748b4bafad9aa12897ca9c
+U drh
+Z d0f2f45728e358cd980fa1a3c65f892f
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.6 (GNU/Linux)
+
+iD8DBQFLFSDhoxKgR168RlERAi8IAJ0UgMelzc/hXfHu2CiGtY3Mjg/bZgCbBthD
+PKncL0iuiXbbriX6qEmRkxQ=
+=6DZZ
+-----END PGP SIGNATURE-----
index e6d9cf4470c69c7842c612333470f526fb3d2cf0..b2bf036c37935417390b4a9c7a3e5309f590e0b0 100644 (file)
@@ -1 +1 @@
-4924fbb244bd1b7103e29e045812cb1c4d2d81c8
\ No newline at end of file
+58113932d93926b4aa037a7487105a55f883cd0a
\ No newline at end of file
index 9834779788645a534a2b23681b086e3c63078502..7048e4efb0e224a12bd36a87511f7affc5e95f61 100644 (file)
 ** appended to the amalgamation.
 */
 #ifndef SQLITE_AMALGAMATION
-# include "sqliteInt.h"
+# include "sqlite3.h"
 # include <stdlib.h>
 # include <string.h>
 # include <assert.h>
+  typedef unsigned char u8;
 #endif
 #include <ctype.h>