Re: [sqlite] FTS3 IGNORE OR REPLACE????

2009-11-04 Thread Scott Hess
fts3 columns are all implicitly TEXT, no matter how you dress them up. There's already docid as a primary-key alias for rowid. -scott On Wed, Nov 4, 2009 at 11:03 AM, Simon Slavin wrote: > > On 4 Nov 2009, at 5:05pm, sorka wrote: > >> Hmm. Have you actually tried this yourself? >> >> Here's wh

Re: [sqlite] FTS3 IGNORE OR REPLACE????

2009-11-04 Thread sorka
There have been past discussions asking the same thing and various sqlite developers saying I'll check and reporting back that FTS3 doesn't implement replace or ignore. I was hoping someone had come up with a work around solution since then that doesn't have a big performance penalty. Simon Sl

Re: [sqlite] FTS3 IGNORE OR REPLACE????

2009-11-04 Thread Simon Slavin
On 4 Nov 2009, at 5:05pm, sorka wrote: > Hmm. Have you actually tried this yourself? > > Here's what I get with a simplified example: > > CREATE VIRTUAL TABLE keyword using FTS3(programId INTEGER PRIMARY KEY, > title); > INSERT OR IGNORE INTO keyword (programId, title) VALUES(3, "A"); > INSERT OR

Re: [sqlite] FTS3 IGNORE OR REPLACE????

2009-11-04 Thread sorka
Hmm. Have you actually tried this yourself? Here's what I get with a simplified example: CREATE VIRTUAL TABLE keyword using FTS3(programId INTEGER PRIMARY KEY, title); INSERT OR IGNORE INTO keyword (programId, title) VALUES(3, "A"); INSERT OR IGNORE INTO keyword (programId, title) VALUES(3, "A")

Re: [sqlite] FTS3 IGNORE OR REPLACE????

2009-11-04 Thread Scott Hess
Think you're going to have to post an example of how to replicate it, then. A really good way to demonstrate is using self-contained code (the tcl bindings are great for this kind of thing). Your description doesn't match my experience with fts3, so obviously either you're doing something differe

Re: [sqlite] FTS3 IGNORE OR REPLACE????

2009-11-04 Thread sorka
I'm doing both delete and insert within the same transaction already. The problem is there will alway be a few duplicates out of the hundreds of records so it will always fail. For whatever reason, the delete, even though it's just 2 or 3 records is taking 10 times longer than just the insert alon

Re: [sqlite] FTS3 IGNORE OR REPLACE????

2009-11-04 Thread Scott Hess
On Tue, Nov 3, 2009 at 9:12 PM, sorka wrote: > Is there any way to have an intsert into an FTS3 table ignore a row if the > ROWID being inserted already exists? This is turning out to be quite > troublesome because I'm inserting thousands of records where just a few like > 3 or 4 will have the sam

Re: [sqlite] FTS3 IGNORE OR REPLACE????

2009-11-04 Thread Simon Slavin
On 4 Nov 2009, at 5:12am, sorka wrote: > Is there any way to have an intsert into an FTS3 table ignore a row > if the > ROWID being inserted already exists? First, make whatever column you're using for ROWID explicit, not implicit. Declare one of your own named columns as INTEGER PRIMARY

[sqlite] FTS3 IGNORE OR REPLACE????

2009-11-03 Thread sorka
Is there any way to have an intsert into an FTS3 table ignore a row if the ROWID being inserted already exists? This is turning out to be quite troublesome because I'm inserting thousands of records where just a few like 3 or 4 will have the same rowid as existing records. However, to do the test