Deprecated: iconv_set_encoding(): Use of iconv.internal_encoding is deprecated in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/string/string.php on line 28

Deprecated: iconv_set_encoding(): Use of iconv.input_encoding is deprecated in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/string/string.php on line 29

Deprecated: iconv_set_encoding(): Use of iconv.output_encoding is deprecated in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/string/string.php on line 30

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/plugins/system/k2/k2.php on line 320

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/plugins/system/k2/k2.php on line 27

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/plugins/system/k2/k2.php on line 44

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/plugins/system/k2/k2.php on line 46

Warning: Cannot modify header information - headers already sent by (output started at /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/string/string.php:28) in /home/content/95/5118095/html/KAHAKSOLUTIONS/plugins/system/jat3/jat3/core/parameter.php on line 107

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/filter/input.php on line 652

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/filter/input.php on line 654

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/plugins/system/k2/k2.php on line 120

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/plugins/system/k2/k2.php on line 125

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/plugins/system/k2/k2.php on line 132

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/filter/input.php on line 652

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/filter/input.php on line 654
kahaksolutions - May 2005

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/templates/jc_frontline/blocks/header.php on line 15

kahaksolutions

  • slide1.jpg
  • slide3.jpg
  • slide2.jpg

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/k2.php on line 14

Strict Standards: Non-static method K2HelperPermissions::setPermissions() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/k2.php on line 27

Strict Standards: Non-static method K2HelperUtilities::getParams() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/permissions.php on line 18

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 284

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/permissions.php on line 18

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/permissions.php on line 19

Strict Standards: Non-static method K2HelperPermissions::checkPermissions() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/k2.php on line 28

Strict Standards: Declaration of K2ControllerItemlist::display() should be compatible with JController::display($cachable = false, $urlparams = false) in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/controllers/itemlist.php on line 16

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/controllers/itemlist.php on line 19

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/controllers/itemlist.php on line 21

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/controllers/itemlist.php on line 23

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/controllers/itemlist.php on line 25

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 19

Deprecated: Non-static method K2HelperUtilities::getParams() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 20

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 284

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 20

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 21

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 25

Deprecated: Non-static method K2HelperPermissions::canAddItem() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 28

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/permissions.php on line 184

Deprecated: Non-static method K2Permissions::getInstance() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/permissions.php on line 185

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/permissions.php on line 192

Strict Standards: Declaration of TableK2Category::load() should be compatible with JTable::load($keys = NULL, $reset = true) in /home/content/95/5118095/html/KAHAKSOLUTIONS/administrator/components/com_k2/tables/k2category.php on line 156

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 39

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/administrator/components/com_k2/tables/k2category.php on line 56

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 48

Deprecated: Non-static method K2HelperPermissions::canAddItem() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 66

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/permissions.php on line 184

Deprecated: Non-static method K2Permissions::getInstance() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/permissions.php on line 185

Strict Standards: Declaration of JParameter::loadSetupFile() should be compatible with JRegistry::loadSetupFile() in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/html/parameter.php on line 512

Deprecated: Non-static method K2HelperRoute::getCategoryRoute() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 87

Deprecated: Non-static method K2HelperRoute::_findItem() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 35

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 115

Deprecated: Non-static method JApplication::getMenu() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Deprecated: Non-static method K2HelperUtilities::getCategoryImage() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 90

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 89

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 93

Warning: Creating default object from empty value in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 107

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 619

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 620

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 622

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 21

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 23

Deprecated: Non-static method K2HelperUtilities::getParams() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 24

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 284

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 24

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 31

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 66

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 94

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 529

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 530

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 531

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 323

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 325

Deprecated: Non-static method K2HelperUtilities::getParams() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 326

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 284

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 326

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 332

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 355

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 380

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 529

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 530

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/itemlist.php on line 531

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/filter/input.php on line 652

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/filter/input.php on line 654

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/filter/input.php on line 652

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/filter/input.php on line 654

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 303

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 304

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 305

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method K2ModelItem::prepareItem() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/cache/controller/callback.php on line 159

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 68

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 69

Strict Standards: Non-static method K2HelperRoute::getCategoryRoute() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 73

