o
    JAfÜ  ć                   @   s   d d Z dS )c                 c   sJ   |   ” }dV  d}| |”}g }| ” D ]h\}}}|dkr2| d” ” }dg}|dd |D 7 }q|dkr:d	V  n| d
”r@qd |”V  | dd”}	| d |	””}
dd |
 ” D }d |	d dd |D ””}| |”}|D ]
}d |d ”V  qrqd}| |”}| ” D ]\}}}d |”V  q|D ]}d |”V  qdV  dS )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().
    zBEGIN TRANSACTION;zŖ
        SELECT "name", "type", "sql"
        FROM "sqlite_master"
            WHERE "sql" NOT NULL AND
            "type" == 'table'
            ORDER BY "name"
        Śsqlite_sequencez SELECT * FROM "sqlite_sequence";zDELETE FROM "sqlite_sequence"c                 S   s&   g | ]}d |d  d|d  dqS )z&INSERT INTO "sqlite_sequence" VALUES('é    z',é   ś)© )Ś.0Śrowr   r   ś#/usr/lib/python3.10/sqlite3/dump.pyŚ
<listcomp>$   s    ’’z_iterdump.<locals>.<listcomp>Zsqlite_stat1zANALYZE "sqlite_master";Zsqlite_z{0};ś"ś""zPRAGMA table_info("{0}")c                 S   s   g | ]}t |d  qS )r   )Śstr)r   Z
table_infor   r   r   r	   :   s    z2SELECT 'INSERT INTO "{0}" VALUES({1})' FROM "{0}";ś,c                 s   s"    | ]}d   | dd””V  qdS )z'||quote("{0}")||'r
   r   N)ŚformatŚreplace)r   Ścolr   r   r   Ś	<genexpr>=   s     z_iterdump.<locals>.<genexpr>r   z£
        SELECT "name", "type", "sql"
        FROM "sqlite_master"
            WHERE "sql" NOT NULL AND
            "type" IN ('index', 'trigger', 'view')
        zCOMMIT;N)ZcursorZexecuteZfetchallŚ
startswithr   r   Śjoin)Ś
connectionZcuŚqZ
schema_resr   Z
table_nameŚtypeZsqlZrowsZtable_name_identŚresZcolumn_namesZ	query_resr   Śnamer   r   r   Ś	_iterdump
   sJ   	
ž
	ž
’

r   N)r   r   r   r   r   Ś<module>   s   	