[Maria-developers] Rev 2733: Backport into MariaDB-5.2 the following: in file:///home/psergey/dev/maria-5.2-dsmrr/
At file:///home/psergey/dev/maria-5.2-dsmrr/ revno: 2733 revision-id: pser...@askmonty.org-20091215071646-gbq7406d2xpopd82 parent: i...@askmonty.org-20091112043128-yd6odg8zr5ribjal committer: Sergey Petrunya branch nick: maria-5.2-dsmrr timestamp: Tue 2009-12-15 10:16:46 +0300 message: Backport into MariaDB-5.2 the following: WL#2474 "Multi Range Read: Change the default MRR implementation to implement new MRR interface" WL#2475 "Batched range read functions for MyISAM/InnoDb" "Index condition pushdown for MyISAM/InnoDB" Igor's fix from sp1r-i...@olga.mysql.com-20080330055902-07614: There could be observed the following problems: 1. EXPLAIN did not mention pushdown conditions from on expressions in the 'extra' column. As a result if a query had no where conditions pushed down to a table, but had on conditions pushed to this table the 'extra' column in the EXPLAIN for the table missed 'using where'. 2. Conditions for ref access were not eliminated from on expressions though such conditions were eliminated from the where condition. Diff too large for email (23741 lines, the limit is 1000). ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2785)
Arjen Lentz writes: > Which other external libraries are currently still embedded into the > source tree? These are the ones I know of: zlib libedit libreadline yassl libevent I think most (all?) of them have a ./configure option to use the system one instead of the bundled one. I guess the main problem with boost is the sheer size. The largest of the above is yassl, with 182 files and <2 MB total size. - Kristian ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2785)
Hi Timour On 14/12/2009, at 11:40 PM, Timour Katchaounov wrote: Do you think that it is reasonable that all such projects should follow the approach you suggest, and internally embed the libraries they use (or parts thereof)? I did not suggest this, I was following the existing way of doing it from MySQL, and stated its reasoning. I dislike it as much as anybody else here, so questioning/arguing me over it is not going to solve the problem. What you need to do is invalidate the original reasoning for embedding libraries into the tree. The key aspect as I understand it is availability of the correct version on some build platforms, particularly older distros. That's a technical aspect, not an arbitrary choice by anyone that you can just change by arguing. However, distros have changed since the decision long ago, and so the assertions may no longer hold true. We can investigate that and that way perhaps be able to declare the issue obsolete! Which other external libraries are currently still embedded into the source tree? For each, let's identify why, and in any case try to remove them. If that works out, major win! Cheers, Arjen. -- Arjen Lentz, Exec.Director @ Open Query (http://openquery.com) Exceptional Services for MySQL at a fixed budget. Follow our blog at http://openquery.com/blog/ OurDelta: packages for MySQL and MariaDB @ http://ourdelta.org ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2785)
Hi Arjen, Hi Igor On 14/12/2009, at 12:39 PM, Igor Babaev wrote: There should be a common sense after all. Adding 7K files from boost doesn't comply with a common sense. no matter what Arjen thinks about it. If oqgraph cannot do without boost in the MariaDB development tree we'd better drop oqgraph. It's not much in size, it's numbers of files that you're concerned about - and I fully share your concern. I'd need to check (and possibly verify with Antony) how the Boost include logic works and if we can therefore strip it to the bits OQGRAPH actually uses. My concern is that Oqgraph includes as a major part of its implementation a generic library like Boost. Suppose tomorrow we get another storage engine (or any plugin) that also needs part of Boost, and then another one that uses STL, and then another one that, let's say, uses LEDA. All great libraries. Do you think that it is reasonable that all such projects should follow the approach you suggest, and internally embed the libraries they use (or parts thereof)? Timour Cheers, Arjen. ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
Re: [Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2785)
Hi Sergei On 14/12/2009, at 5:58 PM, Sergei Golubchik wrote: But independent of that, I think boost as an external dependency should be fine. At least until there will be an indication that it's not. Yep, we're looking at doing exactly that. We'll see if that breaks on some of our build platforms, and then deal with the why/what. Cheers, Arjen. -- Arjen Lentz, Exec.Director @ Open Query (http://openquery.com) Exceptional Services for MySQL at a fixed budget. Follow our blog at http://openquery.com/blog/ OurDelta: packages for MySQL and MariaDB @ http://ourdelta.org ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp
[Maria-developers] bzr commit into MariaDB 5.1, with Maria 1.5:maria branch (knielsen:2776)
#At lp:maria 2776 kniel...@knielsen-hq.org 2009-12-14 [merge] Merge latest PBXT fixes from Paul. modified: storage/pbxt/src/myxt_xt.cc === modified file 'storage/pbxt/src/myxt_xt.cc' --- a/storage/pbxt/src/myxt_xt.cc 2009-12-01 09:50:46 + +++ b/storage/pbxt/src/myxt_xt.cc 2009-12-10 11:36:05 + @@ -3041,14 +3041,6 @@ xtPublic MX_CHARSET_INFO *myxt_getcharse return (MX_CHARSET_INFO *)&my_charset_utf8_general_ci; } -#ifdef DBUG_OFF -//typedef struct st_plugin_int *plugin_ref; -#define REF_MYSQL_PLUGIN(x)(x) -#else -//typedef struct st_plugin_int **plugin_ref; -#define REF_MYSQL_PLUGIN(x)(*(x)) -#endif - xtPublic void *myxt_create_thread() { #ifdef DRIZZLED @@ -3109,14 +3101,18 @@ xtPublic void *myxt_create_thread() /* * If PBXT is the default storage engine, then creating any THD objects will add extra -* references to the PBXT plugin object and will effectively deadlock the plugin so -* that server will have to force plugin shutdown. To avoid deadlocking and forced shutdown -* we must dereference the plugin after creating THD objects. +* references to the PBXT plugin object. because the threads are created but PBXT +* this creates a self reference, and the reference count does not go to zero +* on shutdown. +* +* The server then issues a message that it is forcing shutdown of the plugin. +* +* However, the engine reference is not required by the THDs used by PBXT, so +* I just remove them here. */ - LEX_STRING& plugin_name = REF_MYSQL_PLUGIN(new_thd->variables.table_plugin)->name; - if ((plugin_name.length == 4) && (strncmp(plugin_name.str, "PBXT", plugin_name.length) == 0)) { - REF_MYSQL_PLUGIN(new_thd->variables.table_plugin)->ref_count--; - } + plugin_unlock(NULL, new_thd->variables.table_plugin); + new_thd->variables.table_plugin = NULL; + new_thd->thread_stack = (char *) &new_thd; new_thd->store_globals(); lex_start(new_thd); @@ -3151,17 +3147,6 @@ xtPublic void myxt_destroy_thread(void * #else close_thread_tables(thd); #endif - - /* -* In myxt_create_thread we decremented plugin ref-count to avoid dead-locking. -* Here we need to increment ref-count to avoid assertion failures. -*/ - if (thd->variables.table_plugin) { - LEX_STRING& plugin_name = REF_MYSQL_PLUGIN(thd->variables.table_plugin)->name; - if ((plugin_name.length == 4) && (strncmp(plugin_name.str, "PBXT", plugin_name.length) == 0)) { - REF_MYSQL_PLUGIN(thd->variables.table_plugin)->ref_count++; - } - } delete thd; ___ Mailing list: https://launchpad.net/~maria-developers Post to : maria-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp