🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27386

Re: sqlite3, baza w pamięci i wielowątkowość

#27386
From: Piotr Husiatynski
Date: Thu, 18 Mar 2010 18:30
28 lines
2346 bytes
Dnia 18.03.2010 królewna <królewna@ee.pl> napisał/a:
> Mam problem, gdyż chciałabym użyć tablicy, która mieści się w pamięci 
> (definicja przez sqlite3.connect(":memory:") ) i nie wiem jak sprawić 
> aby ta sama baza była widziana w różnych wątkach. Jeśli chcę to samo 
> zrobić z bazą w pliku to nie ma problemu.
>
> Nie mogę przekazać obiektu connection ani cursor gdyż wyskakuje mi
>
> ProgrammingError: SQLite objects created in a thread can only be used in 
> that same thread.The object was created in thread id -1219066176 and 
> this is thread id -1224475792
>
> jeśli natomiast otwieram różne połączenia to de facto podłączam się do 
> różnych baz. Czy w takim razie najlepszym rozwiązaniem jest napisanie 
> jakiegoś wrappera na dostęp do bazy? Nie ma prostszej metody?
>
> U mnie jest jeszcze prosta sytuacja gdyż wątki są tworzone w ramach 
> jednego programu (więc można ewentualnie stowrzyć właśnie taki wrapper) 
> jednak co jeśli dwa oddzielne programy chciałyby mieć dostęp do tej 
> samej bazy sqlite rezydującej w pamięci? Należałoby wtedy stworzyć nowy 
> proces, który by tylko służył za pośrednika dostępu do bazy?

SQLite jest na tyle "inteligentne", żeby nie pozwolić na ściganie się wątków w
zapisie do bazy. Rozwiązanie jest takie, żeby robić to tylko z głównego wątku.

Dlaczego wątki w pythonie?
-- 
Piotr Husiatyński
Technical Details
Message-ID: <slrnhq4s9c.qg4.husio@oceanic.wsisiz.edu.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsfeed1.plix.pl!wsisiz.edu.pl!not-for-mail
References: <hnt17s$ij6$1@news.task.gda.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsfeed1.plix.pl!wsisiz.edu.pl!not-for-mail
From: Piotr Husiatynski <husio@gmail.com>
Newsgroups: pl.comp.lang.python
Subject: Re: sqlite3, baza w pamięci i
 wielowątkowość
Date: Thu, 18 Mar 2010 18:30:04 +0000 (UTC)
Organization: WSISiZ
Lines: 28
Message-ID: <slrnhq4s9c.qg4.husio@oceanic.wsisiz.edu.pl>
References: <hnt17s$ij6$1@news.task.gda.pl>
Reply-To: Piotr Husiatynski <phusiatynski@gmail.com>
NNTP-Posting-Host: oceanic.wsisiz.edu.pl
Mime-Version: 1.0
X-Trace: portraits.wsisiz.edu.pl 1268937004 3985 2001:1a68:a::33 (18 Mar 2010 18:30:04 GMT)
X-Complaints-To: abuse@wsisiz.edu.pl
NNTP-Posting-Date: Thu, 18 Mar 2010 18:30:04 +0000 (UTC)
User-Agent: slrn/0.9.9p1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit