--- app/code/core/Mage/Sales/Model/Mysql4/Order/Address/Collection.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Address/Collection.php	2010-06-10 22:31:11.000000000 +0300
@@ -20,30 +20,21 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
 /**
- * Order address collection
+ * Flat sales order payment collection
  *
- * @category   Mage
- * @package    Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-
-class Mage_Sales_Model_Mysql4_Order_Address_Collection extends Mage_Eav_Model_Entity_Collection_Abstract
+class Mage_Sales_Model_Mysql4_Order_Address_Collection extends Mage_Sales_Model_Mysql4_Order_Collection_Abstract
 {
+    protected $_eventPrefix = 'sales_order_address_collection';
+    protected $_eventObject = 'order_address_collection';
 
     protected function _construct()
     {
         $this->_init('sales/order_address');
     }
-
-    public function setOrderFilter($orderId)
-    {
-        $this->addAttributeToFilter('parent_id', $orderId);
-        return $this;
-    }
-
 }
--- app/code/core/Mage/Sales/Model/Mysql4/Order/Creditmemo/Comment/Collection.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Creditmemo/Comment/Collection.php	2010-06-10 22:31:11.000000000 +0300
@@ -20,34 +20,45 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 /**
- * Creditmemo comments collection
+ * Flat sales order creditmemo comments collection
  *
- * @category   Mage
- * @package    Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-class Mage_Sales_Model_Mysql4_Order_Creditmemo_Comment_Collection extends Mage_Eav_Model_Entity_Collection_Abstract
+class Mage_Sales_Model_Mysql4_Order_Creditmemo_Comment_Collection extends Mage_Sales_Model_Mysql4_Collection_Abstract
 {
+    protected $_eventPrefix = 'sales_order_creditmemo_comment_collection';
+    protected $_eventObject = 'order_creditmemo_comment_collection';
+
     protected function _construct()
     {
         $this->_init('sales/order_creditmemo_comment');
     }
 
+    /**
+     * Set creditmemo filter
+     *
+     * @param int $creditmemoId
+     * @return Mage_Sales_Model_Mysql4_Order_Creditmemo_Comment_Collection
+     */
     public function setCreditmemoFilter($creditmemoId)
     {
-        $this->addAttributeToFilter('parent_id', $creditmemoId);
+        $this->addFieldToFilter('parent_id', $creditmemoId);
         return $this;
     }
 
-    public function setCreatedAtOrder($order='desc')
+    /**
+     * Set created_at sort order
+     *
+     * @param string $direction
+     * @return Mage_Sales_Model_Mysql4_Order_Creditmemo_Comment_Collection
+     */
+    public function setCreatedAtOrder($direction='desc')
     {
-        $this->setOrder('created_at', $order);
+        $this->setOrder('created_at', $direction);
         return $this;
     }
 }
--- app/code/core/Mage/Sales/Model/Mysql4/Order/Creditmemo/Item/Collection.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Creditmemo/Item/Collection.php	2010-06-10 22:31:11.000000000 +0300
@@ -20,29 +20,33 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 /**
- * Quote creditmemo items collection
+ * Flat sales order creditmemo items collection
  *
- * @category   Mage
- * @package    Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-
-class Mage_Sales_Model_Mysql4_Order_Creditmemo_Item_Collection extends Mage_Eav_Model_Entity_Collection_Abstract
+class Mage_Sales_Model_Mysql4_Order_Creditmemo_Item_Collection extends Mage_Sales_Model_Mysql4_Collection_Abstract
 {
+    protected $_eventPrefix = 'sales_order_creditmemo_item_collection';
+    protected $_eventObject = 'order_creditmemo_item_collection';
+
     protected function _construct()
     {
         $this->_init('sales/order_creditmemo_item');
     }
 
+    /**
+     * Set creditmemo filter
+     *
+     * @param int $creditmemoId
+     * @return Mage_Sales_Model_Mysql4_Order_Creditmemo_Item_Collection
+     */
     public function setCreditmemoFilter($creditmemoId)
     {
-        $this->addAttributeToFilter('parent_id', $creditmemoId);
+        $this->addFieldToFilter('parent_id', $creditmemoId);
         return $this;
     }
 }
