o k` @s$ddlmZmZmZmZddZdS))TableColumnIndexDatabaseManagerc Cs~|d|d|d|dtdddtdtd d d td d d td gtd gftd ddtdtd d d tdtdftdddtdd d tdd d tdtdtdtdtdgtdgfg}t|\}}|D]}||D]}||q}qv|d|j}|d|dd Wdn1swY|d|d|d|ddS) Nz;CREATE TEMPORARY TABLE session_old AS SELECT * FROM sessionzDROP TABLE sessionzGCREATE TEMPORARY TABLE ticket_change_old AS SELECT * FROM ticket_changezDROP TABLE ticket_changesession)sid authenticated)keyrrint)type last_visitsession_attribute)rrnamervalue ticket_change)tickettimefieldrrauthorroldvaluenewvaluez4CREATE INDEX session_old_sid_idx ON session_old(sid)a, INSERT INTO session (sid, last_visit, authenticated) SELECT distinct s.sid,COALESCE(%s,0),s.authenticated FROM session_old AS s LEFT JOIN session_old AS s2 ON (s.sid=s2.sid AND s2.var_name='last_visit') WHERE s.sid IS NOT NULL z s2.var_valuez INSERT INTO session_attribute (sid, authenticated, name, value) SELECT s.sid, s.authenticated, s.var_name, s.var_value FROM session_old s WHERE s.var_name <> 'last_visit' AND s.sid IS NOT NULL z INSERT INTO ticket_change (ticket, time, author, field, oldvalue, newvalue) SELECT ticket, time, author, field, oldvalue, newvalue FROM ticket_change_old zDROP TABLE session_oldzDROP TABLE ticket_change_old) executerrrr get_connectorto_sqldb_querycast) envvercursortables db_connector_tablestmtdbr%4/usr/lib/python3/dist-packages/trac/upgrades/db18.py do_upgrades\                  r'N)trac.dbrrrrr'r%r%r%r&s