← Back to team overview

maria-developers team mailing list archive

Re: bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2788)

 

Arjen,

I merged 5.1.39-oqgraph with latest MariaDB 5.1-release, discarding the boost
stuff from bzr history as we discussed and solving the merge conflict.

In addition I made the following fixes:

 - Check if a test case should be skipped already before starting the server;
   this avoids a test failure due to warning about the plugin missing in the
   server logs when the plugin is not available.

 - Fix the check for plugin availability (this is not directly related to
   OQGraph; there was a regression in MariaDB causing also tests using the
   example plugin to be wrongly skipped).

 - Fix the ha_oqgraph.cc to use DB_TYPE_AUTOASSIGN (new better name for
   DB_TYPE_UNKNOWN), as suggested by Serg. It was using DB_TYPE_DEFAULT which
   causes a warning in the server log.

I pushed the result here:

    lp:~knielsen/maria/mariadb-5.1-oqgraph

There is still one problem. When I installed the boost that comes with Ubuntu
Hardy:

    sudo apt-get install libboost-graph-dev

I get the following build failure:

graphcore.cc:52: warning: missing initializer for member ‘open_query::row::orig_indicator’
graphcore.cc:52: warning: missing initializer for member ‘open_query::row::dest_indicator’
graphcore.cc:52: warning: missing initializer for member ‘open_query::row::weight_indicator’
graphcore.cc:52: warning: missing initializer for member ‘open_query::row::seq_indicator’
graphcore.cc:52: warning: missing initializer for member ‘open_query::row::link_indicator’
graphcore.cc:52: warning: missing initializer for member ‘open_query::row::latch’
graphcore.cc:52: warning: missing initializer for member ‘open_query::row::orig’
graphcore.cc:52: warning: missing initializer for member ‘open_query::row::dest’
graphcore.cc:52: warning: missing initializer for member ‘open_query::row::weight’
graphcore.cc:52: warning: missing initializer for member ‘open_query::row::seq’
graphcore.cc:52: warning: missing initializer for member ‘open_query::row::link’
graphcore.cc:79: error: ‘internal_vertex_name’ is not a template
graphcore.cc:80: error: explicit specialization of non-template ‘boost::graph::internal_vertex_name’
graphcore.cc:81: error: ‘multi_index’ has not been declared
graphcore.cc:81: error: ISO C++ forbids declaration of ‘member’ with no type
graphcore.cc:81: error: typedef name may not be a nested-name-specifier
graphcore.cc:81: error: expected ‘;’ before ‘<’ token
graphcore.cc:85: error: ‘internal_vertex_constructor’ is not a template
graphcore.cc:86: error: explicit specialization of non-template ‘boost::graph::internal_vertex_constructor’
graphcore.cc:87: error: ISO C++ forbids declaration of ‘vertex_from_name’ with no type
graphcore.cc:87: error: expected ‘;’ before ‘<’ token
graphcore.cc: In member function ‘boost::optional<long unsigned int> open_query::oqgraph_share::find_vertex(open_query::VertexID) const’:
graphcore.cc:499: error: ‘find_vertex’ is not a member of ‘boost::graph’
make[2]: *** [libgraphcore_la-graphcore.lo] Error 1

I think the plug.in needs an additional check for minimal boost version
needed. We need to avoid that default ./configure && make will cause a
compilation failure on a common platform like Ubuntu Hardy.

Other than the missing boost version check, this is starting to look ready to
include in MariaDB 5.1. Let's see what Buildbot has to say. We of course also
need to install Boost on a number of the Buildbot hosts, including all the
package building ones.

 - Kristian.

knielsen@xxxxxxxxxxxxxxx writes:

> #At lp:maria
>
>  2788 knielsen@xxxxxxxxxxxxxxx	2010-01-04
>       Fix wrong db_type for OQGraph hton.
>       modified:
>         storage/oqgraph/ha_oqgraph.cc
>
> === modified file 'storage/oqgraph/ha_oqgraph.cc'
> --- a/storage/oqgraph/ha_oqgraph.cc	2010-01-04 08:27:50 +0000
> +++ b/storage/oqgraph/ha_oqgraph.cc	2010-01-04 13:32:42 +0000
> @@ -139,7 +139,7 @@ static bool oqgraph_init()
>    }
>  #if MYSQL_VERSION_ID >= 50100
>    hton->state= SHOW_OPTION_YES;
> -  hton->db_type= DB_TYPE_DEFAULT;
> +  hton->db_type= DB_TYPE_AUTOASSIGN;
>    hton->create= oqgraph_create_handler;
>    hton->flags= HTON_NO_FLAGS;
>  #endif



References