Call sqlite3_close() first.  If it returns SQLITE_BUSY, *then* iterate over the 
statements list and close what statements remain.  sqlite3_close() will cleanup 
internal prepared statements for you and eliminate the error you're seeing.

----------------------------------------

From: junkJon <[EMAIL PROTECTED]>
Sent: Friday, September 26, 2008 6:56 PM
To: sqlite-users@sqlite.org
Subject: Re: [sqlite] Issue when enabling fts3 in sqlite3 

Oh, I was using the amalgamate source code 3.6.3 ... so I believe the problem
was related to what Roger mentioned below.. Thanks though for the input. 

-Jon 

P Kishor-3 wrote:
> 
> On 9/26/08, junkJon wrote:
>>
>> Hello all,
>>
>> I had a small little database (without fts3) that I setup that worked
>> perfectly. I was reading into full-text searching and I realized it
>> would
>> be cool if I could use it for my database, so I decided to implement it.
>> However, once I setup fts3 by enabling (SQLITE_ENABLE_FTS3) in the build
>> script (I am using the amalgamate source) and converted all my VARCHAR
>> to
>> TEXT in my database,
> 
> You don't have to...
> 
>> I get segmentation faults now... I can't figure out
>> what the problem could be.. It bombs out when I am trying to close my
>> Db...
>> it has something to do with the full-text searching code :(
> 
> What version of the software are you using? I got segfaults using
> 3.6.1 (albeit via Perl). Upgraded to 3.6.2 and all is well.
> 
> 
>>
>> Any help would be greatly appreciate...
>>
>>
>> here is my sample DB:
>>
>> ORIGINAL TABLE:
>> ----------------------------------
>> CREATE VIRTUAL TABLE file USING FTS3(
>> file_id INTEGER NOT NULL PRIMARY KEY
>> AUTOINCREMENT,
>> sha2 TEXT NOT NULL,
>> )
>>
>> NEW ONE:
>> ----------------------------
>> CREATE TABLE file (
>> file_id INTEGER NOT NULL PRIMARY KEY
>> AUTOINCREMENT,
>> sha2 BLOB NOT NULL,
>> )
>>
>>
>>
>>
>> here is the stack trace:
>> ----------------------------------------
>> Program received signal SIGSEGV, Segmentation fault.
>> [Switching to Thread 0xb7c536c0 (LWP 12890)]
>> 0x080b18f9 in sqlite3_finalize ()
>> Current language: auto; currently asm
>> (gdb) bt
>> #0 0x080b18f9 in sqlite3_finalize ()
>> #1 0x080f2caa in fulltext_vtab_destroy ()
>> #2 0x080f3c55 in fulltextDisconnect ()
>> #3 0x080e24a0 in sqlite3VtabUnlock ()
>> #4 0x080e24cf in sqlite3VtabClear ()
>> #5 0x080c4e32 in sqlite3DeleteTable ()
>> #6 0x080ca878 in sqlite3SchemaFree ()
>> #7 0x080c4ac1 in sqlite3ResetInternalSchema ()
>> #8 0x080ed344 in sqlite3_close ()
>> #9 0x0808d4cf in MySqlite::Close ()
>> #10 0x0808d4eb in MySqlite::~CSqliteDb ()
>> #11 0x0808ccbd in MySqlite::~CSqlitePreparedConnection ()
>>
>>
>> here is how I close my DB:
>> --------------------------------------------
>> void MySqlite::Close()
>> {
>> sqlite3_stmt *stmt;
>> while((stmt = sqlite3_next_stmt(m_db, 0)) != 0)
>> {
>> sqlite3_finalize(stmt);
>> }
>>
>> sqlite3_close(m_db);
>> m_db = NULL;
>> }
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Issue-when-enabling-fts3-in-sqlite3-tp19698347p19698347.html
>> Sent from the SQLite mailing list archive at Nabble.com.
>>
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
> 
> 
> -- 
> Puneet Kishor http://punkish.eidesis.org/
> Nelson Institute for Environmental Studies http://www.nelson.wisc.edu/
> Open Source Geospatial Foundation (OSGeo) http://www.osgeo.org/
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Issue-when-enabling-fts3-in-sqlite3-tp19698347p19698866.html
Sent from the SQLite mailing list archive at Nabble.com.

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to