Index: store.install =================================================================== RCS file: /cvs/drupal/contributions/modules/ecommerce/store/store.install,v retrieving revision 1.20 diff -u -F^f -r1.20 store.install --- store.install 18 May 2006 12:42:24 -0000 1.20 +++ store.install 4 Jun 2006 01:28:38 -0000 @@ -416,7 +416,7 @@ function store_update_21() { 'state', 'country', ); - if (!isset($_SESSION['store_update_18_txnid'])) { + if (!isset($_SESSION['store_update_21_txnid'])) { // Create New Table switch($GLOBALS['db_type']) { case 'pgsql': @@ -437,15 +437,19 @@ function store_update_21() { ) TYPE=MyISAM /*!40100 DEFAULT CHARACTER SET utf8 */;"); } - $_SESSION['store_update_18_txnid'] = 0; - $_SESSION['store_update_18_max'] = db_query('SELECT MAX(txnid) FROM {ec_transaction}'); + $_SESSION['store_update_21_txnid'] = 0; + $_SESSION['store_update_21_max'] = db_result(db_query('SELECT MAX(txnid) FROM {ec_transaction}')); // Return query info $ret['#finished'] = 0; + if($_SESSION['store_update_21_max'] == 0) { + $ret['#finished'] = 1; // prevent divide by zero later + } + return $ret; } // Do work - $result = db_query_range('SELECT * FROM {ec_transaction} ORDER BY txnid ASC', $_SESSION['store_update_18_txnid'], 20); + $result = db_query_range('SELECT * FROM {ec_transaction} ORDER BY txnid ASC', $_SESSION['store_update_21_txnid'], 20); while ($txn = db_fetch_object($result)) { // Merge in billing and shipping addresses foreach (array('billing', 'shipping') as $address_type) { @@ -465,14 +469,14 @@ function store_update_21() { } db_query('INSERT INTO {ec_transaction_address} ('. implode(', ', $k) .') VALUES('. implode(', ', $s) .')', $v); $k = $v = $s = array(); - $_SESSION['store_update_18_txnid'] = $txn->txnid; + $_SESSION['store_update_21_txnid'] = $txn->txnid; } } // See if we are done. - if ($_SESSION['store_update_18_txnid'] < $_SESSION['store_update_18_max']) { + if ($_SESSION['store_update_21_txnid'] < $_SESSION['store_update_21_max']) { // Not done yet. Return the progress. - return array('#finished' => $_SESSION['store_update_18_txnid'] / $_SESSION['store_update_18_max']); + return array('#finished' => $_SESSION['store_update_21_txnid'] / $_SESSION['store_update_21_max']); } else { // Done. Clean up and indicate we're finished. @@ -493,8 +497,8 @@ function store_update_21() { $ret[] = update_sql("ALTER TABLE {ec_transaction} DROP billing_zip"); $ret[] = update_sql("ALTER TABLE {ec_transaction} DROP billing_country"); $ret['#finished'] = 1; - unset($_SESSION['store_update_18_txnid']); - unset($_SESSION['store_update_18_max']); + unset($_SESSION['store_update_21_txnid']); + unset($_SESSION['store_update_21_max']); return $ret; } }