HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/test_sqlite3/__pycache__/test_transactions.cpython-311.opt-1.pyc
�

��Vc5��b�ddlZddlZddlZddlmZddlmZmZddl	m
Z
edzZGd�dej��Z
Gd�d	ej��ZGd
�dej��ZGd�d
ej��ZGd�dej��ZGd�dej��Zedkrej��dSdS)�N)�LOOPBACK_TIMEOUT)�TESTFN�unlink)�memory_database�
c�V�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�TransactionTestsc��tjtt���|_|j���|_tjtt���|_|j���|_dS)N)�timeout)	�sqlite�connectr�TIMEOUT�con1�cursor�cur1�con2�cur2��selfs �7D:\Python311\Lib\test\test_sqlite3\test_transactions.py�setUpzTransactionTests.setUp$s\���N�6�7�;�;�;��	��I�$�$�&�&��	��N�6�7�;�;�;��	��I�$�$�&�&��	�	�	�c�*�	|j���|j���|j���|j���tt��dS#tt��wxYw�N)r�closerrrrrrs r�tearDownzTransactionTests.tearDown+sp��	��I�O�O�����I�O�O�����I�O�O�����I�O�O����
�6�N�N�N�N�N��F�6�N�N�N�N���s�A$A<�<Bc�N�|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�ress  r�$test_dml_does_not_auto_commit_beforez5TransactionTests.test_dml_does_not_auto_commit_before6s����	���0�1�1�1��	���:�;�;�;��	���1�2�2�2��	���.�/�/�/��i� � �"�"������S���1�%�%�%�%�%rc��|j�d��|j�d��|j�d��|j���}|�t|��d��dS)Nrrr rr!r&s  r�test_insert_starts_transactionz/TransactionTests.test_insert_starts_transaction>s|���	���0�1�1�1��	���:�;�;�;��	���.�/�/�/��i� � �"�"������S���1�%�%�%�%�%rc�r�|j�d��|j�d��|j���|j�d��|j�d��|j���d}|�|d��dS)Nrrzupdate test set i=6r r�)rr"r�commitr�fetchoner$r&s  r�test_update_starts_transactionz/TransactionTests.test_update_starts_transactionEs����	���0�1�1�1��	���:�;�;�;��	�������	���/�0�0�0��	���.�/�/�/��i� � �"�"�1�%������a� � � � � rc��|j�d��|j�d��|j���|j�d��|j�d��|j���}|�t|��d��dS)Nrrzdelete from testr ��rr"rr-rr#r$r%r&s  r�test_delete_starts_transactionz/TransactionTests.test_delete_starts_transactionNs����	���0�1�1�1��	���:�;�;�;��	�������	���,�-�-�-��	���.�/�/�/��i� � �"�"������S���1�%�%�%�%�%rc���|j�d��|j�d��|j���|j�d��|j�d��|j���}|�t|��d��|�|ddd��dS)Nrrzreplace into test(i) values (6)r r1rr,r2r&s  r�test_replace_starts_transactionz0TransactionTests.test_replace_starts_transactionWs����	���0�1�1�1��	���:�;�;�;��	�������	���;�<�<�<��	���.�/�/�/��i� � �"�"������S���1�%�%�%�����Q����A�&�&�&�&�&rc��|j�d��|j�d��d|j_|�|jjd��|j�d��|j���}|�t|��d��d|j_|�|jjd��|j�d��|j�d��|j���}|�t|��d��dS)Nrrr r1�DEFERRED)rr"r�isolation_levelr$rr#r%r&s  r�test_toggle_auto_commitz(TransactionTests.test_toggle_auto_commitas#���	���0�1�1�1��	���:�;�;�;�$(��	�!������2�D�9�9�9��	���.�/�/�/��i� � �"�"������S���1�%�%�%�$.��	�!������2�Z�@�@�@��	���:�;�;�;��	���.�/�/�/��i� � �"�"������S���1�%�%�%�%�%rc��|j�d��|j�d��|�tj��5|j�d��ddd��dS#1swxYwYdS)Nrr)rr"�assertRaisesr�OperationalErrorrrs r�test_raise_timeoutz#TransactionTests.test_raise_timeoutqs����	���0�1�1�1��	���:�;�;�;�
�
�
�v�6�
7�
7�	@�	@��I���>�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@s�A<�<B�Bc�B�|j�d��|j�d��|�tj��5|j�d��ddd��n#1swxYwY|j���dS)z�
        This tests the improved concurrency with pysqlite 2.3.4. You needed
        to roll back con2 before you could commit con1.
        rrN)rr"r;rr<rrr-rs r�test_lockingzTransactionTests.test_lockingws���
	
