Your IP : 216.73.216.213


Current Path : /opt/alt/python38/lib64/python3.8/sqlite3/test/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib64/python3.8/sqlite3/test/__pycache__/transactions.cpython-38.opt-2.pyc

U

i�f��@sxddlZddlZddlZdd�ZGdd�dej�ZGdd�dej�ZGdd	�d	ej�Zd
d�Z	dd
�Z
edkrte
�dS)�NcCsdS)NZ
sqlite_testdb�rrr�>/opt/alt/python38/lib64/python3.8/sqlite3/test/transactions.py�get_db_pathsrc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
e�e
jdkd�dd��Ze�e
jdkd�dd��Zdd�ZdS)�TransactionTestscCsfzt�t��Wntk
r$YnXtjt�dd�|_|j��|_tjt�dd�|_	|j	��|_
dS)Ng�������?)Ztimeout)�os�remover�OSError�sqlite�connect�con1�cursor�cur1�con2�cur2��selfrrr�setUpszTransactionTests.setUpcCsR|j��|j��|j��|j��zt�t��Wntk
rLYnXdS�N)	r
�closerrrr�unlinkrrrrrr�tearDown+s



zTransactionTests.tearDowncCsN|j�d�|j�d�|j�d�|j�d�|j��}|�t|�d�dS)N�create table test(i)�insert into test(i) values (5)zcreate table test2(j)�select i from testr�r
�executer�fetchall�assertEqual�len�r�resrrr�CheckDMLDoesNotAutoCommitBefore7s
z0TransactionTests.CheckDMLDoesNotAutoCommitBeforecCsB|j�d�|j�d�|j�d�|j��}|�t|�d�dS)Nrrrrrrrrr�CheckInsertStartsTransaction?s

z-TransactionTests.CheckInsertStartsTransactioncCsX|j�d�|j�d�|j��|j�d�|j�d�|j��d}|�|d�dS)Nrrzupdate test set i=6rr�)r
rr�commitrZfetchonerrrrr�CheckUpdateStartsTransactionFs
z-TransactionTests.CheckUpdateStartsTransactioncCsX|j�d�|j�d�|j��|j�d�|j�d�|j��}|�t|�d�dS)Nrrzdelete from testr��r
rrr$rrrrrrrr�CheckDeleteStartsTransactionOs

z-TransactionTests.CheckDeleteStartsTransactioncCsl|j�d�|j�d�|j��|j�d�|j�d�|j��}|�t|�d�|�|ddd�dS)Nrrzreplace into test(i) values (6)rr&rr#r'rrrr�CheckReplaceStartsTransactionXs

z.TransactionTests.CheckReplaceStartsTransactioncCs�|j�d�|j�d�d|j_|�|jjd�|j�d�|j��}|�t|�d�d|j_|�|jjd�|j�d�|j�d�|j��}|�t|�d�dS)Nrrrr&ZDEFERRED)r
rrZisolation_levelrrrrrrrr�CheckToggleAutoCommitbs

z&TransactionTests.CheckToggleAutoCommit)��r,z.test hangs on sqlite versions older than 3.2.2c	Cs@|j�d�|j�d�|�tj��|j�d�W5QRXdS�Nrr)r
r�assertRaisesr	�OperationalErrorrrrrr�CheckRaiseTimeoutrsz"TransactionTests.CheckRaiseTimeoutc	CsJ|j�d�|j�d�|�tj��|j�d�W5QRX|j��dSr-)r
rr.r	r/rrr$rrrr�CheckLockingzs
zTransactionTests.CheckLockingc	Cs\t�d�}|��}|�d�|�d�|�d�|��|�tj��|��W5QRXdS)N�:memory:zcreate table test(x)zinsert into test(x) values (5)z&select 1 union select 2 union select 3)r	r
rr�rollbackr.ZInterfaceErrorr)r�con�currrr�CheckRollbackCursorConsistency�s



z/TransactionTests.CheckRollbackCursorConsistencyN)�__name__�
__module__�__qualname__rrr!r"r%r(r)r*�unittestZskipIfr	Zsqlite_version_infor0r1r6rrrrrs"		
�
�
rc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�SpecialCommandTestscCst�d�|_|j��|_dS�Nr2)r	r
r4rr5rrrrr�szSpecialCommandTests.setUpcCs(|j�d�|j�d�|j�d�dS)Nrrzdrop table test�r5rrrrr�CheckDropTable�sz"SpecialCommandTests.CheckDropTablecCs(|j�d�|j�d�|j�d�dS)Nrrzpragma count_changes=1r=rrrr�CheckPragma�szSpecialCommandTests.CheckPragmacCs|j��|j��dSr)r5rr4rrrrr�s
zSpecialCommandTests.tearDownN)r7r8r9rr>r?rrrrrr;�sr;c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TransactionalDDLcCst�d�|_dSr<)r	r
r4rrrrr�szTransactionalDDL.setUpcCs6|j�d�|j��|j�d���}|�|g�dS)Nr�select * from test)r4rr3rr)r�resultrrr�#CheckDdlDoesNotAutostartTransaction�s
z4TransactionalDDL.CheckDdlDoesNotAutostartTransactionc	CsJ|j�d�|j�d�|j��|�tj��|j�d�W5QRXdS)Nzbegin immediaterrA�r4rr3r.r	r/rrrr�CheckImmediateTransactionalDDL�s

z/TransactionalDDL.CheckImmediateTransactionalDDLc	CsJ|j�d�|j�d�|j��|�tj��|j�d�W5QRXdS)NZbeginrrArDrrrr�CheckTransactionalDDL�s

z&TransactionalDDL.CheckTransactionalDDLcCs|j��dSr)r4rrrrrr�szTransactionalDDL.tearDownN)r7r8r9rrCrErFrrrrrr@�s
		r@cCs4t�td�}t�td�}t�td�}t�|||f�S)NZCheck)r:Z	makeSuiterr;r@Z	TestSuite)Z
default_suiteZspecial_command_suiteZ	ddl_suiterrr�suite�srGcCst��}|�t��dSr)r:ZTextTestRunner�runrG)Zrunnerrrr�test�srI�__main__)rr:Zsqlite3r	rZTestCaserr;r@rGrIr7rrrr�<module>sy!