Thanks (to other repliers too),
That put me on the right track.
-Original Message-
From: sqlite-users-boun...@sqlite.org
[mailto:sqlite-users-boun...@sqlite.org] On Behalf Of Keith Medcalf
Sent: October-18-13 7:34 PM
To: General Discussion of SQLite Database
Subject: Re: [sqlite] SELECT
For multiple consumers you might do something like:
BEGIN;
UPDATE processingqueue SET status = 'failed' WHERE status =
'processing' AND processor = :processor;
UPDATE processingqueue SET status = 'processing', processor =
:processor, started = strftime('%s')
WHERE queueid = (SELECT queueid from p
On Fri, 18 Oct 2013 13:57:18 -0400
"Normand Mongeau" wrote:
> Also, the consuming should be a 2-step process because the processing
> is involved and may fail for reasons too long to explain here. So in
> essence, select a record, modify it to indicate it's being processed,
> and once the process
On 10/18/2013 1:57 PM, Normand Mongeau wrote:
Also, the consuming should be a 2-step process because the processing is
involved and may fail for reasons too long to explain here. So in essence,
select a record, modify it to indicate it's being processed, and once the
processing is done delete the
Hi,
I have a scenario where I'm using an sqlite table as a queue for
inter-process communication. One or more processes feed the table, and one
or more different processes are meant to consume the data.
What's my best scenario in terms of minimizing conflicts?
Also, the consuming should
> If you want to know which rows were updated regardless of the key, what
> you need is a column to hold a unique value for each update transaction,
> and set it as part of the UPDATE. You could add a datetime column,
> for example, if the time resolution is fine enough.
Good idea. I found settin
>> There is sqlite3_update_hook() function that returns rowid of changed record.
> sounds promising, but apparently not supported by the python wrapper.
Not the included sqlite3/pysqlite dbiapi wrapper -- though it is supported by
Roger Binns APSW wrapper.
http://code.google.com/p/apsw/
---
(
On Fri, Jan 25, 2013 at 1:36 AM, Yongil Jang wrote:
> There is sqlite3_update_hook() function that returns rowid of changed
> record.
sounds promising, but apparently not supported by the python wrapper.
___
sqlite-users mailing list
sqlite-users@sqlite
On Thu, 24 Jan 2013 16:47:02 +1100
Richard Baron Penman wrote:
> How to find which keys have been updated from this query?
That's the problem with "limit N", right? It's not based on the data.
Not only do you not know which rows were updated, you don't know which
ones were *selected* except by
Penman wrote:
How to find which keys have been updated from this query?
There is sqlite3_update_hook() function that returns rowid of changed
record.
Regards,
Yongil Jang.
On Jan 24, 2013 11:10 PM, "Igor Tandetnik" wrote:
> On 1/24/2013 12:47 AM, Richard Baron Penman wrote:
>
>> How to find whi
On 1/24/2013 12:47 AM, Richard Baron Penman wrote:
How to find which keys have been updated from this query?
You can't, really. If you need a list of keys (or in fact a list of
anything from the database), you need to run a SELECT statement. At
which point you are back where you started and m
Richard Baron Penman wrote:
>And then I process it like this, N keys at a time:
>
>SELECT key FROM queue WHERE status=0 LIMIT N;
>BEGIN TRANSACTION;
>for key in keys:
>UPDATE queue SET status=1 WHERE key=key;
>END TRANSACTION;
>
>
>How can this SELECT and UPDATE be combined more efficiently?
> Why process only N at a time, Richard?
There are a number of workers who request unprocessed jobs from the queue.
But the queue is too big to hold in memory all at once.
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-b
Thanks for tip about the redundant index.
How to find which keys have been updated from this query?
On Thu, Jan 24, 2013 at 3:32 PM, Keith Medcalf wrote:
>> I have a table like this:
>>
>> CREATE TABLE queue (
>> key TEXT NOT NULL PRIMARY KEY UNIQUE,
>> status INTEGER
>> );
>> CREATE IN
On Wed, 23 Jan 2013 21:32:20 -0700
"Keith Medcalf" wrote:
> > And then I process it like this, N keys at a time:
> >
> > SELECT key FROM queue WHERE status=0 LIMIT N;
> > BEGIN TRANSACTION;
> > for key in keys:
> > UPDATE queue SET status=1 WHERE key=key;
> > END TRANSACTION;
> >
> > How ca
On 1/23/2013 11:22 PM, Richard Baron Penman wrote:
And then I process it like this, N keys at a time:
SELECT key FROM queue WHERE status=0 LIMIT N;
BEGIN TRANSACTION;
for key in keys:
UPDATE queue SET status=1 WHERE key=key;
END TRANSACTION;
How can this SELECT and UPDATE be combined more
> I have a table like this:
>
> CREATE TABLE queue (
> key TEXT NOT NULL PRIMARY KEY UNIQUE,
> status INTEGER
> );
> CREATE INDEX IF NOT EXISTS keys ON queue (key);
Your index is redundant. There is already a unique index on key since it is a
primary key.
It should probably be:
create
Hello,
I have a table like this:
CREATE TABLE queue (
key TEXT NOT NULL PRIMARY KEY UNIQUE,
status INTEGER
);
CREATE INDEX IF NOT EXISTS keys ON queue (key);
And then I process it like this, N keys at a time:
SELECT key FROM queue WHERE status=0 LIMIT N;
BEGIN TRANSACTION;
for key in k
18 matches
Mail list logo