o k`@s,ddlmZddlmZmZmZddZdS))DatabaseManager)ColumnIndexTablec Cst|\}}tdddtdddtdddtd d d td d d tdddtdddtdtdtgdtgdf }|j*|d|d||D]}||qQ|d|dWddS1snwYdS)zAdd an auto-increment primary key to `node_change` table and indices (repos, rev, path) and (repos, path, rev) (#3676). node_changeid)keyT)auto_incrementreposint)typerev()key_sizepath node_type)size change_type base_pathbase_rev)r r r)r rr z]CREATE TEMPORARY TABLE node_change_old AS SELECT * FROM node_changezDROP TABLE node_changez INSERT INTO node_change (repos,rev,path,node_type,change_type,base_path,base_rev) SELECT repos,rev,path,node_type,change_type,base_path,base_rev FROM node_change_oldzDROP TABLE node_change_oldN)r get_connectorrrrdb_transactionexecuteto_sql)envvercursor db_connector_tablestmtr#4/usr/lib/python3/dist-packages/trac/upgrades/db38.py do_upgrades,              "r%N) trac.db.apirtrac.db.schemarrrr%r#r#r#r$s