B � f �@s dd�ZdS)c cs|��}dVd}|�|�}x�|��D]�\}}}|dkr@dVn*|dkrPdVn|�d�r^q&n d�|�V|�d d �}|�d �|��}d d �|��D�} d�|d�dd�| D���}|�|�} x| D]} d�| d�Vq�Wq&Wd}|�|�}x"|��D]\} }}d�|�Vq�WdVdS)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};�"z""zPRAGMA table_info("{0}")cSsg|]}t|d��qS)�)�str)�.0Z table_info�r�1/opt/alt/python37/lib64/python3.7/sqlite3/dump.py� 3sz_iterdump..z2SELECT 'INSERT INTO "{0}" VALUES({1})' FROM "{0}";�,css |]}d�|�dd��VqdS)z'||quote("{0}")||'rz""N)�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_identZresZ column_namesZ query_res�row�namerrr� _iterdump s4         rN)rrrrr� �