--- app/code/core/Mage/Sales/Model/Mysql4/Order/Invoice/Comment/Collection.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Invoice/Comment/Collection.php	2010-06-10 22:31:11.000000000 +0300
@@ -20,34 +20,45 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 /**
- * Invoice comments collection
+ * Flat sales order invoice comment collection
  *
- * @category   Mage
- * @package    Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-class Mage_Sales_Model_Mysql4_Order_Invoice_Comment_Collection extends Mage_Eav_Model_Entity_Collection_Abstract
+class Mage_Sales_Model_Mysql4_Order_Invoice_Comment_Collection extends Mage_Sales_Model_Mysql4_Collection_Abstract
 {
+    protected $_eventPrefix = 'sales_order_invoice_comment_collection';
+    protected $_eventObject = 'order_invoice_comment_collection';
+
     protected function _construct()
     {
         $this->_init('sales/order_invoice_comment');
     }
 
+    /**
+     * Set invoice filter
+     *
+     * @param int $invoiceId
+     * @return Mage_Sales_Model_Mysql4_Order_Invoice_Comment_Collection
+     */
     public function setInvoiceFilter($invoiceId)
     {
-        $this->addAttributeToFilter('parent_id', $invoiceId);
+        $this->addFieldToFilter('parent_id', $invoiceId);
         return $this;
     }
 
-    public function setCreatedAtOrder($order='desc')
+    /**
+     * Set created_at sort order
+     *
+     * @param string $direction
+     * @return Mage_Sales_Model_Mysql4_Order_Invoice_Comment_Collection
+     */
+    public function setCreatedAtOrder($direction='desc')
     {
-        $this->setOrder('created_at', $order);
+        $this->setOrder('created_at', $direction);
         return $this;
     }
 }
--- app/code/core/Mage/Sales/Model/Mysql4/Order/Invoice/Item/Collection.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Invoice/Item/Collection.php	2010-06-10 22:31:11.000000000 +0300
@@ -20,28 +20,33 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 /**
- * Invoice items collection
+ * Flat sales order invoice item collection
  *
- * @category   Mage
- * @package    Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-class Mage_Sales_Model_Mysql4_Order_Invoice_Item_Collection extends Mage_Eav_Model_Entity_Collection_Abstract
+class Mage_Sales_Model_Mysql4_Order_Invoice_Item_Collection extends Mage_Sales_Model_Mysql4_Collection_Abstract
 {
+    protected $_eventPrefix = 'sales_order_invoice_item_collection';
+    protected $_eventObject = 'order_invoice_item_collection';
+
     protected function _construct()
     {
         $this->_init('sales/order_invoice_item');
     }
 
+    /**
+     * Set invoice filter
+     *
+     * @param int $invoiceId
+     * @return Mage_Sales_Model_Mysql4_Order_Invoice_Item_Collection
+     */
     public function setInvoiceFilter($invoiceId)
     {
-        $this->addAttributeToFilter('parent_id', $invoiceId);
+        $this->addFieldToFilter('parent_id', $invoiceId);
         return $this;
     }
 }
--- app/code/core/Mage/Sales/Model/Mysql4/Order/Item/Collection.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Item/Collection.php	2010-07-26 23:04:46.000000000 +0300
@@ -20,18 +20,15 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
 /**
- * Order order item collection
+ * Flat sales order payment collection
  *
- * @category    Mage
- * @package     Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-class Mage_Sales_Model_Mysql4_Order_Item_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
+class Mage_Sales_Model_Mysql4_Order_Item_Collection extends Mage_Sales_Model_Mysql4_Order_Collection_Abstract
 {
     protected $_eventPrefix = 'sales_order_item_collection';
     protected $_eventObject = 'order_item_collection';
@@ -48,6 +45,11 @@
         $this->_init('sales/order_item');
     }
 
+    /**
+     * Assign parent items on after collection load
+     *
+     * @return Mage_Sales_Model_Mysql4_Order_Item_Collection
+     */
     protected function _afterLoad()
     {
         parent::_afterLoad();
@@ -63,23 +65,10 @@
     }
 
     /**
-     * Set filter by order id
+     * Set random items order
      *
-     * @param   mixed $order
-     * @return  Mage_Sales_Model_Mysql4_Order_Item_Collection
+     * @return Mage_Sales_Model_Mysql4_Order_Item_Collection
      */
