Vander Clock Stephane <svandercl...@yahoo.fr> wrote:
> Some pragma are set be connection,
> some by database (and all the connection to this database) and
> some by the engine (all database and all connections)

Could you give an example of this last category? I don't see by what possible 
mechanism could a PRAGMA issued in one process connected to one database file, 
affect a separate process connected to a different database file. Einstein's 
spooky action at a distance?

> the doc http://www.sqlite.org/pragma.html don't say anything about this

Most pragmas are per connection. Those that affect the format of the database 
file are explicitly called out. For example:

PRAGMA auto_vacuum = ...;

... auto-vacuuming must be turned on before any tables are created...

PRAGMA encoding = ...;

The second and subsequent forms of this pragma are only useful if the main 
database has not already been created.

PRAGMA page_size = bytes;

The page size may only be set if the database has not yet been created.

> so how to distinguish the pragma that must be call on every connection
> or just set one time after the DLL initialization ?

I'm not aware of any pragmas that could be set once and somehow magically take 
effect on all subsequent connections. How would you even set such a pragma? You 
need a connection to run PRAGMA statements.

> for exemple did i need to call the pragma read_uncommitted on every
> connection

Yes.

> i just
> open thought sqlite3_open_V2 or simply can i open a connection,
> execute the pragma read_uncommitted and close the connection and this
> will stay
> for all the future connection on all database ?

No.
-- 
Igor Tandetnik

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

Reply via email to