Below is the list of changes that have just been committed into a local
5.2 repository of psergey. When psergey does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet@stripped, 2008-03-15 23:07:21+03:00, sergefp@stripped +2 -0
Comment out mutex acqusition/release code in DS-MRR implementation
Fix for join buffering and outer joins from Igor
sql/handler.cc@stripped, 2008-03-15 23:07:15+03:00, sergefp@stripped +4 -4
Comment out mutex acqusition/release code in DS-MRR implementation
sql/sql_select.cc@stripped, 2008-03-15 23:07:15+03:00, sergefp@stripped +1 -0
Fix for join buffering and outer joins from Igor
diff -Nrup a/sql/handler.cc b/sql/handler.cc
--- a/sql/handler.cc 2007-12-23 04:40:37 +03:00
+++ b/sql/handler.cc 2008-03-15 23:07:15 +03:00
@@ -3535,7 +3535,7 @@ int DsMrr_impl::dsmrr_init(handler *h, K
So we lock the mutex now and will unlock it when doing disk sweeps.
*/
- pthread_mutex_lock(&dsmrr_mutex);
+ //pthread_mutex_lock(&dsmrr_mutex);
need_unlock= TRUE;
DBUG_RETURN(0);
@@ -3553,7 +3553,7 @@ void DsMrr_impl::dsmrr_close()
DBUG_ENTER("DsMrr_impl::dsmrr_close");
if (need_unlock)
{
- pthread_mutex_unlock(&dsmrr_mutex);
+ //pthread_mutex_unlock(&dsmrr_mutex);
need_unlock= FALSE;
}
if (h2)
@@ -3649,7 +3649,7 @@ int DsMrr_impl::dsmrr_next(handler *h, c
do
{
- pthread_mutex_unlock(&dsmrr_mutex);
+ //pthread_mutex_unlock(&dsmrr_mutex);
need_unlock= FALSE;
if (rowids_buf_cur == rowids_buf_last)
{
@@ -3679,7 +3679,7 @@ int DsMrr_impl::dsmrr_next(handler *h, c
/* Switching to Sweep read read. Lock the mutex back */
need_unlock= TRUE;
- pthread_mutex_lock(&dsmrr_mutex);
+ //pthread_mutex_lock(&dsmrr_mutex);
cur_rowid= rowids_buf_cur;
rowids_buf_cur += h->ref_length + sizeof(void*) * test(is_mrr_assoc);
diff -Nrup a/sql/sql_select.cc b/sql/sql_select.cc
--- a/sql/sql_select.cc 2007-12-23 02:19:56 +03:00
+++ b/sql/sql_select.cc 2008-03-15 23:07:15 +03:00
@@ -17151,6 +17151,7 @@ enum_nested_loop_state JOIN_CACHE::join_
restore_record(join_tab->table, s->default_values);
mark_as_null_row(join_tab->table);
/* Check all attached conditions for inner table rows. */
+ join_tab->first_unmatched->found= 1;
if (join_tab->select && join_tab->select->skip_record())
continue;
if (is_last_inner)
| Thread |
|---|
| • bk commit into 5.2 tree (sergefp:1.2598) | Sergey Petrunia | 15 Mar |