ó
X\¬Qc           @   s—   d  d l  Z  d  d l Z d  d l Z d  d l Z d „  Z d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d „  Z	 d „  Z
 e d	 k r“ e
 ƒ  n  d S(
   iÿÿÿÿNc           C   s   d S(   Nt   sqlite_testdb(    (    (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   get_db_path   s    t   TransactionTestsc           B   sk   e  Z d  „  Z d „  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  j t ƒ  ƒ Wn t k
 r' n Xt j t ƒ  d d ƒ|  _ |  j j ƒ  |  _ t j t ƒ  d d ƒ|  _	 |  j	 j ƒ  |  _
 d  S(   Nt   timeoutgš™™™™™¹?(   t   ost   removeR   t   OSErrort   sqlitet   connectt   con1t   cursort   cur1t   con2t   cur2(   t   self(    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   setUp    s    c         C   s`   |  j  j ƒ  |  j j ƒ  |  j j ƒ  |  j j ƒ  y t j t ƒ  ƒ Wn t k
 r[ n Xd  S(   N(	   R   t   closeR	   R   R   R   t   unlinkR   R   (   R   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   tearDown,   s    c         C   si   |  j  j d ƒ |  j  j d ƒ |  j  j d ƒ |  j j d ƒ |  j j ƒ  } |  j 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   assertEqualt   len(   R   t   res(    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckDMLdoesAutoCommitBefore8   s    c         C   sY   |  j  j d ƒ |  j  j d ƒ |  j j d ƒ |  j j ƒ  } |  j 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   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckInsertStartsTransaction@   s
    c         C   st   |  j  j d ƒ |  j  j d ƒ |  j j ƒ  |  j  j d ƒ |  j j d ƒ |  j j ƒ  d } |  j | 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   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckUpdateStartsTransactionG   s    c         C   sv   |  j  j d ƒ |  j  j d ƒ |  j j ƒ  |  j  j d ƒ |  j j d ƒ |  j j ƒ  } |  j 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   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckDeleteStartsTransactionP   s    c         C   sŽ   |  j  j d ƒ |  j  j d ƒ |  j j ƒ  |  j  j d ƒ |  j j d ƒ |  j j ƒ  } |  j t | ƒ d ƒ |  j | 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   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckReplaceStartsTransactionY   s    c         C   sâ   |  j  j d ƒ |  j  j d ƒ d  |  j _ |  j |  j j d  ƒ |  j j d ƒ |  j j ƒ  } |  j t | ƒ d ƒ d |  j _ |  j |  j j d ƒ |  j  j d ƒ |  j j d ƒ |  j j ƒ  } |  j 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   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckToggleAutoCommitc   s    c         C   s‚   t  j d k  r d  S|  j j d ƒ |  j j d ƒ y! |  j j d ƒ |  j d ƒ Wn' t  j k
 rj n |  j d ƒ n Xd  S(   Ni   i   s   create table test(i)s   insert into test(i) values (5)s&   should have raised an OperationalError(   i   i   i   (   R   t   sqlite_version_infoR   R   R   t   failt   OperationalError(   R   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckRaiseTimeouts   s    c         C   s   t  j d k  r d S|  j j d ƒ |  j j d ƒ y! |  j j d ƒ |  j d ƒ Wn' t  j k
 rj n |  j d ƒ n X|  j j ƒ  d S(   s   
        This tests the improved concurrency with pysqlite 2.3.4. You needed
        to roll back con2 before you could commit con1.
        i   i   Ns   create table test(i)s   insert into test(i) values (5)s&   should have raised an OperationalError(   i   i   i   (	   R   R#   R   R   R   R$   R%   R	   R   (   R   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckLocking‚   s    c         C   s—   t  j d ƒ } | j ƒ  } | j d ƒ | j d ƒ | j d ƒ | j ƒ  y | j ƒ  |  j d ƒ Wn) t  j k
 r } n |  j d ƒ n Xd S(   s…   
        Checks if cursors on the connection are set into a "reset" state
        when a rollback is done on the connection.
        s   :memory:s   create table test(x)s   insert into test(x) values (5)s&   select 1 union select 2 union select 3s&   InterfaceError should have been raisedN(   R   R   R
   R   t   rollbackR   R$   t   InterfaceError(   R   t   cont   curt   e(    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckRollbackCursorConsistency—   s    

(   t   __name__t
   __module__R   R   R   R   R   R   R   R"   R&   R'   R-   (    (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/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  j d ƒ |  _ |  j j ƒ  |  _ d  S(   Ns   :memory:(   R   R   R*   R
   R+   (   R   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyR   ¬   s    c         C   s4   |  j  j d ƒ |  j  j d ƒ |  j  j d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)t   vacuum(   R+   R   (   R   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckVacuum°   s    c         C   s4   |  j  j d ƒ |  j  j d ƒ |  j  j d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)s   drop table test(   R+   R   (   R   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckDropTableµ   s    c         C   s4   |  j  j d ƒ |  j  j d ƒ |  j  j d ƒ d  S(   Ns   create table test(i)s   insert into test(i) values (5)s   pragma count_changes=1(   R+   R   (   R   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   CheckPragmaº   s    c         C   s   |  j  j ƒ  |  j j ƒ  d  S(   N(   R+   R   R*   (   R   (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyR   ¿   s    (   R.   R/   R   R2   R3   R4   R   (    (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyR0   «   s
   				c          C   s7   t  j t d ƒ }  t  j t d ƒ } t  j |  | f ƒ S(   Nt   Check(   t   unittestt	   makeSuiteR   R0   t	   TestSuite(   t   default_suitet   special_command_suite(    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   suiteÃ   s    c          C   s    t  j ƒ  }  |  j t ƒ  ƒ d  S(   N(   R6   t   TextTestRunnert   runR;   (   t   runner(    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   testÈ   s    t   __main__(   t   sysR   R6   t   sqlite3R   R   t   TestCaseR   R0   R;   R?   R.   (    (    (    sa   /tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/sqlite3/test/transactions.pyt   <module>   s   	Œ		