Changeset 411

Show
Ignore:
Timestamp:
07/09/09 13:46:30 (11 years ago)
Author:
kovell
Message:

Upgrade uses smaller upgrade steps if installation fails.

Location:
dev
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • dev/common/includes/globals.php

    r410 r411  
    77else 
    88{ 
    9         $svn_rev = '410'; 
     9        $svn_rev = '411'; 
    1010} 
    1111define('SVN_REV', $svn_rev); 
  • dev/upgrade.php

    r404 r411  
    11<?php 
     2 
     3if(function_exists("set_time_limit")) 
     4        set_time_limit(0); 
     5 
    26define('DB_HALTONERROR', true); 
    37 
     
    1014session::init(); 
    1115$url=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; 
     16if($_SERVER['QUERY_STRING'] != "") $url .= '?'.$_SERVER['QUERY_STRING']; 
    1217 
    1318 
     
    4550// Moved to index.php 
    4651define(LASTEST_DB_UPDATE,"010"); 
     52if (CURRENT_DB_UPDATE >= LASTEST_DB_UPDATE ) 
     53{ 
     54        echo "<html><head>"; 
     55        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
     56        echo"</head><body>Board is up to date.<br><a href='".config::get('cfg_kbhost')."'>Return to your board</a></body>"; 
     57        die(); 
     58} 
    4759updateDB(); 
    4860touch ('install/install.lock'); 
    4961echo "<html><head>"; 
    50 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     62echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    5163echo"</head><body>Upgrade complete.<br><a href='".config::get('cfg_kbhost')."'>Return to your board</a></body>"; 
    5264die(); 
     
    220232function update007() 
    221233{ 
     234        global $url; 
    222235        //Checking if this Update already done 
    223236        if (CURRENT_DB_UPDATE < "007" ) 
     
    256269                        config::set('007updatestatus',1); 
    257270                        echo "<html><head>"; 
    258                         echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     271                        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    259272                        echo"</head><body>7. External ID columns added</body>"; 
    260273                        die(); 
     
    296309                                config::set('007updatestatus',3); 
    297310                                echo "<html><head>"; 
    298                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     311                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    299312                                echo"</head><body>7. Kill values: Ship prices calculated</body>"; 
    300313                                die(); 
     
    313326                                config::set('007updatestatus',4); 
    314327                                echo "<html><head>"; 
    315                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     328                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    316329                                echo"</head><body>7. Kill values: Destroyed item prices calculated</body>"; 
    317330                                die(); 
     
    335348                                config::set('007updatestatus',5); 
    336349                                echo "<html><head>"; 
    337                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     350                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    338351                                echo"</head><body>7. Kill values: Dropped item prices $action</body>"; 
    339352                                die(); 
     
    347360                                        config::set('007updatestatus',7); 
    348361                                        echo "<html><head>"; 
    349                                         echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     362                                        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    350363                                        echo"</head><body>7. Kill values: ISK column created</body>"; 
    351364                                        die(); 
     
    353366                                config::set('007updatestatus',7); 
    354367                                echo "<html><head>"; 
    355                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     368                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    356369                                echo"</head><body>7. Kill values: ISK column already exists.</body>"; 
    357370                                die(); 
     
    359372                        if(config::get('007updatestatus') <8) 
    360373                        { 
    361                                 $sql = 'UPDATE kb3_kills 
    362                                         natural join tmp_price_ship 
    363                                         natural left join tmp_price_destroyed '; 
    364                                 if(config::get(kd_droptototal)) $sql .= ' natural left join tmp_price_dropped '; 
    365                                 $sql .= 'SET kb3_kills.kll_isk_loss = tmp_price_ship.value + ifnull(tmp_price_destroyed.value,0) '; 
    366                                 if(config::get(kd_droptototal)) $sql .= ' + ifnull(tmp_price_dropped.value,0) '; 
    367                                 $qry->execute ($sql); 
     374                                // default step size 
     375                                $step = 8192; 
     376                                if(!config::get('007.8status')) 
     377                                { 
     378                                        config::set('007.8status', 0); 
     379                                        config::set('007.8step', $step); 
     380                                } 
     381                                // If we had to restart then halve the step size up to 4 times. 
     382                                if(config::get('007.8status') > 0 && config::get('007.8step') >= $step / 2^4) 
     383                                        config::set('007.8step', config::get('007.8step') / 2); 
     384                                $qry->execute("SELECT max(kll_id) as max FROM kb3_kills"); 
     385                                $row=$qry->getRow(); 
     386                                $count=$row['max']; 
     387                                while(config::get('007.8status') < $count) 
     388                                { 
     389                                        $sql = 'UPDATE kb3_kills 
     390                                                natural join tmp_price_ship 
     391                                                natural left join tmp_price_destroyed '; 
     392                                        if(config::get(kd_droptototal)) $sql .= ' natural left join tmp_price_dropped '; 
     393                                        $sql .= 'SET kb3_kills.kll_isk_loss = tmp_price_ship.value + ifnull(tmp_price_destroyed.value,0) '; 
     394                                        if(config::get(kd_droptototal)) $sql .= ' + ifnull(tmp_price_dropped.value,0) '; 
     395                                        $sql .= ' WHERE kll_id >= '.config::get('007.8status').' AND kll_id < '. 
     396                                                (intval(config::get('007.8status')) + intval(config::get('007.8step'))); 
     397                                        $qry->execute ($sql); 
     398                                        config::set('007.8status',(intval(config::get('007.8status')) + intval(config::get('007.8step'))) ); 
     399                                } 
     400                                config::del('007.8status'); 
     401                                config::del('007.8step'); 
    368402                                $qry->execute("UNLOCK TABLES"); 
    369403                                $qry->execute('DROP TABLE tmp_price_ship'); 
     
    372406                                config::set('007updatestatus',8); 
    373407                                echo "<html><head>"; 
    374                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     408                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    375409                                echo"</head><body>7. Kill values: Totals updated</body>"; 
    376410                                die(); 
     
    383417                        config::set('007updatestatus',9); 
    384418                        echo "<html><head>"; 
    385                         echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     419                        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    386420                        echo"</head><body>7. kll_fb_crp_id column dropped</body>"; 
    387421                        die(); 
     
    393427                        config::set('007updatestatus',10); 
    394428                        echo "<html><head>"; 
    395                         echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     429                        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    396430                        echo"</head><body>7. kll_fb_all_id column dropped</body>"; 
    397431                        die(); 
     
    408442                        config::set('007updatestatus',11); 
    409443                        echo "<html><head>"; 
    410                         echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     444                        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    411445                        echo"</head><body>7. Unused crp and plt columns dropped</body>"; 
    412446                        die(); 
     
    429463                        config::set('007updatestatus',12); 
    430464                        echo "<html><head>"; 
    431                         echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     465                        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    432466                        echo"</head><body>7. kb3_inv_detail ind_crp_id index added</body>"; 
    433467                        die(); 
     
    439473                        config::set('007updatestatus',13); 
    440474                        echo "<html><head>"; 
    441                         echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     475                        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    442476                        echo"</head><body>7. kb3_inv_detail ind_all_id index added</body>"; 
    443477                        die(); 
     
    470504                        config::set('007updatestatus',14); 
    471505                        echo "<html><head>"; 
    472                         echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     506                        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    473507                        echo"</head><body>7. API tables added</body>"; 
    474508                        die(); 
     
    490524                        config::set('007updatestatus',15); 
    491525                        echo "<html><head>"; 
    492                         echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     526                        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    493527                        echo"</head><body>7. Subsystem slots added</body>"; 
    494528                        die(); 
     
    507541                        killCache(); 
    508542                        config::set("DBUpdate","007"); 
     543                        $qry->execute("UPDATE kb3_config SET cfg_value = '007' WHERE cfg_key = 'DBUpdate'"); 
    509544                        config::del('007updatestatus'); 
    510545                        echo "<html><head>"; 
    511                         echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     546                        echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    512547                        echo"</head><body>7. Empty tables truncated.<br>Update 007 completed.</body>"; 
    513548                        die(); 
     
    519554function update008() 
    520555{ 
     556        global $url; 
    521557        //Checking if this Update already done 
    522558        if (CURRENT_DB_UPDATE < "008" ) 
     
    551587                                $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_kll_id`, `ind_order` ) "); 
    552588                                echo "<html><head>"; 
    553                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     589                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    554590                                echo"</head><body>8. kb3_inv_detail index id_order added</body>"; 
    555591                                die(); 
     
    559595                                $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_crp_id` ) "); 
    560596                                echo "<html><head>"; 
    561                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     597                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    562598                                echo"</head><body>8. kb3_inv_detail index id_order added</body>"; 
    563599                                die(); 
     
    567603                                $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_all_id` ) "); 
    568604                                echo "<html><head>"; 
    569                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     605                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    570606                                echo"</head><body>8. kb3_inv_detail index id_order added</body>"; 
    571607                                die(); 
     
    575611                                $qry->execute("ALTER TABLE `kb3_inv_detail` ADD INDEX ( `ind_plt_id` ) "); 
    576612                                echo "<html><head>"; 
    577                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     613                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    578614                                echo"</head><body>8. kb3_inv_detail index id_order added</body>"; 
    579615                                die(); 
     
    598634                                config::set('008updatestatus', 2); 
    599635                                echo "<html><head>"; 
    600                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     636                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    601637                                echo"</head><body>8. Unique corp names: updated kb3_inv_detail</body>"; 
    602638                                die(); 
     
    607643                                config::set('008updatestatus', 3); 
    608644                                echo "<html><head>"; 
    609                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     645                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    610646                                echo"</head><body>8. Unique corp names: updated kb3_pilots</body>"; 
    611647                                die(); 
     
    616652                                config::set('008updatestatus', 4); 
    617653                                echo "<html><head>"; 
    618                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     654                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    619655                                echo"</head><body>8. Unique corp names: updated kb3_kills</body>"; 
    620656                                die(); 
     
    625661                                config::set('008updatestatus', 6); 
    626662                                echo "<html><head>"; 
    627                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     663                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    628664                                echo"</head><body>8. Unique corp names: updated kb3_corps</body>"; 
    629665                                die(); 
     
    650686                                config::set('008updatestatus', 7); 
    651687                                echo "<html><head>"; 
    652                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     688                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    653689                                echo"</head><body>8. Unique corp names: unique index added to kb3_corps</body>"; 
    654690                                die(); 
     
    671707                                config::set('008updatestatus', 8); 
    672708                                echo "<html><head>"; 
    673                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     709                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    674710                                echo"</head><body>8. Unique all names: updated kb3_inv_detail</body>"; 
    675711                                die(); 
     
    680716                                config::set('008updatestatus', 9); 
    681717                                echo "<html><head>"; 
    682                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     718                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    683719                                echo"</head><body>8. Unique all names: updated kb3_corps</body>"; 
    684720                                die(); 
     
    689725                                config::set('008updatestatus', 10); 
    690726                                echo "<html><head>"; 
    691                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     727                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    692728                                echo"</head><body>8. Unique all names: updated kb3_kills</body>"; 
    693729                                die(); 
     
    699735                                config::set('008updatestatus', 12); 
    700736                                echo "<html><head>"; 
    701                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     737                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    702738                                echo"</head><body>8. Unique all names: updated kb3_alliances</body>"; 
    703739                                die(); 
     
    722758                                config::set('008updatestatus', 13); 
    723759                                echo "<html><head>"; 
    724                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     760                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    725761                                echo"</head><body>8. Unique all names: unique index applied to kb3_alliances</body>"; 
    726762                                die(); 
     
    744780                                config::set('008updatestatus', 14); 
    745781                                echo "<html><head>"; 
    746                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     782                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    747783                                echo"</head><body>8. Unique plt names: updated kb3_inv_detail</body>"; 
    748784                                die(); 
     
    753789                                config::set('008updatestatus', 15); 
    754790                                echo "<html><head>"; 
    755                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     791                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    756792                                echo"</head><body>8. Unique plt names: updated kb3_kills victim</body>"; 
    757793                                die(); 
     
    762798                                config::set('008updatestatus', 16); 
    763799                                echo "<html><head>"; 
    764                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     800                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    765801                                echo"</head><body>8. Unique plt names: updated kb3_kills killer</body>"; 
    766802                                die(); 
     
    771807                                config::set('008updatestatus', 17); 
    772808                                echo "<html><head>"; 
    773                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
     809                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
    774810                                echo"</head><body>8. Unique plt names: updated kb3_pilots</body>"; 
    775811                                die(); 
     
    794830                                config::set('008updatestatus', 18); 
    795831                                echo "<html><head>"; 
    796                                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
    797                                 echo"</head><body>8. Unique plt names: unique index applied to kb3_pilots.<br>Update 8 applied.</body>"; 
     832                                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
     833                                echo"</head><body>8. Unique plt names: unique index applied to kb3_pilots.</body>"; 
    798834                                die(); 
    799835                        } 
     
    804840                killCache(); 
    805841                config::set("DBUpdate", "008"); 
     842                $qry->execute("UPDATE kb3_config SET cfg_value = '008' WHERE cfg_key = 'DBUpdate'"); 
    806843                config::del("008updatestatus"); 
     844                echo "<html><head>"; 
     845                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
     846                echo"</head><body>Update 008 completed.</body>"; 
     847                die(); 
    807848        } 
    808849} 
     
    811852function update009() 
    812853{ 
     854        global $url; 
    813855        //Checking if this Update already done 
    814856        if (CURRENT_DB_UPDATE < "009" ) 
     
    836878                $qry->execute($sql); 
    837879                config::set("DBUpdate", "009"); 
     880                $qry->execute("UPDATE kb3_config SET cfg_value = '009' WHERE cfg_key = 'DBUpdate'"); 
    838881                echo "<html><head>"; 
    839                 echo "<meta http-equiv='refresh' content='5;url=http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']."' />"; 
    840                 echo"</head><body>9. Update 9 applied.</body>"; 
     882                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
     883                echo"</head><body>Update 009 completed.</body>"; 
    841884                die(); 
    842885        } 
     
    846889function update010() 
    847890{ 
     891        global $url; 
    848892        //Checking if this Update already done 
    849893        if (CURRENT_DB_UPDATE < "010" ) 
     
    862906 
    863907                config::set("DBUpdate", "010"); 
     908                echo "<html><head>"; 
     909                echo "<meta http-equiv='refresh' content='5;url=http://".$url."' >"; 
     910                echo"</head><body>Update 010 completed.</body>"; 
     911                die(); 
    864912        } 
    865913}