-    public function setOrderFilter($order)
-    {
-        if ($order instanceof Mage_Sales_Model_Order) {
-            $orderId = $order->getId();
-        }
-        else {
-            $orderId = $order;
-        }
-        $this->addFieldToFilter('order_id', $orderId);
-        return $this;
-    }
-
     public function setRandomOrder()
     {
         $this->setOrder('RAND()');
--- app/code/core/Mage/Sales/Model/Mysql4/Order/Shipment/Comment/Collection.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Shipment/Comment/Collection.php	2010-06-10 22:31:11.000000000 +0300
@@ -20,34 +20,45 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 /**
- * Shipment comments collection
+ * Flat sales order shipment comments collection
  *
- * @category   Mage
- * @package    Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-class Mage_Sales_Model_Mysql4_Order_Shipment_Comment_Collection extends Mage_Eav_Model_Entity_Collection_Abstract
+class Mage_Sales_Model_Mysql4_Order_Shipment_Comment_Collection extends Mage_Sales_Model_Mysql4_Collection_Abstract
 {
+    protected $_eventPrefix = 'sales_order_shipment_comment_collection';
+    protected $_eventObject = 'order_shipment_comment_collection';
+
     protected function _construct()
     {
         $this->_init('sales/order_shipment_comment');
     }
 
+    /**
+     * Set shipment filter
+     *
+     * @param int $shipmentId
+     * @return Mage_Sales_Model_Mysql4_Order_Shipment_Comment_Collection
+     */
     public function setShipmentFilter($shipmentId)
     {
-        $this->addAttributeToFilter('parent_id', $shipmentId);
+        $this->addFieldToFilter('parent_id', $shipmentId);
         return $this;
     }
 
-    public function setCreatedAtOrder($order='desc')
+    /**
+     * Set created_at sort order
+     *
+     * @param string $direction
+     * @return Mage_Sales_Model_Mysql4_Order_Shipment_Comment_Collection
+     */
+    public function setCreatedAtOrder($direction='desc')
     {
-        $this->setOrder('created_at', $order);
+        $this->setOrder('created_at', $direction);
         return $this;
     }
 }
--- app/code/core/Mage/Sales/Model/Mysql4/Order/Shipment/Item/Collection.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Shipment/Item/Collection.php	2010-06-10 22:31:11.000000000 +0300
@@ -20,29 +20,33 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 /**
- * Order shipment items collection
+ * Flat sales order shipment items collection
  *
- * @category   Mage
- * @package    Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-
-class Mage_Sales_Model_Mysql4_Order_Shipment_Item_Collection extends Mage_Eav_Model_Entity_Collection_Abstract
+class Mage_Sales_Model_Mysql4_Order_Shipment_Item_Collection extends Mage_Sales_Model_Mysql4_Collection_Abstract
 {
+    protected $_eventPrefix = 'sales_order_shipment_item_collection';
+    protected $_eventObject = 'order_shipment_item_collection';
+
     protected function _construct()
     {
         $this->_init('sales/order_shipment_item');
     }
 
+    /**
+     * Set shipment filter
+     *
+     * @param int $shipmentId
+     * @return Mage_Sales_Model_Mysql4_Order_Shipment_Item_Collection
+     */
     public function setShipmentFilter($shipmentId)
     {
-        $this->addAttributeToFilter('parent_id', $shipmentId);
+        $this->addFieldToFilter('parent_id', $shipmentId);
         return $this;
     }
 }
