³ò
œ›\Kc           @   s   d  d k  Z  d  d k Z d  d k Z d „  Z d e i f d „  ƒ  YZ d e i f d „  ƒ  YZ d „  Z d „  Z	 e
 d	 j o e	 ƒ  n d S(
   iÿÿÿÿNc           C   s   d S(   Nt   sqlite_testdb(    (    (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   get_db_path   s    t   TransactionTestsc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c         C   s|   y t  i t ƒ  ƒ Wn n Xt i t ƒ  d d ƒ|  _ |  i i ƒ  |  _ t i t ƒ  d d ƒ|  _ |  i i ƒ  |  _	 d  S(   Nt   timeoutgš™™™™™¹?(
   t   ost   removeR   t   sqlitet   connectt   con1t   cursort   cur1t   con2t   cur2(   t   self(    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   setUp   s    c         C   sH   |  i  i ƒ  |  i i ƒ  |  i i ƒ  |  i i ƒ  t i t ƒ  ƒ d  S(   N(   R
   t   closeR   R   R   R   t   unlinkR   (   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   tearDown+   s
    c         C   si   |  i  i d ƒ |  i  i d ƒ |  i  i d ƒ |  i i d ƒ |  i i ƒ  } |  i t | ƒ d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)s   create table test2(j)s   select i from testi   (   R
   t   executeR   t   fetchallt   failUnlessEqualt   len(   R   t   res(    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   CheckDMLdoesAutoCommitBefore4   s    c         C   sY   |  i  i d ƒ |  i  i d ƒ |  i i d ƒ |  i i ƒ  } |  i t | ƒ d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)s   select i from testi    (   R
   R   R   R   R   R   (   R   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   CheckInsertStartsTransaction<   s
    c         C   st   |  i  i d ƒ |  i  i d ƒ |  i i ƒ  |  i  i d ƒ |  i i d ƒ |  i i ƒ  d } |  i | d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)s   update test set i=6s   select i from testi    i   (   R
   R   R   t   commitR   t   fetchoneR   (   R   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   CheckUpdateStartsTransactionC   s    c         C   sv   |  i  i d ƒ |  i  i d ƒ |  i i ƒ  |  i  i d ƒ |  i i d ƒ |  i i ƒ  } |  i t | ƒ d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)s   delete from tests   select i from testi   (   R
   R   R   R   R   R   R   R   (   R   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   CheckDeleteStartsTransactionL   s    c         C   sŽ   |  i  i d ƒ |  i  i d ƒ |  i i ƒ  |  i  i d ƒ |  i i d ƒ |  i i ƒ  } |  i t | ƒ d ƒ |  i | d d d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)s   replace into test(i) values (6)s   select i from testi   i    i   (   R
   R   R   R   R   R   R   R   (   R   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   CheckReplaceStartsTransactionU   s    c         C   sâ   |  i  i d ƒ |  i  i d ƒ d  |  i _ |  i |  i i d  ƒ |  i i d ƒ |  i i ƒ  } |  i t | ƒ d ƒ d |  i _ |  i |  i i d ƒ |  i  i d ƒ |  i i d ƒ |  i i ƒ  } |  i t | ƒ d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)s   select i from testi   t   DEFERRED(	   R
   R   t   NoneR   t   isolation_levelR   R   R   R   (   R   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   CheckToggleAutoCommit_   s    c         C   sq   |  i  i d ƒ |  i  i d ƒ y! |  i i d ƒ |  i d ƒ Wn) t i j
 o n |  i d ƒ n Xd  S(   Ns   create table test(i)s   insert into test(i) values (5)s&   should have raised an OperationalError(   R
   R   R   t   failR   t   OperationalError(   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   CheckRaiseTimeouto   s    (   t   __name__t
   __module__R   R   R   R   R   R   R   R!   R$   (    (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyR      s   										
	t   SpecialCommandTestsc           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s(   t  i d ƒ |  _ |  i i ƒ  |  _ d  S(   Ns   :memory:(   R   R   t   conR	   t   cur(   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyR   {   s    c         C   s4   |  i  i d ƒ |  i  i d ƒ |  i  i d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)t   vacuum(   R)   R   (   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   CheckVacuum   s    c         C   s4   |  i  i d ƒ |  i  i d ƒ |  i  i d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)s   drop table test(   R)   R   (   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   CheckDropTable„   s    c         C   s4   |  i  i d ƒ |  i  i d ƒ |  i  i d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)s   pragma count_changes=1(   R)   R   (   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   CheckPragma‰   s    c         C   s   |  i  i ƒ  |  i i ƒ  d  S(   N(   R)   R   R(   (   R   (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyR   Ž   s    (   R%   R&   R   R+   R,   R-   R   (    (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyR'   z   s
   				c          C   s7   t  i t d ƒ }  t  i t d ƒ } t  i |  | f ƒ S(   Nt   Check(   t   unittestt	   makeSuiteR   R'   t	   TestSuite(   t   default_suitet   special_command_suite(    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   suite’   s    c          C   s    t  i ƒ  }  |  i t ƒ  ƒ d  S(   N(   R/   t   TextTestRunnert   runR4   (   t   runner(    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pyt   test—   s    t   __main__(   R   R/   t   sqlite3R   R   t   TestCaseR   R'   R4   R8   R%   (    (    (    s/   /usr/lib/python2.5/sqlite3/test/transactions.pys   <module>   s   	\		