Strict Standards: Non-static method K2HelperRoute::_findItem() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 35

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 115

Strict Standards: Non-static method JApplication::getMenu() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Non-static method K2HelperRoute::getItemRoute() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 76

Strict Standards: Non-static method K2HelperRoute::_findItem() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 24

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 115

Strict Standards: Non-static method JApplication::getMenu() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Non-static method K2HelperPermissions::canEditItem() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 97

Strict Standards: Non-static method K2Permissions::getInstance() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/permissions.php on line 218

Strict Standards: Non-static method K2ModelItem::getItemTags() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 103

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 1092

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 118

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 232

Strict Standards: Non-static method K2HelperRoute::getUserRoute() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 234

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 52

Strict Standards: Non-static method K2HelperUtilities::getParams() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 72

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 284

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 72

Strict Standards: Non-static method K2HelperRoute::_findItem() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 91

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 115

Strict Standards: Non-static method JApplication::getMenu() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Non-static method K2ModelItem::getUserProfile() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 235

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 1451

Strict Standards: Non-static method K2HelperUtilities::getAvatar() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 236

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 20

Strict Standards: Non-static method K2HelperUtilities::getParams() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 21

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 284

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 21

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 62

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 1451

Strict Standards: Non-static method K2ModelItem::countItemComments() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 257

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 1333

Deprecated: Non-static method K2HelperUtilities::getParams() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 472

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 284

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 472

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 476

Warning: Creating default object from empty value in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 596

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 346

Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method K2ModelItem::prepareItem() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/libraries/joomla/cache/controller/callback.php on line 159

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 68

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 69

Strict Standards: Non-static method K2HelperRoute::getCategoryRoute() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 73

Strict Standards: Non-static method K2HelperRoute::_findItem() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 35

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 115

Strict Standards: Non-static method JApplication::getMenu() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Non-static method K2HelperRoute::getItemRoute() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 76

Strict Standards: Non-static method K2HelperRoute::_findItem() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 24

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 115

Strict Standards: Non-static method JApplication::getMenu() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Non-static method K2HelperPermissions::canEditItem() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 97

Strict Standards: Non-static method K2Permissions::getInstance() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/permissions.php on line 218

Strict Standards: Non-static method K2ModelItem::getItemTags() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 103

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 1092

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 118

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 232

Strict Standards: Non-static method K2HelperRoute::getUserRoute() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 234

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 52

Strict Standards: Non-static method K2HelperUtilities::getParams() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 72

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 284

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 72

Strict Standards: Non-static method K2HelperRoute::_findItem() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 91

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 115

Strict Standards: Non-static method JApplication::getMenu() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/route.php on line 116

Strict Standards: Non-static method K2ModelItem::getUserProfile() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 235

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 1451

Strict Standards: Non-static method K2HelperUtilities::getAvatar() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 236

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 20

Strict Standards: Non-static method K2HelperUtilities::getParams() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 21

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 284

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 21

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 62

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 1451

Strict Standards: Non-static method K2ModelItem::countItemComments() should not be called statically in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 257

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 1333

Deprecated: Non-static method K2HelperUtilities::getParams() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 472

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/helpers/utilities.php on line 284

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 472

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 476

Warning: Creating default object from empty value in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/models/item.php on line 596

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 346

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 353

Deprecated: Non-static method JSite::getMenu() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 354

Deprecated: Non-static method JApplication::getMenu() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/includes/application.php on line 539

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 354

Deprecated: Non-static method K2HelperUtilities::characterLimit() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 383

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 422

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 448

Deprecated: Non-static method JSite::getMenu() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 449

Deprecated: Non-static method JApplication::getMenu() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/includes/application.php on line 539

Strict Standards: Only variables should be assigned by reference in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/views/itemlist/view.html.php on line 449
<br />
<b>Deprecated</b>:  Non-static method K2HelperUtilities::cleanHtml() should not be called statically, assuming $this from incompatible context in <b>/home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/templates/default/category.php</b> on line <b>54</b><br />
May 2005

May 2005 (2)


