Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/test/test_sqlite3/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/test/test_sqlite3/__pycache__/test_transactions.cpython-312.pyc

�

)Μg�N���ddlZddlZddlmZddlmZmZddlm	Z	ddl
mZGd�dej�Z
Gd�d	ej�ZGd
�dej�ZGd�d
ej�ZGd�dej�ZGd�dej�ZGd�dej�Zedk(rej*�yy)�N)�contextmanager)�TESTFN�unlink��assert_python_ok)�memory_databasec�T�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zy
)�TransactionTestsc��tjtd��|_|jj	�|_tjtd��|_|jj	�|_y)Nr)�timeout)�sqlite�connectr�con1�cursor�cur1�con2�cur2��selfs �@/usr/local/lib/python3.12/test/test_sqlite3/test_transactions.py�setUpzTransactionTests.setUp"sP���N�N�6�1�5��	��I�I�$�$�&��	��N�N�6�1�5��	��I�I�$�$�&��	�c��	|jj�|jj�|jj�|jj�tt�y#tt�wxYw�N)r�closerrrrrrs r�tearDownzTransactionTests.tearDown+sP��	��I�I�O�O���I�I�O�O���I�I�O�O���I�I�O�O��
�6�N��F�6�N�s�A(A:�:Bc�F�|jjd�|jjd�|jjd�|jjd�|jj�}|j	t|�d�y)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_before6st���	�	���0�1��	�	���:�;��	�	���1�2��	�	���.�/��i�i� � �"������S��1�%rc��|jjd�|jjd�|jjd�|jj�}|j	t|�d�y)Nrrr rr!r&s  r�test_insert_starts_transactionz/TransactionTests.test_insert_starts_transaction>sa���	�	���0�1��	�	���:�;��	�	���.�/��i�i� � �"������S��1�%rc�n�|jjd�|jjd�|jj�|jjd�|jjd�|jj�d}|j
|d�y)Nrrzupdate test set i=6r r�)rr"r�commitr�fetchoner$r&s  r�test_update_starts_transactionz/TransactionTests.test_update_starts_transactionEs����	�	���0�1��	�	���:�;��	�	�����	�	���/�0��	�	���.�/��i�i� � �"�1�%������a� rc�z�|jjd�|jjd�|jj�|jjd�|jjd�|jj�}|j
t|�d�y)Nrrzdelete from testr ��rr"rr-rr#r$r%r&s  r�test_delete_starts_transactionz/TransactionTests.test_delete_starts_transactionNs����	�	���0�1��	�	���:�;��	�	�����	�	���,�-��	�	���.�/��i�i� � �"������S��1�%rc��|jjd�|jjd�|jj�|jjd�|jjd�|jj�}|j
t|�d�|j
|ddd�y)Nrrzreplace into test(i) values (6)r r1rr,r2r&s  r�test_replace_starts_transactionz0TransactionTests.test_replace_starts_transactionWs����	�	���0�1��	�	���:�;��	�	�����	�	���;�<��	�	���.�/��i�i� � �"������S��1�%�����Q����A�&rc���|jjd�|jjd�d|j_|j	|jjd�|j
jd�|j
j
�}|j	t|�d�d|j_|j	|jjd�|jjd�|j
jd�|j
j
�}|j	t|�d�y)Nrrr r1�DEFERRED)rr"r�isolation_levelr$rr#r%r&s  r�test_toggle_auto_commitz(TransactionTests.test_toggle_auto_commitas����	�	���0�1��	�	���:�;�$(��	�	�!�������2�2�D�9��	�	���.�/��i�i� � �"������S��1�%�$.��	�	�!�������2�2�Z�@��	�	���:�;��	�	���.�/��i�i� � �"������S��1�%rc��|jjd�|jjd�|jtj�5|j
jd�ddd�y#1swYyxYw�Nrr)rr"�assertRaisesr
�OperationalErrorrrs r�test_raise_timeoutz#TransactionTests.test_raise_timeoutqs[���	�	���0�1��	�	���:�;�
�
�
�v�6�6�
7��I�I���>�?�8�
7�
7�s�A;�;Bc�B�|jjd�|jjd�|jtj�5|j
jd�ddd�|jj�y#1swY�$xYwr;)rr"r<r
r=rrr-rs r�test_lockingzTransactionTests.test_lockingwsq��	
�	�	���0�1��	�	���:�;�
�
�
�v�6�6�
7��I�I���>�?�8�	
�	�	����8�
7�s�B�Bc��tjd�}|j�}|jd�|jd�|jd�|j	�|j|j
�gd��y)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
rrr"�rollbackr$r#)r�con�curs   r� test_rollback_cursor_consistencyz1TransactionTests.test_rollback_cursor_consistency�sb���n�n�Z�(���j�j�l�����*�+����4�5����<�=������������);�<rc�p��i��fd�}|jjd�||jdddd�|jj�||jd�j	�d}|j|d	�||jd
�j}|j|d	�|jj�||jdd�||jdd
�||jd�j	�d}|j|d�||jd�j	�d}|j|d�|jj�||jd�j	�d}|j|d�y)Nc�h��|j�}|j||�|�t|�<|Sr)rr"�id)�cx�sql�args�cu�CURSORSs    �rrOz@TransactionTests.test_multiple_cursors_and_iternext.<locals>.sql�s/�������B��J�J�s�D�!�!�G�B�s�G���Ir�create table t(t)z"insert into t values (?), (?), (?)�u1�u2�u3zselect count(*) from trrFz
delete from tzinsert into t values (?)�u4�u5rE)rr"r-rr.r$�rowcount)rrO�count�changesrRs    @r�"test_multiple_cursors_and_iternextz3TransactionTests.test_multiple_cursors_and_iternext�sw�����	�	
�	�	���-�.��D�I�I�;�T�4��N��	�	�����D�I�I�7�8�A�A�C�A�F�������"��d�i�i��1�:�:������!�$��	�	����	�D�I�I�1�4�8��D�I�I�1�4�8��D�I�I�7�8�A�A�C�A�F�������"��D�I�I�7�8�A�A�C�A�F�������"�	
�	�	�����D�I�I�7�8�A�A�C�A�F�������"rN)�__name__�
__module__�__qualname__rrr(r*r/r3r5r9r>r@rJr\�rrr
r
!s?��'�	�&�&�!�&�'�&� @��	=�%#rr
c�4�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	y)	�
RollbackTestszEbpo-44092: sqlite3 now leaves it to SQLite to resolve rollback issuesc�L�tjd�|_|jj�|_|jj�|_|j5|jj
d�|jjdgd��ddd�|jj
d�d}|jj
|�|jj�|j
j
|�|_	y#1swY�|xYw)NrBzcreate table t(c)zinsert into t values(?)))rrCrDzbegin transactionzselect c from t)
r
rrHrrrr"�executemanyrGr')r�selects  rrzRollbackTests.setUp�s����>�>�*�-����H�H�O�O�%��	��H�H�O�O�%��	�
�X�X��H�H���0�1��H�H� � �!:�<N�O��	
�	�	���-�.�"���	�	���&�!��������9�9�$�$�V�,����X�s�%:D�D#c�8�|jj�yr�rHrrs rrzRollbackTests.tearDown���������rc�h�t|j�D]\}}|j|d|��y)Nr)�	enumerater'r$)r�i�rows   r�_check_rowszRollbackTests._check_rows�s-������)�F�A�s����S��V�Q�'�*rc�(�|`|j�yr)rrmrs r�0test_no_duplicate_rows_after_rollback_del_cursorz>RollbackTests.test_no_duplicate_rows_after_rollback_del_cursor�s���I����rc�X�|jj�|j�yr)rrrmrs r�2test_no_duplicate_rows_after_rollback_close_cursorz@RollbackTests.test_no_duplicate_rows_after_rollback_close_cursor�s���	�	�������rc�Z�|jjd�|j�y)Nzselect c from t where c = 1)rr"rmrs r�/test_no_duplicate_rows_after_rollback_new_queryz=RollbackTests.test_no_duplicate_rows_after_rollback_new_query�s!���	�	���7�8����rN)
r]r^r_�__doc__rrrmrorqrsr`rrrbrb�s#��O�-��(���rrbc�$�eZdZd�Zd�Zd�Zd�Zy)�SpecialCommandTestsc�v�tjd�|_|jj�|_y�NrB)r
rrHrrIrs rrzSpecialCommandTests.setUp�s$���>�>�*�-����8�8�?�?�$��rc��|jjd�|jjd�|jjd�y)Nrrzdrop table test�rIr"rs r�test_drop_tablez#SpecialCommandTests.test_drop_table�s;�������/�0������9�:������*�+rc��|jjd�|jjd�|jjd�y)Nrrzpragma count_changes=1rzrs r�test_pragmazSpecialCommandTests.test_pragma�s;�������/�0������9�:������1�2rc�l�|jj�|jj�yr)rIrrHrs rrzSpecialCommandTests.tearDown�s�������������rN)r]r^r_rr{r}rr`rrrvrv�s��%�,�
3�
rrvc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TransactionalDDLc�8�tjd�|_yrx)r
rrHrs rrzTransactionalDDL.setUp�s���>�>�*�-��rc���|jjd�|jj�|jjd�j�}|j	|g�y)Nr�select * from test)rHr"rGr#r$)r�results  r�'test_ddl_does_not_autostart_transactionz8TransactionalDDL.test_ddl_does_not_autostart_transaction�sU��	
�����/�0����������!�!�"6�7�@�@�B�������$rc�B�|jjd�|jjd�|jj�|jtj
�5|jjd�ddd�y#1swYyxYw)Nzbegin immediaterr��rHr"rGr<r
r=rs r� test_immediate_transactional_ddlz1TransactionalDDL.test_immediate_transactional_ddl�sm��	
�����*�+������/�0�������
�
�
�v�6�6�
7��H�H���1�2�8�
7�
7���0B�Bc�B�|jjd�|jjd�|jj�|jtj
�5|jjd�ddd�y#1swYyxYw)N�beginrr�r�rs r�test_transactional_ddlz'TransactionalDDL.test_transactional_ddlsl��	
������!������/�0�������
�
�
�v�6�6�
7��H�H���1�2�8�
7�
7�r�c�8�|jj�yrrgrs rrzTransactionalDDL.tearDownrhrN)r]r^r_rr�r�r�rr`rrr�r��s��.�%�3�3�rr�c�D�eZdZdZdZd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zy)�IsolationLevelFromInitrS�insert into t values(1)c��g|_yr)�tracedrs rrzIsolationLevelFromInit.setUps	����rc����|j�j�|j�fd��|5|j�j�ddd�y#1swYyxYw)Nc�:���jj|�Sr�r��append��stmtrs �r�<lambda>z2IsolationLevelFromInit._run_test.<locals>.<lambda>s���4�;�;�+=�+=�d�+Cr)r"�CREATE�set_trace_callback�INSERT�rrNs` r�	_run_testz IsolationLevelFromInit._run_tests?���
�
�
�4�;�;��
���C�D�
��J�J�t�{�{�#��R�R�s�A�A!c��t�5}|j|�|j|jd|jdg�ddd�y#1swYyxYw�N�BEGIN �COMMIT�rr�r$r�r�r�s  r�test_isolation_level_defaultz3IsolationLevelFromInit.test_isolation_level_defaultsA��
�
�"��N�N�2�����T�[�[�8�T�[�[�(�*K�L��
�
�s�;A�Ac��td��5}|j|�|j|jd|jdg�ddd�y#1swYyxYw)N��r8r�r�r�r�s  r�test_isolation_level_beginz1IsolationLevelFromInit.test_isolation_level_begin!sC��
�R�
0�B��N�N�2�����T�[�[�8�T�[�[�(�*K�L�1�
0�
0���;A�Ac��td��5}|j|�|j|jd|jdg�ddd�y#1swYyxYw)Nr7r��BEGIN DEFERREDr�r�r�s  r�test_isolation_level_deferredz4IsolationLevelFromInit.test_isolation_level_deferred&sD��
�Z�
8�B��N�N�2�����T�[�[�+;�T�[�[�(�*S�T�9�
8�
8�r�c��td��5}|j|�|j|jd|jdg�ddd�y#1swYyxYw)N�	IMMEDIATEr��BEGIN IMMEDIATEr�r�r�s  r�test_isolation_level_immediatez5IsolationLevelFromInit.test_isolation_level_immediate+�G��
�[�
9�R��N�N�2�����T�[�[�/����h�G�
I�:�
9�
9�r�c��td��5}|j|�|j|jd|jdg�ddd�y#1swYyxYw)N�	EXCLUSIVEr��BEGIN EXCLUSIVEr�r�r�s  r�test_isolation_level_exclusivez5IsolationLevelFromInit.test_isolation_level_exclusive1r�r�c��td��5}|j|�|j|j|jg�ddd�y#1swYyxYw)Nr�r�r�s  r�test_isolation_level_nonez0IsolationLevelFromInit.test_isolation_level_none7s>��
�T�
2�b��N�N�2�����T�[�[�4�;�;�-�8�3�
2�
2�s�9A�AN)
r]r^r_r�r�rr�r�r�r�r�r�r�r`rrr�r�s9��
 �F�
&�F��$�M�
M�
U�
I�I�9rr�c�@�eZdZdZd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�IsolationLevelPostInitr�c���tjd��_�jjd�g�_�jj�fd��y)NrBrSc�:���jj|�Srr�r�s �rr�z.IsolationLevelPostInit.setUp.<locals>.<lambda>Ds������0B�0B�4�0Hr)r
rrNr"r�r�rs`rrzIsolationLevelPostInit.setUp@s>����.�.��,��������+�,�������"�"�#H�Irc�8�|jj�yr)rNrrs rrzIsolationLevelPostInit.tearDownFs�����
�
�rc���|j5|jj|j�ddd�|j|jd|jdg�y#1swY�3xYwr�)rNr"�QUERYr$r�rs rr�z3IsolationLevelPostInit.test_isolation_level_defaultIsI��
�W�W��G�G�O�O�D�J�J�'��������x����X�&F�G��W�s�&A%�%A.c��d|j_|j5|jj|j�ddd�|j	|j
d|jdg�y#1swY�3xYw)Nr�r�r��rNr8r"r�r$r�rs rr�z1IsolationLevelPostInit.test_isolation_level_beginNsU��"$�����
�W�W��G�G�O�O�D�J�J�'��������x����X�&F�G��W���&A6�6A?c��d|j_|j5|jj|j�ddd�|j	|j
d|jdg�y#1swY�3xYw)Nr7r�r�r�rs r�test_isolation_level_deferrredz5IsolationLevelPostInit.test_isolation_level_deferrredTsV��",�����
�W�W��G�G�O�O�D�J�J�'��������'7����X�&N�O��W�r�c��d|j_|j5|jj|j�ddd�|j	|j
d|jdg�y#1swY�3xYw)Nr�r�r�r�rs rr�z5IsolationLevelPostInit.test_isolation_level_immediateZ�Y��"-�����
�W�W��G�G�O�O�D�J�J�'��������+�T�Z�Z��B�	D��W�r�c��d|j_|j5|jj|j�ddd�|j	|j
d|jdg�y#1swY�3xYw)Nr�r�r�r�rs rr�z5IsolationLevelPostInit.test_isolation_level_exclusivear�r�c��d|j_|j5|jj|j�ddd�|j	|j
|jg�y#1swY�1xYwrr�rs rr�z0IsolationLevelPostInit.test_isolation_level_nonehsP��"&�����
�W�W��G�G�O�O�D�J�J�'��������t�z�z�l�3��W�s�&A4�4A=N)r]r^r_r�rrr�r�r�r�r�r�r`rrr�r�=s5��%�E�J��H�
H�P�D�D�4rr�c��eZdZdZej
Zedd��Zd�Z	d�Z
d�Zd�Zd�Z
d�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�AutocommitAttributez,Test PEP 249-compliant autocommit behaviour.c#���K�	g�|j�fd��d��|j�|�|r|jd�yy#|j�|�|r|jd�wwxYw�w)Nc�&���j|�Sr)r�)r�r�s �rr�z6AutocommitAttribute.check_stmt_trace.<locals>.<lambda>ws���v�}�}�T�/Br)r�r$)rrN�expected�resetr�s    @r�check_stmt_tracez$AutocommitAttribute.check_stmt_tracessr�����	,��F��!�!�"B�C�����V�X�.���%�%�d�+���
���V�X�.���%�%�d�+��s�A1�A�'A1�(A.�.A1c��t�5}|j|jtj�ddd�y#1swYyxYwr)rr$�
autocommitr
�LEGACY_TRANSACTION_CONTROLr�s  r�test_autocommit_defaultz+AutocommitAttribute.test_autocommit_default~s4��
�
�"����R�]�]�#�>�>�
@��
�
�s	�+?�Ac��ddtjf}|D]�}|j|��5t|��5}|j	|j
|�ddd�t�5}||_|j	|j
|�ddd�ddd���y#1swY�JxYw#1swY� xYw#1swY��xYw)NTF��mode�r�)r
r��subTestrr$r�)r�datasetr�rNs    r�test_autocommit_setgetz*AutocommitAttribute.test_autocommit_setget�s������-�-�
��
�D����4��(�$��5���$�$�R�]�]�D�9�6�$�&�"�$(�B�M��$�$�R�]�]�D�9�'�)�(��5�5��&�&��)�(�s:�
B6�B�B6�'$B*�B6�B'�#B6�*B3�/B6�6B?	c���d}dD]S}|j|��5|jt|�5tjd|��ddd�ddd��Uy#1swY�xYw#1swY�lxYw)Nz*autocommit must be True, False, or.*LEGACY)�a�r`Nr�rBr�)r��assertRaisesRegex�
ValueErrorr
r)r�msgr�s   r�test_autocommit_setget_invalidz2AutocommitAttribute.test_autocommit_setget_invalid�sZ��:��%�D����4��(��+�+�J��<��N�N�:�$�?�=�)�(�&�<�<��)�(�s"�A(�A�	A(�A%�!A(�(A1	c�4�gd�}td��5}|j|j�|j||�5|j	d�|j�|j
�ddd�ddd�y#1swY�xYw#1swYyxYw)N)�SELECT 1r��BEGIN�ROLLBACKr�Fr�r�)r�
assertTrue�in_transactionr�r"r-rG�rr�rNs   r�test_autocommit_disabledz,AutocommitAttribute.test_autocommit_disabled�sr��
����
.�"��O�O�B�-�-�.��&�&�r�8�4��
�
�:�&��	�	�����
�5�/�
.�4�4��/�
.�s"�.B�2B�1B�B	�B�Bc���dg}td��5}|j|j�|j||d��5|j	�ddd�ddd�y#1swY�xYw#1swYyxYw)Nr�Fr�)r�)rr�r�r�rr�s   r�*test_autocommit_disabled_implicit_rollbackz>AutocommitAttribute.test_autocommit_disabled_implicit_rollback�sa���<��
��
.�"��O�O�B�-�-�.��&�&�r�8�5�&�A����
�B�/�
.�A�A��/�
.�s#�0A.�A"�A.�"A+	�'A.�.A7c�L�ddg}td��5}|j|j�|j||�5|j	d�|j	d�|j|j�ddd�ddd�y#1swY�xYw#1swYyxYw)NzCREATE TABLE t(t)zINSERT INTO t VALUES(1)Tr�)r�assertFalser�r�r"r�s   r�test_autocommit_enabledz+AutocommitAttribute.test_autocommit_enabled�s���'�)B�C��
��
-�����R�.�.�/��&�&�r�8�4��
�
�.�/��
�
�4�5�� � ��!2�!2�3�5�.�
-�4�4��.�
-�s"�.B�>B�=B�B	�B�B#c	��dD]�}|j|��5td��5}t||�}|j|j�|j|g�5|�|j|j�ddd�ddd�ddd���y#1swY�xYw#1swY� xYw#1swY��xYw)N)r-rG)�opTr�)r�r�getattrr�r�r�)rr�rN�meths    r�test_autocommit_enabled_txn_ctlz3AutocommitAttribute.test_autocommit_enabled_txn_ctl�s���&�B������$�$��5��"�2�r�?�D��$�$�R�%6�%6�7��.�.�r�2�6����(�(��):�):�;�7�6�%�$�'�
7�6��6�5��%�$�s:�
B5�:B)�#B	�B)�
B5�B&
�"B)�)B2�.B5�5B>	c��dg}td��5}|j|j�|j||�5d|_|j|j�ddd�ddd�y#1swY�xYw#1swYyxYw)Nr�Fr�T)rr�r�r�r�r�r�s   r�%test_autocommit_disabled_then_enabledz9AutocommitAttribute.test_autocommit_disabled_then_enabled�sm���:��
��
.�"��O�O�B�-�-�.��&�&�r�8�4� $��
�� � ��!2�!2�3�5�/�
.�4�4��/�
.��"�.A>�#A2�!A>�2A;	�7A>�>Bc��dg}td��5}|j|j�|j||�5d|_|j|j�ddd�ddd�y#1swY�xYw#1swYyxYw)Nr�Tr�F)rr�r�r�r�r�r�s   r�%test_autocommit_enabled_then_disabledz9AutocommitAttribute.test_autocommit_enabled_then_disabled�sm���9��
��
-�����R�.�.�/��&�&�r�8�4� %��
����� 1� 1�2�5�.�
-�4�4��.�
-�r�c�6�dg}td��5}|j|j�|j||�5|j	d�d|_|j
|j�ddd�ddd�y#1swY�xYw#1swYyxYw)Nr�Tr�F)rr�r�r�r"r�r�r�s   r�&test_autocommit_explicit_then_disabledz:AutocommitAttribute.test_autocommit_explicit_then_disabled�s{��$�%��
��
-�����R�.�.�/��&�&�r�8�4��
�
�+�,� %��
����� 1� 1�2�5�.�
-�4�4��.�
-�s"�.B�4B�2B�B	�B�Bc�.�td��5}|j|g�5|5|j|j�ddd�|j|j�ddd�ddd�y#1swY�5xYw#1swY�xYw#1swYyxYw)NTr�)rr�r�r�r�s  r�test_autocommit_enabled_ctx_mgrz3AutocommitAttribute.test_autocommit_enabled_ctx_mgr�ss��
��
-���&�&�r�2�.���$�$�R�%6�%6�7��� � ��!2�!2�3�/�.�
-��R��/�.��.�
-�s8�B�A?�A3�#A?�"B�3A<�8A?�?B	�B�Bc�6�ddg}td��5}|j||�5|5|j|j�ddd�|j|j�ddd�ddd�y#1swY�5xYw#1swY�xYw#1swYyxYw)Nr�r�Fr�)rr�r�r�r�s   r� test_autocommit_disabled_ctx_mgrz4AutocommitAttribute.test_autocommit_disabled_ctx_mgr�sw���g�&��
��
.�"��&�&�r�8�4���O�O�B�$5�$5�6������ 1� 1�2�5�/�
.��R��5�4��/�
.�s9�B�B�A7�#B�&B�7B�<B�B	�B�Bc���gd�}t|j��5}|jd�|j||�5|5|j	|j
�|jd�|j
|j
�ddd�|j	|j
�ddd�ddd�y#1swY�5xYw#1swY�xYw#1swYyxYw)N)r��INSERT INTO T VALUES(1)r�r�rSr�)r�legacyr"r�r�r�r�r�s   r�test_autocommit_compat_ctx_mgrz2AutocommitAttribute.test_autocommit_compat_ctx_mgr�s���B��
����
4���J�J�*�+��&�&�r�8�4���$�$�R�%6�%6�7��J�J�8�9��O�O�B�$5�$5�6��� � ��!2�!2�3�5�5�
4��R��5�4��5�
4�s;�$C�C
�AB>�
#C
�-C�>C�C
�
C	�C�Cc�L�ddg}td��5}|j||�5|j|j�|j	d�|jd�|j
|j�ddd�ddd�y#1swY�xYw#1swYyxYw)Nr�r�Tr�)rr�r�r�r"�
executescriptr�r�s   r�%test_autocommit_enabled_executescriptz9AutocommitAttribute.test_autocommit_enabled_executescript�s����Z�(��
��
-���&�&�r�8�4�� � ��!2�!2�3��
�
�7�#�� � ��,����� 1� 1�2�	5�.�
-�4�4��.�
-�s#�B�AB�=B�B	�B�B#c�(�dg}td��5}|j||�5|j|j�|j	d�|j|j�ddd�ddd�y#1swY�xYw#1swYyxYw)Nr�Fr�)rr�r�r�rr�s   r�&test_autocommit_disabled_executescriptz:AutocommitAttribute.test_autocommit_disabled_executescript�sr���<��
��
.�"��&�&�r�8�4����� 1� 1�2�� � ��,����� 1� 1�2�5�/�
.�4�4��/�
.�s#�B�AA<�+B�<B	�B�Bc�`�gd�}t|j��5}|j||�5|j|j�|jd�|j
d�|j|j�ddd�ddd�y#1swY�xYw#1swYyxYw)N)r�r�r�r�r�r�)rrr�r�r�r"rr�s   r�$test_autocommit_compat_executescriptz8AutocommitAttribute.test_autocommit_compat_executescripts���2��
����
4���&�&�r�8�4�� � ��!2�!2�3��
�
�7�#�� � ��,�� � ��!2�!2�3�	5�5�
4�4�4��5�
4�s#�B$�AB�B$�B!	�B$�$B-c�$�d}td|d��y)Nz�if 1:
            import sqlite3
            cx = sqlite3.connect(":memory:", autocommit=False)
            cx.set_trace_callback(print)
        z-czutf-8)�PYTHONIOENCODINGr)r�codes  r�*test_autocommit_disabled_implicit_shutdownz>AutocommitAttribute.test_autocommit_disabled_implicit_shutdowns����
	��t�g�>rN)T)r]r^r_rtr
r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr`rrr�r�osy��6�
�
.�
.�F��,��,�@�
:�@�
��4�<�4�3�3�4�3�	4�3�3�4�?rr��__main__)�unittest�sqlite3r
�
contextlibr�test.support.os_helperrr�test.support.script_helperr�test.test_sqlite3.test_dbapir�TestCaser
rbrvr�r�r�r�r]�mainr`rr�<module>rs���.��%�1�7�8�P#�x�(�(�P#�f!�H�%�%�!�J�(�+�+��(�x�(�(��D+9�X�.�.�+9�\/4�X�.�.�/4�dh?�(�+�+�h?�V�z���H�M�M�O�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists