U e5d �@s dd�ZdS)c cs|��}dVd}|�|�}|��D]�\}}}|dkr>dVn*|dkrNdVn|�d�r\q$n d�|�V|�d d �}|�d �|��}d d �|��D�} d�|d�dd�| D���}|�|�} | D]} d�| d�Vq�q$d}|�|�}|��D]\} }}d�|�Vq�dVdS)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";Z sqlite_stat1zANALYZE "sqlite_master";Zsqlite_z{0};�"�""zPRAGMA table_info("{0}")cSsg|]}t|d��qS)�)�str)�.0Z table_info�r�$/usr/lib64/python3.8/sqlite3/dump.py� 3sz_iterdump..z2SELECT 'INSERT INTO "{0}" VALUES({1})' FROM "{0}";�,css |]}d�|�dd��VqdS)z'||quote("{0}")||'rrN)�format�replace)r�colrrr� 6sz_iterdump..�z� SELECT "name", "type", "sql" FROM "sqlite_master" WHERE "sql" NOT NULL AND "type" IN ('index', 'trigger', 'view') zCOMMIT;N)ZcursorZexecuteZfetchall� startswithr r �join) Z connectionZcu�qZ schema_resZ table_name�typeZsqlZtable_name_ident�resZ column_namesZ query_res�row�namerrr� _iterdump s6     �  rN)rrrrr� �