Deprecated: Non-static method K2HelperUtilities::setDefaultImage() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/templates/default/category_item.php on line 14
%PM, %12 %691 %2012 %15:%Jun

NOCOPY Hint


Deprecated: Non-static method K2HelperUtilities::writtenBy() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/templates/default/category_item.php on line 69
Written by

What is NOCOPY?

'NOCOPY' is an optional 'hint' to tell the PL/SQL 'compiler' not to go through the overhead of making a copy of the variable, instead just send a reference. This is generally because we don't plan on modifying it within the procedure.

My first surprise was that you couldn't use "IN NOCOPY." Isn't NOCOPY your way of telling Oracle you don't plan on messing around with the parameter? Yes, but you CAN'T mess with IN parameters, try it!

CREATE OR REPLACE PROCEDURE MyProc (in_value IN number)
AS
BEGIN
in_value := 3;
END;

PLS-00363: expression 'IN_VALUE' cannot be used as an assignment target

Therefore, it is always safe to send IN parameters by reference, making NOCOPY redundant.

My second surprise was that you had to specify NOCOPY for an OUT parameter. Because by definition isn't an OUT parameter stating that you plan on modifying the variable? Why would it be an OUT variable if you weren't touching it? So why would you NOT want NOCOPY? The answer (like so many) comes from Ask Tom:

http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:2047154868085

Tom explains one situation where you want a copy rather than a reference for an OUT or IN OUT parameter. When you change a NOCOPY parameter, it changes right away, instead of upon successful completion of the stored procedure.

Imagine you modified the parameter, but threw an exception before successful completion. But that parameter has been changed and the calling procedure could be stuck with a bogus value.

Despite how much I trust Tom, everybody knows that I don't believe things until I see for myself. And neither should you! Besides, things change. Here's my example.

CREATE OR REPLACE PROCEDURE NoCopyProc (in_value IN OUT NOCOPY number)
AS
x number;
BEGIN
DBMS_OUTPUT.PUT_LINE(in_value || ' NoCopyProc');
in_value := 2;
x := 1/0;
END;

CREATE OR REPLACE PROCEDURE CopyProc (in_value IN OUT number)
AS
x number;
BEGIN
DBMS_OUTPUT.PUT_LINE(in_value || ' CopyProc');
in_value := 4;
x := 1/0;
END;

CREATE OR REPLACE PROCEDURE InterProc (in_value IN OUT NOCOPY number)
AS
BEGIN
IF (in_value = 1) THEN NoCopyProc(in_value);
ELSE CopyProc(in_value);
END IF;
EXCEPTION
WHEN OTHERS THEN NULL;
END;

CREATE OR REPLACE PROCEDURE MyProc
AS
the_value NUMBER(1);
BEGIN
the_value := 1;
InterProc(the_value);
DBMS_OUTPUT.PUT_LINE(the_value);

the_value := 3;
InterProc(the_value);
DBMS_OUTPUT.PUT_LINE(the_value);
END;

BEGIN MyProc; END;

1 NoCopyProc
2
3 CopyProc
3

For an excellent and more detailed overview of NOCOPY, complete with examples, restrictions and performance analysis, I once again refer you to Steven Feuerstein's writings. Although I encourage you to add his books to your collection, this chapter happens to be on-line for free:

Oracle PL/SQL Programming Guide to Oracle8i Features
http://www.unix.org.ua/orelly/oracle/guide8i/ch10_01.htm

So what is a guy to do?

Well, first of all, it was suggested to me that I should find a more gender-neutral way of summing up an article. Allow me to rephrase.

So what should we do?

1. Understand what NOCOPY means and its uses and restrictions (by following those links)
2. Take advantage of NOCOPY when you want the performance advantage of avoiding the cost of the temporary storage for OUT or IN OUT parameters.
3. Avoid NOCOPY when you don't want the side effects if the procedure fails early.

Remember, in the end, that NOCOPY is just a "hint" and Oracle will do whatever it wants anyway. Like all hints, you have to ask yourself what makes it necessary, and what makes you think Oracle is going to choose incorrectly.


Deprecated: Non-static method K2HelperUtilities::setDefaultImage() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/templates/default/category_item.php on line 14
%PM, %12 %689 %2012 %15:%Jun

