> The thing is, it seems this "readers" don't ever see any changes in
> the db unless i shut them down and run them again.

> But connecting with the sqlite3 shell shows the changes in the db as
> they happen.

The above two facts suggest that your "readers" do not close their
reading transactions properly. I.e. they keep some SELECT statement
always open (sqlite3_reset or sqlite3_finalize is never called for it)
and thus all subsequent queries must use the state of the database at
the time when the first statement began executing. Another more
complicated scenario would be if you execute one query, before you
finish with it you start executing second one, then finalize first one
and before finishing with the second statement start the third one and
so on.
Bottom line: check that you call sqlite3_reset or sqlite3_finalize for
all your statements properly.


Pavel


2011/11/28 Alejandro Martínez <elpeq...@gmail.com>:
> I'd appreciate some direction on how to make this work.
>
> I have one process that writes on a database. It "realoads" tables by
> filling a new table and then replacing the old one via a drop and a
> rename within a transaction.
>
> Then there are several processes that just read from this database.
>
> I don't want these "readers" to block, so i made the database "wal".
>
> The thing is, it seems this "readers" don't ever see any changes in
> the db unless i shut them down and run them again.
>
> I thought it might be because a checkpoint was not being reached, so i
> made the writer proccess do a sqlite3_wal_checkpoint_v2(sqcache_conn,
> NULL, SQLITE_CHECKPOINT_FULL, &a, &b); when it is done updating, to no
> result.
>
> But connecting with the sqlite3 shell shows the changes in the db as
> they happen.
>
> What am i doing wrong?
>
> Thanks a lot in advance.
>
> Alejandro
> _______________________________________________
> 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