File: //lib64/python3.9/sqlite3/__pycache__/dump.cpython-39.pyc
a
    �DOg	  �                   @   s   d d� Z dS )c           
      c   s  | � � }dV  d}|�|�}|�� D ]�\}}}|dkr>dV  n*|dkrNdV  n|�d�r\q$nd�|�V  |�d	d
�}|�d�|��}dd
� |�� D �}	d�|d�dd� |	D ���}|�|�}
|
D ]}d�|d �V  q�q$d}|�|�}|�� D ]\}}}d�|�V  q�dV  dS )a/  
    Returns an iterator to the dump of the database in an SQL text format.
    Used to produce an SQL dump of the database.  Useful to save an in-memory
    database for later restoration.  This function should not be called
    directly but instead called from the Connection method, iterdump().
    zBEGIN TRANSACTION;z�
        SELECT "name", "type", "sql"
        FROM "sqlite_master"
            WHERE "sql" NOT NULL AND
            "type" == 'table'
            ORDER BY "name"
        Zsqlite_sequencezDELETE FROM "sqlite_sequence";Zsqlite_stat1zANALYZE "sqlite_master";Zsqlite_z{0};�"�""zPRAGMA table_info("{0}")c                 S   s   g | ]}t |d  ��qS )�   )�str)�.0Z
table_info� r   �$/usr/lib64/python3.9/sqlite3/dump.py�
<listcomp>3   �    z_iterdump.<locals>.<listcomp>z2SELECT 'INSERT INTO "{0}" VALUES({1})' FROM "{0}";�,c                 s   s    | ]}d � |�dd��V  qdS )z'||quote("{0}")||'r   r   N)�format�replace)r   �colr   r   r   �	<genexpr>6   r	   z_iterdump.<locals>.<genexpr>�    z�
        SELECT "name", "type", "sql"
        FROM "sqlite_master"
            WHERE "sql" NOT NULL AND
            "type" IN ('index', 'trigger', 'view')
        zCOMMIT;N)ZcursorZexecuteZfetchall�
startswithr   r   �join)
�
connectionZcu�qZ
schema_resZ
table_name�typeZsqlZtable_name_ident�resZcolumn_namesZ	query_res�row�namer   r   r   �	_iterdump
   s6    	
	�
r   N)r   r   r   r   r   �<module>
   r