Add a test case for creating an FTS3 table with no module arguments or opening/closing brackets in the CREATE VIRTUAL TABLE statement.
FossilOrigin-Name: a9cba7ea0a06efa7a63a3069b219cc30fb127e98
This commit is contained in:
parent
1e6349900d
commit
8e9f6aedae
@ -657,8 +657,8 @@ int fts3InitVtab(
|
||||
int nDb;
|
||||
int nName;
|
||||
|
||||
const char *zTokenizer = 0;
|
||||
sqlite3_tokenizer *pTokenizer; /* Tokenizer for this table */
|
||||
const char *zTokenizer = 0; /* Name of tokenizer to use */
|
||||
sqlite3_tokenizer *pTokenizer = 0; /* Tokenizer for this table */
|
||||
|
||||
nDb = strlen(argv[1]) + 1;
|
||||
nName = strlen(argv[2]) + 1;
|
||||
@ -749,9 +749,13 @@ int fts3InitVtab(
|
||||
*ppVTab = &p->base;
|
||||
|
||||
fts3_init_out:
|
||||
assert( p || (pTokenizer && rc!=SQLITE_OK) );
|
||||
if( rc!=SQLITE_OK ){
|
||||
if( p ) fts3DisconnectMethod((sqlite3_vtab *)p);
|
||||
else if( pTokenizer ) pTokenizer->pModule->xDestroy(pTokenizer);
|
||||
if( p ){
|
||||
fts3DisconnectMethod((sqlite3_vtab *)p);
|
||||
}else{
|
||||
pTokenizer->pModule->xDestroy(pTokenizer);
|
||||
}
|
||||
}
|
||||
return rc;
|
||||
}
|
||||
|
30
manifest
30
manifest
@ -1,8 +1,5 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA1
|
||||
|
||||
C Initialize\sa\svariable\s(unnecessarily)\sto\savoid\sa\scompiler\swarning.
|
||||
D 2009-11-28T13:46:52
|
||||
C Add\sa\stest\scase\sfor\screating\san\sFTS3\stable\swith\sno\smodule\sarguments\sor\sopening/closing\sbrackets\sin\sthe\sCREATE\sVIRTUAL\sTABLE\sstatement.
|
||||
D 2009-11-28T15:35:17
|
||||
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
|
||||
F Makefile.in c5827ead754ab32b9585487177c93bb00b9497b3
|
||||
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
|
||||
@ -59,7 +56,7 @@ 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 524b080a1a7e9c4ebe7ce49e63f8f22a40a8b795
|
||||
F ext/fts3/fts3.c 591a84934108c7838f31bd0379fd2ac9f5b6c2ef
|
||||
F ext/fts3/fts3.h 3a10a0af180d502cecc50df77b1b22df142817fe
|
||||
F ext/fts3/fts3Int.h 74b21db1c4479c220e803ecf45a78de3b5ac9480
|
||||
F ext/fts3/fts3_expr.c bdf11f3602f62f36f0e42823680bf22033dae0de
|
||||
@ -328,8 +325,8 @@ F test/descidx2.test 1310ed1326cdfed4ea2c55169631579f082d174f
|
||||
F test/descidx3.test 3394ad4d089335cac743c36a14129d6d931c316f
|
||||
F test/diskfull.test 0cede7ef9d8f415d9d3944005c76be7589bb5ebb
|
||||
F test/distinctagg.test 1a6ef9c87a58669438fc771450d7a72577417376
|
||||
F test/e_fkey.test f0fbfbcc01b24ad840ed61227b66a05201a7856d
|
||||
F test/e_fts3.test 50fcbde25544ee8ab268bfa1e06dda1e570d12d1
|
||||
F test/e_fkey.test fd1fcf89badd5f2773d7ac04775b5ff3488eda17
|
||||
F test/e_fts3.test 488055f7c223e289ea341d55a7e1dd5281893b93
|
||||
F test/enc.test e54531cd6bf941ee6760be041dff19a104c7acea
|
||||
F test/enc2.test 6d91a5286f59add0cfcbb2d0da913b76f2242398
|
||||
F test/enc3.test 5c550d59ff31dccdba5d1a02ae11c7047d77c041
|
||||
@ -380,7 +377,7 @@ F test/fts2q.test b2fbbe038b7a31a52a6079b215e71226d8c6a682
|
||||
F test/fts2r.test b154c30b63061d8725e320fba1a39e2201cadd5e
|
||||
F test/fts2token.test d8070b241a15ff13592a9ae4a8b7c171af6f445a
|
||||
F test/fts3.test f4f380d3717493605270dfa3b0fa893ea0afb18d
|
||||
F test/fts3_common.tcl b4d857bbc29ea8039cec556e49671168812cca08
|
||||
F test/fts3_common.tcl cdc89bb78754d54b19d8a5dfabd14575742a5293
|
||||
F test/fts3aa.test 5327d4c1d9b6c61021696746cc9a6cdc5bf159c0
|
||||
F test/fts3ab.test 09aeaa162aee6513d9ff336b6932211008b9d1f9
|
||||
F test/fts3ac.test 356280144a2c92aa7b11474afadfe62a437fcd69
|
||||
@ -778,14 +775,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
|
||||
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
||||
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
|
||||
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
|
||||
P eada284bc10cafcab9beb3473bb0c70b3b4de2f9
|
||||
R 87acf1a9d3ff5d757611a22dd3e075e3
|
||||
U drh
|
||||
Z 179b4156acc3071052b9a653aa102271
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1.4.6 (GNU/Linux)
|
||||
|
||||
iD8DBQFLESnQoxKgR168RlERAhmAAJ9mDOo95xYTPVvvON42jITcYZk7/QCfdr/k
|
||||
+pNzb15NPCcKrG7vQsDshIw=
|
||||
=6eZn
|
||||
-----END PGP SIGNATURE-----
|
||||
P db65fd5913aae4d83d2c2bc243653175be3c3d35
|
||||
R 9fcbd85e4dfbef4d1cba73d182c5e027
|
||||
U dan
|
||||
Z a8040dc309e6b365539843242aa4e716
|
||||
|
@ -1 +1 @@
|
||||
db65fd5913aae4d83d2c2bc243653175be3c3d35
|
||||
a9cba7ea0a06efa7a63a3069b219cc30fb127e98
|
536
test/e_fkey.test
536
test/e_fkey.test
File diff suppressed because it is too large
Load Diff
@ -22,8 +22,6 @@ ifcapable !fts3 {
|
||||
}
|
||||
source $testdir/fts3_common.tcl
|
||||
|
||||
set DO_MALLOC_TEST 0
|
||||
|
||||
# Procs used to make the tests in this file easier to read.
|
||||
#
|
||||
proc ddl_test {tn ddl} {
|
||||
@ -36,7 +34,14 @@ proc read_test {tn sql result} {
|
||||
uplevel [list do_select_test e_fts3-$tn $sql $result]
|
||||
}
|
||||
|
||||
#-----------------------------------------------------------------
|
||||
foreach DO_MALLOC_TEST {0 1 2} {
|
||||
|
||||
db close
|
||||
file delete -force test.db test.db-journal
|
||||
sqlite3 db test.db
|
||||
if {$DO_MALLOC_TEST} { sqlite3_db_config_lookaside db 0 0 0 }
|
||||
|
||||
##########################################################################
|
||||
# Test the example CREATE VIRTUAL TABLE statements in section 1.1
|
||||
# of fts3.in.
|
||||
#
|
||||
@ -69,4 +74,35 @@ read_test 1.3.4 {
|
||||
SELECT subject IS NULL, length(body) FROM mail
|
||||
} [list 1 100000]
|
||||
|
||||
ddl_test 1.4.1 {
|
||||
CREATE VIRTUAL TABLE papers USING fts3(author, document, tokenize=porter)
|
||||
}
|
||||
read_test 1.4.2 {
|
||||
PRAGMA table_info(papers)
|
||||
} {0 author {} 0 {} 0 1 document {} 0 {} 0}
|
||||
|
||||
ddl_test 1.5.1 {
|
||||
CREATE VIRTUAL TABLE simpledata USING fts3(tokenize=simple)
|
||||
}
|
||||
read_test 1.5.2 {
|
||||
PRAGMA table_info(simpledata)
|
||||
} {0 content {} 0 {} 0}
|
||||
|
||||
ddl_test 1.6.1 {DROP TABLE data}
|
||||
ddl_test 1.6.2 {DROP TABLE pages}
|
||||
ddl_test 1.6.3 {DROP TABLE mail}
|
||||
ddl_test 1.6.4 {DROP TABLE papers}
|
||||
ddl_test 1.6.5 {DROP TABLE simpledata}
|
||||
read_test 1.6.6 {SELECT * FROM sqlite_master} {}
|
||||
|
||||
# The following is not one of the examples in section 1.1. It tests
|
||||
# specifying an FTS3 table with no module arguments using a slightly
|
||||
# different syntax.
|
||||
ddl_test 1.7.1 {CREATE VIRTUAL TABLE data USING fts3;}
|
||||
read_test 1.7.2 {PRAGMA table_info(data)} {0 content {} 0 {} 0}
|
||||
ddl_test 1.7.3 {DROP TABLE data}
|
||||
|
||||
##########################################################################
|
||||
|
||||
}
|
||||
finish_test
|
||||
|
@ -378,10 +378,13 @@ proc do_write_test {name tbl sql} {
|
||||
# Calculate the initial table checksum.
|
||||
set cksum1 [db one $cksumsql]
|
||||
|
||||
|
||||
if {$::DO_MALLOC_TEST } {
|
||||
set answers [list {1 {out of memory}} {0 {}}]
|
||||
set modes [list 100000 transient 1 persistent]
|
||||
if {$::DO_MALLOC_TEST==1} {
|
||||
set modes {100000 transient}
|
||||
} else {
|
||||
set modes {1 persistent}
|
||||
}
|
||||
} else {
|
||||
set answers [list {0 {}}]
|
||||
set modes [list 0 nofail]
|
||||
|
Loading…
x
Reference in New Issue
Block a user