summaryrefslogtreecommitdiffstats
path: root/lib/libsqlite3/ext/misc/spellfix.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libsqlite3/ext/misc/spellfix.c')
-rw-r--r--lib/libsqlite3/ext/misc/spellfix.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/lib/libsqlite3/ext/misc/spellfix.c b/lib/libsqlite3/ext/misc/spellfix.c
index 2e6743e4f7a..2a26e08391d 100644
--- a/lib/libsqlite3/ext/misc/spellfix.c
+++ b/lib/libsqlite3/ext/misc/spellfix.c
@@ -2736,12 +2736,22 @@ static int spellfix1Update(
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]);