NOCOPY Hint


Deprecated: Non-static method K2HelperUtilities::writtenBy() should not be called statically, assuming $this from incompatible context in /home/content/95/5118095/html/KAHAKSOLUTIONS/components/com_k2/templates/default/category_item.php on line 69
Written by

What is NOCOPY?

'NOCOPY' is an optional 'hint' to tell the PL/SQL 'compiler' not to go through the overhead of making a copy of the variable, instead just send a reference. This is generally because we don't plan on modifying it within the procedure.

My first surprise was that you couldn't use "IN NOCOPY." Isn't NOCOPY your way of telling Oracle you don't plan on messing around with the parameter? Yes, but you CAN'T mess with IN parameters, try it!

CREATE OR REPLACE PROCEDURE MyProc (in_value IN number)
AS
BEGIN
in_value := 3;
END;

PLS-00363: expression 'IN_VALUE' cannot be used as an assignment target

Therefore, it is always safe to send IN parameters by reference, making NOCOPY redundant.

My second surprise was that you had to specify NOCOPY for an OUT parameter. Because by definition isn't an OUT parameter stating that you plan on modifying the variable? Why would it be an OUT variable if you weren't touching it? So why would you NOT want NOCOPY? The answer (like so many) comes from Ask Tom:

http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:2047154868085

Tom explains one situation where you want a copy rather than a reference for an OUT or IN OUT parameter. When you change a NOCOPY parameter, it changes right away, instead of upon successful completion of the stored procedure.

Imagine you modified the parameter, but threw an exception before successful completion. But that parameter has been changed and the calling procedure could be stuck with a bogus value.

Despite how much I trust Tom, everybody knows that I don't believe things until I see for myself. And neither should you! Besides, things change. Here's my example.

CREATE OR REPLACE PROCEDURE NoCopyProc (in_value IN OUT NOCOPY number)
AS
x number;
BEGIN
DBMS_OUTPUT.PUT_LINE(in_value || ' NoCopyProc');
in_value := 2;
x := 1/0;
END;

CREATE OR REPLACE PROCEDURE CopyProc (in_value IN OUT number)
AS
x number;
BEGIN
DBMS_OUTPUT.PUT_LINE(in_value || ' CopyProc');
in_value := 4;
x := 1/0;
END;

CREATE OR REPLACE PROCEDURE InterProc (in_value IN OUT NOCOPY number)
AS
BEGIN
IF (in_value = 1) THEN NoCopyProc(in_value);
ELSE CopyProc(in_value);
END IF;
EXCEPTION
WHEN OTHERS THEN NULL;
END;

CREATE OR REPLACE PROCEDURE MyProc
AS
the_value NUMBER(1);
BEGIN
the_value := 1;
InterProc(the_value);
DBMS_OUTPUT.PUT_LINE(the_value);

the_value := 3;
InterProc(the_value);
DBMS_OUTPUT.PUT_LINE(the_value);
END;

BEGIN MyProc; END;

1 NoCopyProc
2
3 CopyProc
3

For an excellent and more detailed overview of NOCOPY, complete with examples, restrictions and performance analysis, I once again refer you to Steven Feuerstein's writings. Although I encourage you to add his books to your collection, this chapter happens to be on-line for free:

Oracle PL/SQL Programming Guide to Oracle8i Features
http://www.unix.org.ua/orelly/oracle/guide8i/ch10_01.htm

So what is a guy to do?

Well, first of all, it was suggested to me that I should find a more gender-neutral way of summing up an article. Allow me to rephrase.

So what should we do?

1. Understand what NOCOPY means and its uses and restrictions (by following those links)
2. Take advantage of NOCOPY when you want the performance advantage of avoiding the cost of the temporary storage for OUT or IN OUT parameters.
3. Avoid NOCOPY when you don't want the side effects if the procedure fails early.

Remember, in the end, that NOCOPY is just a "hint" and Oracle will do whatever it wants anyway. Like all hints, you have to ask yourself what makes it necessary, and what makes you think Oracle is going to choose incorrectly.