List:General Discussion« Previous MessageNext Message »
From:Alexander Barkov Date:May 16 2005 5:35pm
Subject:Re: mysqlxml
View as plain text  
     Hello!

The patch which can be found at http://mysql.r18.ru/~bar/myxml/
adds XPATH support into MySQL. It is not an UDF. It is a patch
for main MySQL sources. In order to build MySQL with XPATH please
do the following:

1. Unpack MySQL source tar ball, say mysql-5.0.4.tar.gz:

    tar -zxf mysql-5.0.4.tag.gz

mysql-5.0.4 directory will appear, containing MySQL sources.

2. cd mysql-5.0.4
3. Unpack mysql-xml.tar.gz:

   tar -zxf mysql-xml.tar.gz

   After this step item_xmlfunc.cc and item_xmlfunc.h should appear
   in "sql" directory. Make sure they have appeared:

   ls sql/item_xmlfunc.*

4. Apply xml.diff:

   patch -p1 < xml.diff

5. Run:

    aclocal
    autoheader
    automake
    autoconf

6. Build MySQL in usuall way, for example:

    ./confugure --prefix=/usr/local/mysql
    make
    make install


If everything went wrong, you should have two new functions
ExtractValue() and UpdateXML(). Enjoy.


mel list_php wrote:

> Ok, I've been trying to install that function this morning and no luck....
> 
> I downloaded 5.0.4beta , compiled it .
> everything working fine.
> 
> Trying the udf_example function (make udf_example.so) no problem.
> 
> Trying to gcc -shared -o item_xmlfunc.so item_xmlfunc.cc
> 
> it has been complaining about missing files (my_time.h .....) and I 
> managed to solve that by downloading the binary and copying the missing 
> file.
> 
> All is now in /usr/local/include.
> I'm trying to complie from /usr/local/mysql-5.0.4-beta/sql, but I don't 
> think there's any path problem as it finds for example my_time.h.
> 
> But know it finds an error in item_func.h about string2mydecimal which 
> is not defined.
> 
> Questions:
> - did anybody succeed to install that function (item_xmlfunc.cc)
> - any special tip about that?
> - is there an official repository of  headers file wheer I could 
> download the whole *.h files stable?
> - any solution to the error?
> 
> thanks,
> Melanie
> 
> Here is the whole error output:
> 
> [root@localhost sql]# gcc -shared -o item_xmlfunc.so item_xmlfunc.cc
> In file included from item.h:1381,
>                 from mysql_priv.h:457,
>                 from item_xmlfunc.cc:22:
> item_func.h: In member function `virtual my_decimal*
> Item_func_udf_str::val_decimal(my_decimal*)':
> item_func.h:968: error: `string2my_decimal' undeclared (first use this
> function)
> item_func.h:968: error: (Each undeclared identifier is reported only once
> for each function it appears in.)
> item_xmlfunc.cc: At global scope:
> item_xmlfunc.cc:56: error: use of enum `my_xml_node_type' without previous
> declaration
> item_xmlfunc.cc:56: error: ISO C++ forbids declaration of `type' with no 
> type
> item_xmlfunc.cc: In member function `void
> Item_nodeset_func::prepare(String*)':
> item_xmlfunc.cc:167: error: 'class Item' has no member named 'val_nodeset'
> item_xmlfunc.cc: In member function `virtual Item::Type
> Item_nodeset_func::type() const':
> item_xmlfunc.cc:172: error: `XPATH_NODESET' undeclared (first use this
> function)
> item_xmlfunc.cc: In member function `virtual String*
> Item_nodeset_func::val_str(String*)':
> item_xmlfunc.cc:176: error: `val_nodeset' undeclared (first use this
> function)
> item_xmlfunc.cc:188: error: `MY_XML_NODE_TEXT' undeclared (first use this
> function)
> item_xmlfunc.cc: In member function `virtual longlong
> Item_xpath_cast_bool::val_int()':
> item_xmlfunc.cc:362: error: `XPATH_NODESET' undeclared (first use this
> function)
> item_xmlfunc.cc:364: error: 'class Item' has no member named 'val_nodeset'
> item_xmlfunc.cc: In member function `virtual longlong
> Item_func_xpath_position::val_int()':
> item_xmlfunc.cc:408: error: 'class Item' has no member named 'val_nodeset'
> item_xmlfunc.cc: In member function `virtual longlong
> Item_func_xpath_count::val_int()':
> item_xmlfunc.cc:426: error: 'class Item' has no member named 'val_nodeset'
> item_xmlfunc.cc: In member function `virtual double
> Item_func_xpath_sum::val_real()':
> item_xmlfunc.cc:443: error: 'class Item' has no member named 'val_nodeset'
> item_xmlfunc.cc:458: error: `MY_XML_NODE_TEXT' undeclared (first use this
> function)
> item_xmlfunc.cc: In member function `virtual Item::Type
> Item_nodeset_to_const_comparator::type() const':
> item_xmlfunc.cc:481: error: `XPATH_NODESET_CMP' undeclared (first use this
> function)
> item_xmlfunc.cc: In member function `virtual longlong
> Item_nodeset_to_const_comparator::val_int()':
> item_xmlfunc.cc:488: error: 'class Item' has no member named 'val_nodeset'
> item_xmlfunc.cc:503: error: `MY_XML_NODE_TEXT' undeclared (first use this
> function)
> item_xmlfunc.cc: In member function `String*
> Item_nodeset_func_union::val_nodeset(String*)':
> item_xmlfunc.cc:528: error: 'class Item' has no member named 'val_nodeset'
> item_xmlfunc.cc:529: error: 'class Item' has no member named 'val_nodeset'
> item_xmlfunc.cc: In member function `String*
> Item_nodeset_func_childbyname::val_nodeset(String*)':
> item_xmlfunc.cc:569: error: `MY_XML_NODE_TAG' undeclared (first use this
> function)
> item_xmlfunc.cc: In member function `String*
> Item_nodeset_func_descendantbyname::val_nodeset(String*)':
> item_xmlfunc.cc:592: error: `MY_XML_NODE_TAG' undeclared (first use this
> function)
> item_xmlfunc.cc: In member function `String*
> Item_nodeset_func_attributebyname::val_nodeset(String*)':
> item_xmlfunc.cc:677: error: `MY_XML_NODE_ATTR' undeclared (first use this
> function)
> item_xmlfunc.cc: In function `Item* nodeset2bool(MY_XPATH*, Item*)':
> item_xmlfunc.cc:728: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc: In function `Item* create_comparator(MY_XPATH*, int,
> Item*, Item*)':
> item_xmlfunc.cc:853: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc:854: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc:858: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc:859: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc:875: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc: In function `Item* nametestfunc(MY_XPATH*, int, Item*,
> const char*, uint)':
> item_xmlfunc.cc:905: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc: In function `Item* create_func_count(MY_XPATH*, Item**,
> uint)':
> item_xmlfunc.cc:1110: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc: In function `Item* create_func_sum(MY_XPATH*, Item**,
> uint)':
> item_xmlfunc.cc:1118: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc: In function `int my_xpath_parse_UnionExpr(MY_XPATH*)':
> item_xmlfunc.cc:1818: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc:1822: error: `XPATH_NODESET' is not a member of `Item'
> item_xmlfunc.cc: At global scope:
> item_xmlfunc.cc:2284: error: `Item_xml_str_func' has not been declared
> item_xmlfunc.cc: In function `void fix_length_and_dec()':
> item_xmlfunc.cc:2290: error: `nodeset_func' undeclared (first use this
> function)
> item_xmlfunc.cc:2292: error: `collation' undeclared (first use this 
> function)
> item_xmlfunc.cc:2292: error: `args' undeclared (first use this function)
> item_xmlfunc.cc:2292: error: `arg_count' undeclared (first use this 
> function)
> item_xmlfunc.cc:2292: error: `agg_arg_charsets' undeclared (first use this
> function)
> item_xmlfunc.cc:2315: error: `pxml' undeclared (first use this function)
> item_xmlfunc.cc:2334: error: `max_length' undeclared (first use this
> function)
> item_xmlfunc.cc: In function `uint xml_parent_tag(MY_XML_NODE*, uint, 
> uint)':
> item_xmlfunc.cc:2366: error: `MY_XML_NODE_TAG' undeclared (first use this
> function)
> item_xmlfunc.cc:2367: error: `MY_XML_NODE_ATTR' undeclared (first use this
> function)
> item_xmlfunc.cc: In function `int xml_enter(MY_XML_PARSER*, const char*,
> uint)':
> item_xmlfunc.cc:2399: error: 'struct xml_stack_st' has no member named
> 'current_node_type'
> item_xmlfunc.cc: In function `int xml_value(MY_XML_PARSER*, const char*,
> uint)':
> item_xmlfunc.cc:2429: error: `MY_XML_NODE_TEXT' undeclared (first use this
> function)
> item_xmlfunc.cc: At global scope:
> item_xmlfunc.cc:2474: error: `Item_xml_str_func' has not been declared
> item_xmlfunc.cc: In function `String* parse_xml(String*, String*)':
> item_xmlfunc.cc:2484: error: 'struct MY_XML_PARSER' has no member named
> 'flags'
> item_xmlfunc.cc:2484: error: `MY_XML_FLAG_RELATIVE_NAMES' undeclared
> (first use this function)
> item_xmlfunc.cc:2484: error: `MY_XML_FLAG_SKIP_TEXT_NORMALIZATION'
> undeclared (first use this function)
> item_xmlfunc.cc:2493: error: 'struct MY_XML_PARSER' has no member named
> 'current_node_type'
> item_xmlfunc.cc:2493: error: `MY_XML_NODE_TAG' undeclared (first use this
> function)
> item_xmlfunc.cc: At global scope:
> item_xmlfunc.cc:2504: error: `Item_func_xml_extractvalue' has not been
> declared
> item_xmlfunc.cc: In function `String* val_str(String*)':
> item_xmlfunc.cc:2507: error: `nodeset_func' undeclared (first use this
> function)
> item_xmlfunc.cc:2508: error: `args' undeclared (first use this function)
> item_xmlfunc.cc:2509: error: `pxml' undeclared (first use this function)
> item_xmlfunc.cc:2511: error: `null_value' undeclared (first use this
> function)
> item_xmlfunc.cc:2514: error: `tmp_value' undeclared (first use this 
> function)
> item_xmlfunc.cc: At global scope:
> item_xmlfunc.cc:2519: error: `Item_func_xml_update' has not been declared
> item_xmlfunc.cc: In function `String* val_str(String*)':
> item_xmlfunc.cc:2520: error: redefinition of `String* val_str(String*)'
> item_xmlfunc.cc:2505: error: `String* val_str(String*)' previously defined
> here
> item_xmlfunc.cc:2523: error: `nodeset_func' undeclared (first use this
> function)
> item_xmlfunc.cc:2524: error: `args' undeclared (first use this function)
> item_xmlfunc.cc:2525: error: `tmp_value3' undeclared (first use this
> function)
> item_xmlfunc.cc:2526: error: `pxml' undeclared (first use this function)
> item_xmlfunc.cc:2527: error: `tmp_value2' undeclared (first use this
> function)
> item_xmlfunc.cc:2529: error: `null_value' undeclared (first use this
> function)
> item_xmlfunc.cc:2547: error: `tmp_value' undeclared (first use this 
> function)
> item_xmlfunc.cc:2548: error: `collation' undeclared (first use this 
> function)
> item_xmlfunc.cc:2549: error: `MY_XML_NODE_TAG' undeclared (first use this
> function)
> 
> 
> 
> 
> 
> 
> 
>> From: Bastian Balthazar Bux <BastianBalthazarBux@stripped>
>> To: mel list_php <list_php@stripped>
>> CC: mysql@stripped
>> Subject: Re: mysqlxml
>> Date: Thu, 12 May 2005 11:42:32 +0200
>>
>> mel list_php wrote:
>> > Hi guys,
>> >
>> > I was trying to download the mysqlxml patch for mysql 5.0 but didn't
>> > succeed from the url:
>> > http://d.udm.net/bar/myxml/mysql╜xml.tar.g
>> >
>> > does anybody know where I could find it?
>> > Did anybody tried to use it or have any link to a doc/tutorial in
>> > addition to the presentation of Alexander Barkov
>> > (http://mysql.r18.ru/~bar/myxml/XMLXpathSupportInMySQL.pdf)?
>> >
>> > Thanks,
>> > Melanie
>>
>> try
>> http://mysql.r18.ru/~bar/myxml/
>> >
>> > _________________________________________________________________
>> > Be the first to hear what's new at MSN - sign up to our free
>> > newsletters! http://www.msn.co.uk/newsletters
>> >
>> >
>>
>>
>> -- 
>>  ....................................................................
>> . These pages are best viewed by coming to my house and looking at   .
>> . my monitor. [S. Lucas Bergman (on his website)]                    .
>>  ....................................................................
>>
>> -- 
>> MySQL General Mailing List
>> For list archives: http://lists.mysql.com/mysql
>> To unsubscribe:    
>> http://lists.mysql.com/mysql?unsub=1
>>
> 
> _________________________________________________________________
> It's fast, it's easy and it's free. Get MSN Messenger 7.0 today! 
> http://messenger.msn.co.uk
> 
> 

Thread
mysqlxmlmel list_php12 May
  • Re: mysqlxmlBastian Balthazar Bux12 May
    • Re: mysqlxmlmel list_php13 May
      • Re: mysqlxmlAlexander Barkov16 May
        • Re: mysqlxmlmel list_php17 May