--- app/code/core/Mage/Sales/Model/Mysql4/Order/Shipment/Track/Collection.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Shipment/Track/Collection.php	2010-07-26 23:04:46.000000000 +0300
@@ -20,20 +20,15 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
-
 /**
- * Order shipment track collection
+ * Flat sales order shipment tracks collection
  *
- * @category   Mage
- * @package    Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-
-class Mage_Sales_Model_Mysql4_Order_Shipment_Track_Collection extends Mage_Eav_Model_Entity_Collection_Abstract
+class Mage_Sales_Model_Mysql4_Order_Shipment_Track_Collection extends Mage_Sales_Model_Mysql4_Order_Collection_Abstract
 {
     protected $_eventPrefix = 'sales_order_shipment_track_collection';
     protected $_eventObject = 'order_shipment_track_collection';
@@ -50,15 +45,16 @@
         $this->_init('sales/order_shipment_track');
     }
 
+    /**
+     * Set shipment filter
+     *
+     * @param int $shipmentId
+     * @return Mage_Sales_Model_Mysql4_Order_Shipment_Track_Collection
+     */
     public function setShipmentFilter($shipmentId)
     {
-        $this->addAttributeToFilter('parent_id', $shipmentId);
+        $this->addFieldToFilter('parent_id', $shipmentId);
         return $this;
     }
 
-    public function setOrderFilter($orderId)
-    {
-        $this->addAttributeToFilter('order_id', $orderId);
-        return $this;
-    }
 }
--- app/code/core/Mage/Sales/Model/Mysql4/Order/Status/History/Collection.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Status/History/Collection.php	2010-06-10 22:31:11.000000000 +0300
@@ -20,30 +20,21 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
 /**
- * Order status history collection
+ * Flat sales order status history collection
  *
- * @category   Mage
- * @package    Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-
-class Mage_Sales_Model_Mysql4_Order_Status_History_Collection extends Mage_Eav_Model_Entity_Collection_Abstract
+class Mage_Sales_Model_Mysql4_Order_Status_History_Collection extends Mage_Sales_Model_Mysql4_Order_Collection_Abstract
 {
+    protected $_eventPrefix = 'sales_order_status_history_collection';
+    protected $_eventObject = 'order_status_history_collection';
 
     protected function _construct()
     {
         $this->_init('sales/order_status_history');
     }
-
-    public function setOrderFilter($orderId)
-    {
-        $this->addAttributeToFilter('parent_id', $orderId);
-        return $this;
-    }
-
 }
--- app/code/core/Mage/Sales/Model/Mysql4/Order/Status/History.php	2010-07-27 18:29:50.000000000 +0300
+++ app/code/core/Mage/Sales/Model/Mysql4/Order/Status/History.php	2010-07-26 23:04:46.000000000 +0300
@@ -20,27 +20,20 @@
  *
  * @category    Mage
  * @package     Mage_Sales
- * @copyright   Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
+ * @copyright   Copyright (c) 2010 Magento Inc. (http://www.magentocommerce.com)
  * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
  */
 
 /**
- * Order status history entity resource model
+ * Flat sales order status history resource
  *
- * @category   Mage
- * @package    Mage_Sales
- * @author      Magento Core Team <core@magentocommerce.com>
  */
-
-class Mage_Sales_Model_Mysql4_Order_Status_History extends Mage_Eav_Model_Entity_Abstract
+class Mage_Sales_Model_Mysql4_Order_Status_History extends Mage_Sales_Model_Mysql4_Order_Abstract
 {
+    protected $_eventPrefix = 'sales_order_status_history_resource';
 
-    public function __construct()
+    protected function _construct()
     {
-        $resource = Mage::getSingleton('core/resource');
-        $this->setType('order_status_history')->setConnection(
-            $resource->getConnection('sales_read'),
-            $resource->getConnection('sales_write')
-        );
+        $this->_init('sales/order_status_history', 'entity_id');
     }
 }

