Есть процедура загрузки данных из xml-файла в таблицу, использующая функции XPath:
DELIMITER $
CREATE PROCEDURE insert_xml(IN xml_file_name TEXT)
COMMENT "INSERTS INTO CLIENTS"
BEGIN
    DECLARE xml_file TEXT;
    DECLARE counter INT UNSIGNED DEFAULT 1;
    DECLARE size INT UNSIGNED DEFAULT ExtractValue(xml_file, "count(//row)");
    
    SET xml_file = LOAD_FILE(xml_file_name);
    
  IF xml_file IS NULL THEN
		SET @last_error = CONCAT("Couldn't load file ", xml_file_name);
		CALL non_existent();
	END IF;
    
  WHILE counter <= size DO
		INSERT INTO CLIENTS(id, num)
        VALUES
        	(
        	ExtractValue(xml_file, "//row[$counter]/id"), 
        	ExtractValue(xml_file, "//row[$counter]/num")
        	);
		SET counter = counter + 1;
	END WHILE;
END$
Вот сам xml-файл:
<?xml version = "1.0" encoding = "utf-8"?>
<resultset>
	<row>
		<id>80</id>
		<num>81</num>
	</row>
	<row>
		<id>81</id>
		<num>81</num>
	</row>
</resultset>
Определение таблицы:
CREATE TABLE `CLIENTS` (\n  `id` int(10) unsigned zerofill NOT NULL,\n  `num` bigint(20) NOT NULL,\n  PRIMARY KEY (`id`)\n) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Процедура завершается успешно, но новые данные в таблицу не вставлены. При этом 
LOAD XML LOCAL INFILE вставляет данные успешно. Почему так происходит?