return SQLITE_NOMEM;
}
if( sqlite3_value_type(argv[0])==SQLITE_NULL ){
- spellfix1DbExec(&rc, db,
- "INSERT INTO \"%w\".\"%w_vocab\"(rank,langid,word,k1,k2) "
- "VALUES(%d,%d,%Q,%Q,%Q)",
- p->zDbName, p->zTableName,
- iRank, iLang, zWord, zK1, zK2
- );
+ if( sqlite3_value_type(argv[1])==SQLITE_NULL ){
+ spellfix1DbExec(&rc, db,
+ "INSERT INTO \"%w\".\"%w_vocab\"(rank,langid,word,k1,k2) "
+ "VALUES(%d,%d,%Q,%Q,%Q)",
+ p->zDbName, p->zTableName,
+ iRank, iLang, zWord, zK1, zK2
+ );
+ }else{
+ newRowid = sqlite3_value_int64(argv[1]);
+ spellfix1DbExec(&rc, db,
+ "INSERT INTO \"%w\".\"%w_vocab\"(id,rank,langid,word,k1,k2) "
+ "VALUES(%lld,%d,%d,%Q,%Q,%Q)",
+ p->zDbName, p->zTableName,
+ newRowid, iRank, iLang, zWord, zK1, zK2
+ );
+ }
*pRowid = sqlite3_last_insert_rowid(db);
}else{
rowid = sqlite3_value_int64(argv[0]);
-C Simplify\sthe\sinterface\sto\sthe\ssymbol\stable,\ssaving\s600\sbytes\sof\scode\sspace.
-D 2014-08-21T20:26:37.728
+C Enhance\sthe\sspellfix\sextension\swith\sthe\sability\sto\sspecify\sa\srowid\swhen\ninserting\snew\srows.
+D 2014-08-22T11:11:30.047
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 5eb79e334a5de69c87740edd56af6527dd219308
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F ext/misc/percentile.c bcbee3c061b884eccb80e21651daaae8e1e43c63
F ext/misc/regexp.c af92cdaa5058fcec1451e49becc7ba44dba023dc
F ext/misc/rot13.c 1ac6f95f99b575907b9b09c81a349114cf9be45a
-F ext/misc/spellfix.c cb016c2dab951ffd7b819a7bc8a750ebd6c26c0f
+F ext/misc/spellfix.c 56739fab8c2ed6a9e2dac5592a88d281a999c43b
F ext/misc/totype.c 4a167594e791abeed95e0a8db028822b5e8fe512
F ext/misc/vfslog.c fe40fab5c077a40477f7e5eba994309ecac6cc95
F ext/misc/vtshim.c babb0dc2bf116029e3e7c9a618b8a1377045303e
F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa
F test/speed4p.test 0e51908951677de5a969b723e03a27a1c45db38b
F test/speedtest1.c d29c8048beb7ea9254191f3fde9414709166a920
-F test/spellfix.test 61309f5efbec53603b3f86457d34a504f80abafe
+F test/spellfix.test 24f676831acddd2f4056a598fd731a72c6311f49
F test/sqllimits1.test b1aae27cc98eceb845e7f7adf918561256e31298
F test/stat.test 76fd746b85459e812a0193410fb599f0531f22de
F test/stmt.test 25d64e3dbf9a3ce89558667d7f39d966fe2a71b9
F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
F tool/warnings.sh 0abfd78ceb09b7f7c27c688c8e3fe93268a13b32
F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 7029b3404d3f5f698a496934f3a3f2972051b257
-R 818f77c3be876451b2dad41de8a59565
+P 14b0f561fe15622b61c6676c9c455dca6b9ba5f0
+R e9738e2157edd7ced31f8162753e2f5b
U drh
-Z cb34ea9e2178e12926edef43b644d982
+Z 9671128edfd421e5d7e75c6453894b1f
-14b0f561fe15622b61c6676c9c455dca6b9ba5f0
\ No newline at end of file
+369c480cda6fa66394b995346bbf51f3298446e1
\ No newline at end of file
SELECT next_char('ab','vocab2','w',null,'binary');
} {c}
+do_execsql_test 1.30 {
+ SELECT rowid FROM t1 WHERE word='rabbit';
+} {2}
+do_execsql_test 1.31 {
+ UPDATE t1 SET rowid=2000 WHERE word='rabbit';
+ SELECT rowid FROM t1 WHERE word='rabbit';
+} {2000}
+do_execsql_test 1.32 {
+ INSERT INTO t1(rowid, word) VALUES(3000,'melody');
+ SELECT rowid, word, matchlen FROM t1 WHERE word MATCH 'melotti'
+ ORDER BY score LIMIT 3;
+} {3000 melody 6}
+do_test 1.33 {
+ catchsql {INSERT INTO t1(rowid, word) VALUES(3000,'garden');}
+} {1 {constraint failed}}
+
do_execsql_test 2.1 {
CREATE VIRTUAL TABLE t2 USING spellfix1;
INSERT INTO t2 (word, soundslike) VALUES('school', 'skuul');