Mega Search
23.2 Million


Sign Up

Make a donation  
XML Functions  
News Group: comp.databases.informix

Hi community.

Do you have experience in using XML functionality? There are a sample .NET program and stored procedure later in this topic. The problem is - the program starts 100 parallel threads with test_existsnode functions. As a result existsnode function execution time grows till more than 30 seconds and the program receives {"ERROR [HY000] [Informix .NET provider][Informix]Function (existsnode) Exception received for ICU memory allocation."}. Perhaps I am doing something wrong. Another possible way for problem resolving is to use any alternative way - working datablade module (also commercial) or use any self-made module (but also working). Please comment.

Regards, L.

Vote for best question.
Score: 0  # Vote:  0
Date Posted: 9-Dec-2014, at 5:13 AM EST
From: m
 
Re: XML functions  
News Group: comp.databases.informix
Promised stored procedure:

CREATE PROCEDURE test_existsnode(p_i INT) RETURNING INT;
	DEFINE v_i INT;
	FOR v_i IN (1 TO 1000)
		RETURN p_i WITH RESUME;
		RETURN v_i WITH RESUME;
		 RETURN existsnode('990969903','/decl_plan') WITH RESUME;
		 RETURN existsnode('990969903','/decl_plan/row[1]/id_nodoklmaks') WITH RESUME;
		 RETURN  existsnode('990969903','/decl_plan/row[2]/id_nodoklmaks') WITH RESUME;
 		 RETURN  extractvalue('990969903','/decl_plan/row[1]/id_nodoklmaks') WITH RESUME;
 		 RETURN  extractvalue('990969903','/decl_plan/row[2]/id_nodoklmaks') WITH RESUME; -- nav vērtība
	END FOR;
END PROCEDURE;	

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 9-Dec-2014, at 5:15 AM EST
From: m
 
Re: XML functions  
News Group: comp.databases.informix
Promised .NET program:

        public static void test_existsnode()
        {

            try
            {
                var x = new List();
                for (var i = 0; i < 100; i++)
                {
                    x.Add(i);
                }

                Parallel.ForEach(x, (i) =>
                {
                    using (var db = new Db("test_existsnode", i))
                    {
                        var dr = db.Reader;
                        while (dr.Read())
                        {
                        }
                    }
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

Vote for best answer.
Score: 0  # Vote:  0
Date Posted: 9-Dec-2014, at 5:14 AM EST
From: m