�	���0�1�1�1��	���:�;�;�;�
�
�
�v�6�
7�
7�	@�	@��I���>�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	
�	�������s�A;�;A?�A?c�P�tjd��}|���}|�d��|�d��|�d��|���|�|���gd���dS)z3Check that cursors behave correctly after rollback.�:memory:zcreate table test(x)zinsert into test(x) values (5)z&select 1 union select 2 union select 3)�r1��)�N)rr
rr"�rollbackr$r#)r�con�curs   r� test_rollback_cursor_consistencyz1TransactionTests.test_rollback_cursor_consistency�s����n�Z�(�(���j�j�l�l�����*�+�+�+����4�5�5�5����<�=�=�=���������������);�);�);�<�<�<�<�<rc���i��fd�}|j�d��||jdddd��|j���||jd�����d}|�|d	��||jd
��j}|�|d	��|j���||jdd��||jdd
��||jd�����d}|�|d��||jd�����d}|�|d��|j���||jd�����d}|�|d��dS)Nc���|���}|�||��|�t|��<|Sr)rr"�id)�cx�sql�args�cu�CURSORSs    �rrNz@TransactionTests.test_multiple_cursors_and_iternext.<locals>.sql�s9��������B��J�J�s�D�!�!�!�!�G�B�s�G�G���Ir�create table t(t)z"insert into t values (?), (?), (?)�u1�u2�u3zselect count(*) from trrEz
delete from tzinsert into t values (?)�u4�u5rD)rr"r-rr.r$�rowcount)rrN�count�changesrQs    @r�"test_multiple_cursors_and_iternextz3TransactionTests.test_multiple_cursors_and_iternext�s������	�	�	�	�	�	
�	���-�.�.�.���D�I�;�T�4��N�N�N��	��������D�I�7�8�8�A�A�C�C�A�F�������"�"�"��#�d�i��1�1�:������!�$�$�$��	������	��D�I�1�4�8�8�8���D�I�1�4�8�8�8���D�I�7�8�8�A�A�C�C�A�F�������"�"�"���D�I�7�8�8�A�A�C�C�A�F�������"�"�"�	
�	��������D�I�7�8�8�A�A�C�C�A�F�������"�"�"�"�"rN)�__name__�
__module__�__qualname__rrr(r*r/r3r5r9r=r?rIr[�rrr	r	#s�������'�'�'�	�	�	�&�&�&�&�&�&�!�!�!�&�&�&�'�'�'�&�&�&� @�@�@�
�
�
�	=�	=�	=�%#�%#�%#�%#�%#rr	c�6�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�
RollbackTestszEbpo-44092: sqlite3 now leaves it to SQLite to resolve rollback issuesc�8�tjd��|_|j���|_|j���|_|j5|j�d��|j�dgd���ddd��n#1swxYwY|j�d��d}|j�|��|j���|j�|��|_	dS)NrAzcreate table t(c)zinsert into t values(?)))rrBrCzbegin transactionzselect c from t)
rr
rGrrrr"�executemanyrFr')r�selects  rrzRollbackTests.setUp�sA���>�*�-�-����H�O�O�%�%��	��H�O�O�%�%��	�
�X�	P�	P��H���0�1�1�1��H� � �!:�<N�<N�<N�O�O�O�	P�	P�	P�	P�	P�	P�	P�	P�	P�	P�	P����	P�	P�	P�	P�	
�	���-�.�.�.�"���	���&�!�!�!���������9�$�$�V�,�,����s�8B!�!B%�(B%c�8�|j���dSr�rGrrs rrzRollbackTests.tearDown������������rc�r�t|j��D]!\}}|�|d|���"dS)Nr)�	enumerater'r$)r�i�rows   r�_check_rowszRollbackTests._check_rows�sF�����)�)�	(�	(�F�A�s����S��V�Q�'�'�'�'�	(�	(rc�2�|`|���dSr)rrlrs r�0test_no_duplicate_rows_after_rollback_del_cursorz>RollbackTests.test_no_duplicate_rows_after_rollback_del_cursor�s���I��������rc�`�|j���|���dSr)rrrlrs r�2test_no_duplicate_rows_after_rollback_close_cursorz@RollbackTests.test_no_duplicate_rows_after_rollback_close_cursor�s,���	�������������rc�b�|j�d��|���dS)Nzselect c from t where c = 1)rr"rlrs r�/test_no_duplicate_rows_after_rollback_new_queryz=RollbackTests.test_no_duplicate_rows_after_rollback_new_query�s1���	���7�8�8�8��������rN)
r\r]r^�__doc__rrrlrnrprrr_rrrara�st������O�O�-�-�-����(�(�(�����������rrac�&�eZdZd�Zd�Zd�Zd�ZdS)�SpecialCommandTestsc�t�tjd��|_|j���|_dS�NrA)rr
rGrrHrs rrzSpecialCommandTests.setUp�s*���>�*�-�-����8�?�?�$�$����rc��|j�d��|j�d��|j�d��dS)Nrrzdrop table test�rHr"rs r�test_drop_tablez#SpecialCommandTests.test_drop_table�sM������/�0�0�0�����9�:�:�:�����*�+�+�+�+�+rc��|j�d��|j�d��|j�d��dS)Nrrzpragma count_changes=1ryrs r�test_pragmazSpecialCommandTests.test_pragma�sM������/�0�0�0�����9�:�:�:�����1�2�2�2�2�2rc�j�|j���|j���dSr)rHrrGrs rrzSpecialCommandTests.tearDown�s,�����������������rN)r\r]r^rrzr|rr_rrruru�sP������%�%�%�,�,�,�
3�3�3�
����rruc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�TransactionalDDLc�8�tjd��|_dSrw)rr
rGrs rrzTransactionalDDL.setUp�s���>�*�-�-����rc���|j�d��|j���|j�d�����}|�|g��dS)Nr�select * from test)rGr"rFr#r$)r�results  r�'test_ddl_does_not_autostart_transactionz8TransactionalDDL.test_ddl_does_not_autostart_transaction�sm��	
����/�0�0�0����������!�!�"6�7�7�@�@�B�B�������$�$�$�$�$rc�D�|j�d��|j�d��|j���|�tj��5|j�d��ddd��dS#1swxYwYdS)Nzbegin immediaterr��rGr"rFr;rr<rs r� test_immediate_transactional_ddlz1TransactionalDDL.test_immediate_transactional_ddl�s���	
����*�+�+�+�����/�0�0�0��������
�
�
�v�6�
7�
7�	3�	3��H���1�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3��-B�B�Bc�D�|j�d��|j�d��|j���|�tj��5|j�d��ddd��dS#1swxYwYdS)N�beginrr�r�rs r�test_transactional_ddlz'TransactionalDDL.test_transactional_ddls���	
�����!�!�!�����/�0�0�0��������
�
�
�v�6�
7�
7�	3�	3��H���1�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3r�c�8�|j���dSrrfrs rrzTransactionalDDL.tearDown
rgrN)r\r]r^rr�r�r�rr_rrrr�s_������.�.�.�%�%�%�3�3�3�3�3�3�����rrc�F�eZdZdZdZd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�IsolationLevelFromInitrR�insert into t values(1)c��g|_dSr)�tracedrs rrzIsolationLevelFromInit.setUps
������rc����|��j��|��fd���|5|��j��ddd��dS#1swxYwYdS)Nc�8���j�|��Sr�r��append��stmtrs �r�<lambda>z2IsolationLevelFromInit._run_test.<locals>.<lambda>s���4�;�+=�+=�d�+C�+C�r)r"�CREATE�set_trace_callback�INSERT�rrMs` r�	_run_testz IsolationLevelFromInit._run_tests����
�
�
�4�;����
���C�C�C�C�D�D�D�
�	$�	$��J�J�t�{�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s�A�A"�%A"c���t��5}|�|��|�|jd|jdg��ddd��dS#1swxYwYdS�N�BEGIN �COMMIT�rr�r$r�r�r�s  r�test_isolation_level_defaultz3IsolationLevelFromInit.test_isolation_level_defaults���
�
�
�	M�"��N�N�2�������T�[�8�T�[�(�*K�L�L�L�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M����	M�	M�	M�	M�	M�	Ms�9A�A�Ac���td���5}|�|��|�|jd|jdg��ddd��dS#1swxYwYdS)N��r8r�r�r�r�s  r�test_isolation_level_beginz1IsolationLevelFromInit.test_isolation_level_begin#s���
�R�
0�
0�
0�	M�B��N�N�2�������T�[�8�T�[�(�*K�L�L�L�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M����	M�	M�	M�	M�	M�	M��9A�A�Ac���td���5}|�|��|�|jd|jdg��ddd��dS#1swxYwYdS)Nr7r��BEGIN DEFERREDr�r�r�s  r�test_isolation_level_deferredz4IsolationLevelFromInit.test_isolation_level_deferred(s���
�Z�
8�
8�
8�	U�B��N�N�2�������T�[�+;�T�[�(�*S�T�T�T�	U�	U�	U�	U�	U�	U�	U�	U�	U�	U�	U�	U����	U�	U�	U�	U�	U�	Ur�c���td���5}|�|��|�|jd|jdg��ddd��dS#1swxYwYdS)N�	IMMEDIATEr��BEGIN IMMEDIATEr�r�r�s  r�test_isolation_level_immediatez5IsolationLevelFromInit.test_isolation_level_immediate-����
�[�
9�
9�
9�	I�R��N�N�2�������T�[�/���h�G�
I�
I�
I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I�	I����	I�	I�	I�	I�	I�	Ir�c���td���5}|�|��|�|jd|jdg��ddd��dS#1swxYwYdS)N�	EXCLUSIVEr��BEGIN EXCLUSIVEr�r�r�s  r�test_isolation_level_exclusivez5IsolationLevelFromInit.test_isolation_level_exclusive3r�r�c���td���5}|�|��|�|j|jg��ddd��dS#1swxYwYdS)Nr�r�r�s  r�test_isolation_level_nonez0IsolationLevelFromInit.test_isolation_level_none9s���
�T�
2�
2�
2�	9�b��N�N�2�������T�[�4�;�-�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9s�7A�A�AN)
r\r]r^r�r�rr�r�r�r�r�r�r�r_rrr�r�s�������
 �F�
&�F����$�$�$�M�M�M�
M�M�M�
U�U�U�
I�I�I�I�I�I�9�9�9�9�9rr�c�B�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�IsolationLevelPostInitr�c���tjd���_�j�d��g�_�j��fd���dS)NrArRc�8���j�|��Srr�r�s �rr�z.IsolationLevelPostInit.setUp.<locals>.<lambda>Fs�����0B�0B�4�0H�0H�r)rr
rMr"r�r�rs`rrzIsolationLevelPostInit.setUpBsV����.��,�,�������+�,�,�,������"�"�#H�#H�#H�#H�I�I�I�I�Irc�8�|j���dSr)rMrrs rrzIsolationLevelPostInit.tearDownHs����
�
�����rc���|j5|j�|j��ddd��n#1swxYwY|�|jd|jdg��dSr�)rMr"�QUERYr$r�rs rr�z3IsolationLevelPostInit.test_isolation_level_defaultKs���
�W�	(�	(��G�O�O�D�J�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(������x���X�&F�G�G�G�G�Gs� 4�8�8c���d|j_|j5|j�|j��ddd��n#1swxYwY|�|jd|jdg��dS)Nr�r�r��rMr8r"r�r$r�rs rr�z1IsolationLevelPostInit.test_isolation_level_beginPs���"$����
�W�	(�	(��G�O�O�D�J�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(������x���X�&F�G�G�G�G�G�� A�A�Ac���d|j_|j5|j�|j��ddd��n#1swxYwY|�|jd|jdg��dS)Nr7r�r�r�rs r�test_isolation_level_deferrredz5IsolationLevelPostInit.test_isolation_level_deferrredVs���",����
�W�	(�	(��G�O�O�D�J�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(������'7���X�&N�O�O�O�O�Or�c���d|j_|j5|j�|j��ddd��n#1swxYwY|�|jd|jdg��dS)Nr�r�r�r�rs rr�z5IsolationLevelPostInit.test_isolation_level_immediate\���"-����
�W�	(�	(��G�O�O�D�J�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(������+�T�Z��B�	D�	D�	D�	D�	Dr�c���d|j_|j5|j�|j��ddd��n#1swxYwY|�|jd|jdg��dS)Nr�r�r�r�rs rr�z5IsolationLevelPostInit.test_isolation_level_exclusivecr�r�c���d|j_|j5|j�|j��ddd��n#1swxYwY|�|j|jg��dSrr�rs rr�z0IsolationLevelPostInit.test_isolation_level_nonejs���"&����
�W�	(�	(��G�O�O�D�J�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(������t�z�l�3�3�3�3�3r�N)r\r]r^r�rrr�r�r�r�r�r�r_rrr�r�?s�������%�E�J�J�J����H�H�H�
H�H�H�P�P�P�D�D�D�D�D�D�4�4�4�4�4rr��__main__)�os�unittest�sqlite3r�test.supportr�test.support.os_helperrr�test.test_sqlite3.test_dbapirr�TestCaser	rarurr�r�r\�mainr_rr�<module>r�s���.������������)�)�)�)�)�)�1�1�1�1�1�1�1�1�8�8�8�8�8�8��R�
��P#�P#�P#�P#�P#�x�(�P#�P#�P#�f!�!�!�!�!�H�%�!�!�!�J�����(�+����(�����x�(����D+9�+9�+9�+9�+9�X�.�+9�+9�+9�\/4�/4�/4�/4�/4�X�.�/4�/4�/4�d�z����H�M�O�O�O�O�O��r