diff options
author | Mats Kindahl <mats@sun.com> | 2009-12-15 21:21:00 +0100 |
---|---|---|
committer | Mats Kindahl <mats@sun.com> | 2009-12-15 21:21:00 +0100 |
commit | f9abd14225821a3912a15baa199bcbec7d9e65c1 (patch) | |
tree | d3057d76feb0f4419510a9a2a77dcc4263948d7f /sql/rpl_rli.h | |
parent | ac647f5a3eb12313f981800ac1fd0c562402abcc (diff) | |
parent | 9e980bf79ef0c727c630e79c1bc043c48bc947ee (diff) | |
download | mariadb-git-f9abd14225821a3912a15baa199bcbec7d9e65c1.tar.gz |
Merging with mysql-5.1-rep+2
Diffstat (limited to 'sql/rpl_rli.h')
-rw-r--r-- | sql/rpl_rli.h | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/sql/rpl_rli.h b/sql/rpl_rli.h index 1dc7f3ef0d2..7c43f821295 100644 --- a/sql/rpl_rli.h +++ b/sql/rpl_rli.h @@ -333,13 +333,21 @@ public: uint tables_to_lock_count; /* RBR: Count of tables to lock */ table_mapping m_table_map; /* RBR: Mapping table-id to table */ - inline table_def *get_tabledef(TABLE *tbl) + bool get_table_data(TABLE *table_arg, table_def **tabledef_var, TABLE **conv_table_var) const { - table_def *td= 0; - for (TABLE_LIST *ptr= tables_to_lock; ptr && !td; ptr= ptr->next_global) - if (ptr->table == tbl) - td= &((RPL_TABLE_LIST *)ptr)->m_tabledef; - return (td); + DBUG_ASSERT(tabledef_var && conv_table_var); + for (TABLE_LIST *ptr= tables_to_lock ; ptr != NULL ; ptr= ptr->next_global) + if (ptr->table == table_arg) + { + *tabledef_var= &static_cast<RPL_TABLE_LIST*>(ptr)->m_tabledef; + *conv_table_var= static_cast<RPL_TABLE_LIST*>(ptr)->m_conv_table; + DBUG_PRINT("debug", ("Fetching table data for table %s.%s:" + " tabledef: %p, conv_table: %p", + table_arg->s->db.str, table_arg->s->table_name.str, + *tabledef_var, *conv_table_var)); + return true; + } + return false; } /* |