/** * Убрать после отказа от поддержки MySQL 4.1.x */ protected function check_hash_column_type() { static $hash_column_type_checked = false; if (!$hash_column_type_checked) { $hash_length = nc_search_util::can_use_binary_columns() ? "20" : "40"; /** @var nc_db $db */ $db = nc_core('db'); $hash_column_definition = $db->get_row("SHOW COLUMNS FROM `Search_Link` LIKE 'Hash'", ARRAY_A); if (!strpos($hash_column_definition['Type'], $hash_length)) { $db->query("ALTER TABLE `Search_Link` CHANGE `Hash` `Hash` BINARY({$hash_length}) NOT NULL"); } $hash_column_type_checked = true; } }
/** * @param $url * @return string */ protected function make_hash_statement($url) { $unhex = nc_search_util::can_use_binary_columns() ? "UNHEX" : ""; return "{$unhex}(SHA1('" . nc_search_util::db_escape($url) . "'))"; }