From e15d959fe9a45c518fc54e39dbf4c9bd44bd0447 Mon Sep 17 00:00:00 2001 From: Tymoteusz Motylewski Date: Mon, 6 Apr 2020 14:16:57 +0200 Subject: [PATCH 1/2] Make oldFields mapping hardcoded to speed up system The mapping came with Magneto 1.6 to provide a backward compatibility for old (pre 1.6) db field names. Now the mapping is hardcoded in the class instead of saved in the configuration. This improves performance as Magento will not create tons of objects for every new product/order/... entities. Related: https://github.com/OpenMage/magento-lts/issues/920 --- app/code/core/Mage/Catalog/Model/Product.php | 12 ------------ .../core/Mage/CatalogInventory/Model/Stock/Item.php | 1 + app/code/core/Mage/Sales/Model/Order.php | 7 ++++++- .../core/Mage/Sales/Model/Order/Creditmemo/Item.php | 5 ++++- .../core/Mage/Sales/Model/Order/Invoice/Item.php | 5 ++++- app/code/core/Mage/Sales/Model/Order/Item.php | 5 ++++- app/code/core/Mage/Sales/etc/config.xml | 7 ------- app/code/core/Mage/Weee/etc/config.xml | 11 ----------- 8 files changed, 19 insertions(+), 34 deletions(-) diff --git a/app/code/core/Mage/Catalog/Model/Product.php b/app/code/core/Mage/Catalog/Model/Product.php index 956372bdf0f..270a1d67cbc 100644 --- a/app/code/core/Mage/Catalog/Model/Product.php +++ b/app/code/core/Mage/Catalog/Model/Product.php @@ -118,18 +118,6 @@ protected function _construct() $this->_init('catalog/product'); } - /** - * Init mapping array of short fields to - * its full names - * - * @return Varien_Object - */ - protected function _initOldFieldsMap() - { - $this->_oldFieldsMap = Mage::helper('catalog')->getOldFieldMap(); - return $this; - } - /** * Retrieve Store Id * diff --git a/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php b/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php index 83a5983278d..f66d2b03ade 100644 --- a/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php +++ b/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php @@ -152,6 +152,7 @@ protected function _construct() */ protected function _initOldFieldsMap() { + // pre 1.6 fields names, old => new $this->_oldFieldsMap = array( 'stock_status_changed_automatically' => 'stock_status_changed_auto', 'use_config_enable_qty_increments' => 'use_config_enable_qty_inc' diff --git a/app/code/core/Mage/Sales/Model/Order.php b/app/code/core/Mage/Sales/Model/Order.php index 0d2b9b55002..0f560fe8f02 100644 --- a/app/code/core/Mage/Sales/Model/Order.php +++ b/app/code/core/Mage/Sales/Model/Order.php @@ -431,7 +431,12 @@ protected function _construct() */ protected function _initOldFieldsMap() { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('order'); + // pre 1.6 fields names, old => new + $this->_oldFieldsMap = [ + 'payment_authorization_expiration' => 'payment_auth_expiration', + 'forced_do_shipment_with_invoice' => 'forced_shipment_with_invoice', + 'base_shipping_hidden_tax_amount' => 'base_shipping_hidden_tax_amnt', + ]; return $this; } diff --git a/app/code/core/Mage/Sales/Model/Order/Creditmemo/Item.php b/app/code/core/Mage/Sales/Model/Order/Creditmemo/Item.php index 4f57f930142..94454ad771e 100644 --- a/app/code/core/Mage/Sales/Model/Order/Creditmemo/Item.php +++ b/app/code/core/Mage/Sales/Model/Order/Creditmemo/Item.php @@ -132,7 +132,10 @@ public function setCreditmemo(Mage_Sales_Model_Order_Creditmemo $creditmemo) */ protected function _initOldFieldsMap() { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('creditmemo_item'); + // pre 1.6 fields names, old => new + $this->_oldFieldsMap = [ + 'base_weee_tax_applied_row_amount' => 'base_weee_tax_applied_row_amnt', + ]; return $this; } diff --git a/app/code/core/Mage/Sales/Model/Order/Invoice/Item.php b/app/code/core/Mage/Sales/Model/Order/Invoice/Item.php index 87d8ba07343..d94d9e7c995 100644 --- a/app/code/core/Mage/Sales/Model/Order/Invoice/Item.php +++ b/app/code/core/Mage/Sales/Model/Order/Invoice/Item.php @@ -122,7 +122,10 @@ function _construct() */ protected function _initOldFieldsMap() { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('invoice_item'); + // pre 1.6 fields names, old => new + $this->_oldFieldsMap = [ + 'base_weee_tax_applied_row_amount' => 'base_weee_tax_applied_row_amnt', + ]; return $this; } /** diff --git a/app/code/core/Mage/Sales/Model/Order/Item.php b/app/code/core/Mage/Sales/Model/Order/Item.php index 388ce175ee1..1f7b2850449 100644 --- a/app/code/core/Mage/Sales/Model/Order/Item.php +++ b/app/code/core/Mage/Sales/Model/Order/Item.php @@ -236,7 +236,10 @@ protected function _construct() */ protected function _initOldFieldsMap() { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('order_item'); + // pre 1.6 fields names, old => new + $this->_oldFieldsMap = [ + 'base_weee_tax_applied_row_amount' => 'base_weee_tax_applied_row_amnt', + ]; return $this; } diff --git a/app/code/core/Mage/Sales/etc/config.xml b/app/code/core/Mage/Sales/etc/config.xml index c83e510ade0..b62cf944a4e 100644 --- a/app/code/core/Mage/Sales/etc/config.xml +++ b/app/code/core/Mage/Sales/etc/config.xml @@ -1198,13 +1198,6 @@ - - - payment_auth_expiration - forced_shipment_with_invoice - base_shipping_hidden_tax_amnt - - diff --git a/app/code/core/Mage/Weee/etc/config.xml b/app/code/core/Mage/Weee/etc/config.xml index af8fa12125b..7c9f74c1fdd 100644 --- a/app/code/core/Mage/Weee/etc/config.xml +++ b/app/code/core/Mage/Weee/etc/config.xml @@ -225,17 +225,6 @@ - - - base_weee_tax_applied_row_amnt - - - base_weee_tax_applied_row_amnt - - - base_weee_tax_applied_row_amnt - - From c1f101506394be649252d75cca3b898b49c4a73a Mon Sep 17 00:00:00 2001 From: Marcin Nowak Date: Wed, 20 Apr 2022 14:35:16 +0200 Subject: [PATCH 2/2] Remove oldFields mapping to speed up system --- .../CatalogInventory/Model/Stock/Item.php | 15 ---------- app/code/core/Mage/Sales/Model/Order.php | 17 ----------- .../core/Mage/Sales/Model/Order/Address.php | 11 ------- .../Mage/Sales/Model/Order/Creditmemo.php | 11 ------- .../Sales/Model/Order/Creditmemo/Item.php | 15 ---------- .../core/Mage/Sales/Model/Order/Invoice.php | 12 -------- .../Mage/Sales/Model/Order/Invoice/Item.php | 14 --------- app/code/core/Mage/Sales/Model/Order/Item.php | 15 ---------- .../core/Mage/Sales/Model/Order/Shipment.php | 11 ------- .../Mage/Sales/Model/Order/Shipment/Track.php | 13 -------- app/code/core/Mage/Sales/Model/Quote.php | 14 +-------- .../core/Mage/Sales/Model/Quote/Address.php | 11 ------- app/code/core/Mage/Sales/Model/Quote/Item.php | 12 -------- .../Mage/Widget/Model/Widget/Instance.php | 14 --------- lib/Varien/Object.php | 30 ------------------- 15 files changed, 1 insertion(+), 214 deletions(-) diff --git a/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php b/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php index f66d2b03ade..5162ee31b7a 100644 --- a/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php +++ b/app/code/core/Mage/CatalogInventory/Model/Stock/Item.php @@ -144,21 +144,6 @@ protected function _construct() $this->_init('cataloginventory/stock_item'); } - /** - * Init mapping array of short fields to - * its full names - * - * @resturn Varien_Object - */ - protected function _initOldFieldsMap() - { - // pre 1.6 fields names, old => new - $this->_oldFieldsMap = array( - 'stock_status_changed_automatically' => 'stock_status_changed_auto', - 'use_config_enable_qty_increments' => 'use_config_enable_qty_inc' - ); - } - /** * Retrieve stock identifier * diff --git a/app/code/core/Mage/Sales/Model/Order.php b/app/code/core/Mage/Sales/Model/Order.php index 0f560fe8f02..6077d4b58a7 100644 --- a/app/code/core/Mage/Sales/Model/Order.php +++ b/app/code/core/Mage/Sales/Model/Order.php @@ -423,23 +423,6 @@ protected function _construct() $this->_init('sales/order'); } - /** - * Init mapping array of short fields to - * its full names - * - * @return Varien_Object - */ - protected function _initOldFieldsMap() - { - // pre 1.6 fields names, old => new - $this->_oldFieldsMap = [ - 'payment_authorization_expiration' => 'payment_auth_expiration', - 'forced_do_shipment_with_invoice' => 'forced_shipment_with_invoice', - 'base_shipping_hidden_tax_amount' => 'base_shipping_hidden_tax_amnt', - ]; - return $this; - } - /** * Clear order object data * diff --git a/app/code/core/Mage/Sales/Model/Order/Address.php b/app/code/core/Mage/Sales/Model/Order/Address.php index 44c8bb68337..9f83ad25a92 100644 --- a/app/code/core/Mage/Sales/Model/Order/Address.php +++ b/app/code/core/Mage/Sales/Model/Order/Address.php @@ -86,17 +86,6 @@ protected function _construct() $this->_init('sales/order_address'); } - /** - * Init mapping array of short fields to its full names - * - * @return $this - */ - protected function _initOldFieldsMap() - { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('order_address'); - return $this; - } - /** * Set order * diff --git a/app/code/core/Mage/Sales/Model/Order/Creditmemo.php b/app/code/core/Mage/Sales/Model/Order/Creditmemo.php index 8e30f7c5f10..4dbfe50cbba 100644 --- a/app/code/core/Mage/Sales/Model/Order/Creditmemo.php +++ b/app/code/core/Mage/Sales/Model/Order/Creditmemo.php @@ -178,17 +178,6 @@ protected function _construct() $this->_init('sales/order_creditmemo'); } - /** - * Init mapping array of short fields to its full names - * - * @return $this - */ - protected function _initOldFieldsMap() - { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('order_creditmemo'); - return $this; - } - /** * Retrieve Creditmemo configuration model * diff --git a/app/code/core/Mage/Sales/Model/Order/Creditmemo/Item.php b/app/code/core/Mage/Sales/Model/Order/Creditmemo/Item.php index 94454ad771e..77d17f7b966 100644 --- a/app/code/core/Mage/Sales/Model/Order/Creditmemo/Item.php +++ b/app/code/core/Mage/Sales/Model/Order/Creditmemo/Item.php @@ -124,21 +124,6 @@ public function setCreditmemo(Mage_Sales_Model_Order_Creditmemo $creditmemo) return $this; } - /** - * Init mapping array of short fields to - * its full names - * - * @return Varien_Object - */ - protected function _initOldFieldsMap() - { - // pre 1.6 fields names, old => new - $this->_oldFieldsMap = [ - 'base_weee_tax_applied_row_amount' => 'base_weee_tax_applied_row_amnt', - ]; - return $this; - } - /** * Retrieve creditmemo instance * diff --git a/app/code/core/Mage/Sales/Model/Order/Invoice.php b/app/code/core/Mage/Sales/Model/Order/Invoice.php index aa1769c7b28..85f242d7df5 100644 --- a/app/code/core/Mage/Sales/Model/Order/Invoice.php +++ b/app/code/core/Mage/Sales/Model/Order/Invoice.php @@ -196,18 +196,6 @@ protected function _construct() $this->_init('sales/order_invoice'); } - - /** - * Init mapping array of short fields to its full names - * - * @return $this - */ - protected function _initOldFieldsMap() - { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('order_invoice'); - return $this; - } - /** * Load invoice by increment id * diff --git a/app/code/core/Mage/Sales/Model/Order/Invoice/Item.php b/app/code/core/Mage/Sales/Model/Order/Invoice/Item.php index d94d9e7c995..739cbbf88f2 100644 --- a/app/code/core/Mage/Sales/Model/Order/Invoice/Item.php +++ b/app/code/core/Mage/Sales/Model/Order/Invoice/Item.php @@ -114,20 +114,6 @@ function _construct() $this->_init('sales/order_invoice_item'); } - /** - * Init mapping array of short fields to - * its full names - * - * @return Varien_Object - */ - protected function _initOldFieldsMap() - { - // pre 1.6 fields names, old => new - $this->_oldFieldsMap = [ - 'base_weee_tax_applied_row_amount' => 'base_weee_tax_applied_row_amnt', - ]; - return $this; - } /** * Declare invoice instance * diff --git a/app/code/core/Mage/Sales/Model/Order/Item.php b/app/code/core/Mage/Sales/Model/Order/Item.php index 1f7b2850449..fe740a396e0 100644 --- a/app/code/core/Mage/Sales/Model/Order/Item.php +++ b/app/code/core/Mage/Sales/Model/Order/Item.php @@ -228,21 +228,6 @@ protected function _construct() $this->_init('sales/order_item'); } - /** - * Init mapping array of short fields to - * its full names - * - * @return Varien_Object - */ - protected function _initOldFieldsMap() - { - // pre 1.6 fields names, old => new - $this->_oldFieldsMap = [ - 'base_weee_tax_applied_row_amount' => 'base_weee_tax_applied_row_amnt', - ]; - return $this; - } - /** * Prepare data before save * diff --git a/app/code/core/Mage/Sales/Model/Order/Shipment.php b/app/code/core/Mage/Sales/Model/Order/Shipment.php index 6cc30711603..fe09b69d719 100644 --- a/app/code/core/Mage/Sales/Model/Order/Shipment.php +++ b/app/code/core/Mage/Sales/Model/Order/Shipment.php @@ -101,17 +101,6 @@ protected function _construct() $this->_init('sales/order_shipment'); } - /** - * Init mapping array of short fields to its full names - * - * @return $this - */ - protected function _initOldFieldsMap() - { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('order_shipment'); - return $this; - } - /** * Load shipment by increment id * diff --git a/app/code/core/Mage/Sales/Model/Order/Shipment/Track.php b/app/code/core/Mage/Sales/Model/Order/Shipment/Track.php index 0472395db57..0a5aa8c7a75 100644 --- a/app/code/core/Mage/Sales/Model/Order/Shipment/Track.php +++ b/app/code/core/Mage/Sales/Model/Order/Shipment/Track.php @@ -69,19 +69,6 @@ function _construct() $this->_init('sales/order_shipment_track'); } - /** - * Init mapping array of short fields to - * its full names - * - * @resturn Varien_Object - */ - protected function _initOldFieldsMap() - { - $this->_oldFieldsMap = array( - 'number' => 'track_number' - ); - } - /** * Back compatibility with old versions. * diff --git a/app/code/core/Mage/Sales/Model/Quote.php b/app/code/core/Mage/Sales/Model/Quote.php index 22c59fe8c46..55ad0d9ac95 100644 --- a/app/code/core/Mage/Sales/Model/Quote.php +++ b/app/code/core/Mage/Sales/Model/Quote.php @@ -200,18 +200,6 @@ protected function _construct() $this->_init('sales/quote'); } - /** - * Init mapping array of short fields to - * its full names - * - * @return Varien_Object - */ - protected function _initOldFieldsMap() - { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('quote'); - return $this; - } - /** * Get quote store identifier * @@ -839,7 +827,7 @@ public function getItemById($itemId) if ($item->getId() == $itemId) { $quoteItem = $item; return $quoteItem; - } + } } } return $quoteItem; diff --git a/app/code/core/Mage/Sales/Model/Quote/Address.php b/app/code/core/Mage/Sales/Model/Quote/Address.php index e81d1709566..5344a9b0cb1 100644 --- a/app/code/core/Mage/Sales/Model/Quote/Address.php +++ b/app/code/core/Mage/Sales/Model/Quote/Address.php @@ -224,17 +224,6 @@ protected function _construct() $this->_init('sales/quote_address'); } - /** - * Init mapping array of short fields to its full names - * - * @return $this - */ - protected function _initOldFieldsMap() - { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('quote_address'); - return $this; - } - /** * Initialize Quote identifier before save * diff --git a/app/code/core/Mage/Sales/Model/Quote/Item.php b/app/code/core/Mage/Sales/Model/Quote/Item.php index 05e737e722d..1c381920ec3 100644 --- a/app/code/core/Mage/Sales/Model/Quote/Item.php +++ b/app/code/core/Mage/Sales/Model/Quote/Item.php @@ -203,18 +203,6 @@ protected function _construct() $this->_errorInfos = Mage::getModel('sales/status_list'); } - /** - * Init mapping array of short fields to - * its full names - * - * @return Varien_Object - */ - protected function _initOldFieldsMap() - { - $this->_oldFieldsMap = Mage::helper('sales')->getOldFieldMap('quote_item'); - return $this; - } - /** * Quote Item Before Save prepare data process * diff --git a/app/code/core/Mage/Widget/Model/Widget/Instance.php b/app/code/core/Mage/Widget/Model/Widget/Instance.php index b73f5d7eee7..b5f45c233d8 100644 --- a/app/code/core/Mage/Widget/Model/Widget/Instance.php +++ b/app/code/core/Mage/Widget/Model/Widget/Instance.php @@ -97,20 +97,6 @@ protected function _construct() } } - /** - * Init mapping array of short fields to - * its full names - * - * @return Varien_Object - */ - protected function _initOldFieldsMap() - { - $this->_oldFieldsMap = array( - 'type' => 'instance_type', - ); - return $this; - } - /** * Processing object before save data * diff --git a/lib/Varien/Object.php b/lib/Varien/Object.php index 3a076ae8fd8..1a46234f92c 100644 --- a/lib/Varien/Object.php +++ b/lib/Varien/Object.php @@ -97,11 +97,6 @@ class Varien_Object implements ArrayAccess */ public function __construct() { - $this->_initOldFieldsMap(); - if ($this->_oldFieldsMap) { - $this->_prepareSyncFieldsMap(); - } - $args = func_get_args(); if (empty($args[0])) { $args[0] = array(); @@ -123,31 +118,6 @@ protected function _addFullNames() } } - /** - * Inits mapping array of object's previously used fields to new fields. - * Must be overloaded by descendants to set concrete fields map. - * - * @return Varien_Object - */ - protected function _initOldFieldsMap() - { - - } - - /** - * Called after old fields are inited. Forms synchronization map to sync old fields and new fields - * between each other. - * - * @return Varien_Object - */ - protected function _prepareSyncFieldsMap() - { - $old2New = $this->_oldFieldsMap; - $new2Old = array_flip($this->_oldFieldsMap); - $this->_syncFieldsMap = array_merge($old2New, $new2Old); - return $this; - } - /** * Internal constructor not depended on params. Can be used for object initialization */