Merge lp:~vkolesnikov/pbxt/pbxt-maria-windows-app-ver-fixes into lp:pbxt

Proposed by Vladimir Kolesnikov
Status: Work in progress
Proposed branch: lp:~vkolesnikov/pbxt/pbxt-maria-windows-app-ver-fixes
Merge into: lp:pbxt
Diff against target: 171 lines (+22/-9)
9 files modified
src/cache_xt.cc (+5/-0)
src/discover_xt.cc (+1/-1)
src/ha_pbxt.cc (+2/-2)
src/heap_xt.cc (+1/-0)
src/lock_xt.cc (+5/-0)
src/lock_xt.h (+1/-0)
src/table_xt.cc (+6/-4)
src/xaction_xt.cc (+0/-1)
src/xt_defs.h (+1/-1)
To merge this branch: bzr merge lp:~vkolesnikov/pbxt/pbxt-maria-windows-app-ver-fixes
Reviewer Review Type Date Requested Status
PBXT Core Pending
Review via email: mp+64683@code.launchpad.net

Description of the change

Hi Paul,

these fixes were done by Vladislav Vaintroub of MariaDB team in the MariaDB branch of PBXT. I merged them back and tested on both Linux and Windows against MariaDB and MySQL 5.1.

To post a comment you must log in.

Unmerged revisions

868. By vladimir <vladimir@d17>

fixes by MariaDB team

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/cache_xt.cc'
--- src/cache_xt.cc 2010-08-31 10:14:41 +0000
+++ src/cache_xt.cc 2011-06-15 13:25:27 +0000
@@ -717,6 +717,11 @@
717 ind_handle_exit(self);717 ind_handle_exit(self);
718718
719 if (ind_cac_globals.cg_blocks) {719 if (ind_cac_globals.cg_blocks) {
720 XTIndBlockPtr block = ind_cac_globals.cg_blocks;
721 for (u_int i=0; i<ind_cac_globals.cg_block_count; i++) {
722 XT_IPAGE_FREE_LOCK(self, &block->cb_lock);
723 block++;
724 }
720 xt_free(self, ind_cac_globals.cg_blocks);725 xt_free(self, ind_cac_globals.cg_blocks);
721 ind_cac_globals.cg_blocks = NULL;726 ind_cac_globals.cg_blocks = NULL;
722 xt_free_mutex(&ind_cac_globals.cg_lock);727 xt_free_mutex(&ind_cac_globals.cg_lock);
723728
=== modified file 'src/discover_xt.cc'
--- src/discover_xt.cc 2010-09-10 14:46:31 +0000
+++ src/discover_xt.cc 2011-06-15 13:25:27 +0000
@@ -1623,7 +1623,7 @@
1623#endif1623#endif
1624 NULL /*default_value*/, NULL /*on_update_value*/, &comment, NULL /*change*/, 1624 NULL /*default_value*/, NULL /*on_update_value*/, &comment, NULL /*change*/,
1625 NULL /*interval_list*/, info->field_charset, 0 /*uint_geom_type*/1625 NULL /*interval_list*/, info->field_charset, 0 /*uint_geom_type*/
1626#ifdef MARIADB_BASE_VERSION1626#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 50200
1627 , NULL /*vcol_info*/, NULL /* create options */1627 , NULL /*vcol_info*/, NULL /* create options */
1628#endif1628#endif
1629 )) 1629 ))
16301630
=== modified file 'src/ha_pbxt.cc'
--- src/ha_pbxt.cc 2010-12-10 12:45:07 +0000
+++ src/ha_pbxt.cc 2011-06-15 13:25:27 +0000
@@ -1615,7 +1615,7 @@
1615static XTThreadPtr ha_temp_open_global_database(handlerton *hton, THD **ret_thd, int *temp_thread, const char *thread_name, int *err)1615static XTThreadPtr ha_temp_open_global_database(handlerton *hton, THD **ret_thd, int *temp_thread, const char *thread_name, int *err)
1616{1616{
1617 THD *thd;1617 THD *thd;
1618 XTThreadPtr self = NULL;1618 XTThreadPtr volatile self = NULL;
16191619
1620 *temp_thread = 0;1620 *temp_thread = 0;
1621 if ((thd = current_thd))1621 if ((thd = current_thd))
@@ -6159,7 +6159,7 @@
6159drizzle_declare_plugin_end;6159drizzle_declare_plugin_end;
6160#else6160#else
6161mysql_declare_plugin_end;6161mysql_declare_plugin_end;
6162#ifdef MARIADB_BASE_VERSION6162#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 50200
6163maria_declare_plugin(pbxt)6163maria_declare_plugin(pbxt)
6164{ /* PBXT */6164{ /* PBXT */
6165 MYSQL_STORAGE_ENGINE_PLUGIN,6165 MYSQL_STORAGE_ENGINE_PLUGIN,
61666166
=== modified file 'src/heap_xt.cc'
--- src/heap_xt.cc 2009-11-10 15:17:41 +0000
+++ src/heap_xt.cc 2011-06-15 13:25:27 +0000
@@ -109,6 +109,7 @@
109 if (hp->h_finalize)109 if (hp->h_finalize)
110 (*hp->h_finalize)(self, hp);110 (*hp->h_finalize)(self, hp);
111 xt_spinlock_unlock(&hp->h_lock);111 xt_spinlock_unlock(&hp->h_lock);
112 xt_spinlock_free(NULL, &hp->h_lock);
112 xt_free(self, hp);113 xt_free(self, hp);
113 return;114 return;
114 }115 }
115116
=== modified file 'src/lock_xt.cc'
--- src/lock_xt.cc 2011-04-07 16:12:22 +0000
+++ src/lock_xt.cc 2011-06-15 13:25:27 +0000
@@ -726,11 +726,15 @@
726 rl->rl_groups[i].lg_list_in_use = 0;726 rl->rl_groups[i].lg_list_in_use = 0;
727 rl->rl_groups[i].lg_list = NULL;727 rl->rl_groups[i].lg_list = NULL;
728 }728 }
729 rl->valid = 1;
729 return OK;730 return OK;
730}731}
731732
732void xt_exit_row_locks(XTRowLocksPtr rl)733void xt_exit_row_locks(XTRowLocksPtr rl)
733{734{
735 if (!rl->valid)
736 return;
737
734 for (int i=0; i<XT_ROW_LOCK_GROUP_COUNT; i++) {738 for (int i=0; i<XT_ROW_LOCK_GROUP_COUNT; i++) {
735 xt_spinlock_free(NULL, &rl->rl_groups[i].lg_lock);739 xt_spinlock_free(NULL, &rl->rl_groups[i].lg_lock);
736 rl->rl_groups[i].lg_wait_queue = NULL;740 rl->rl_groups[i].lg_wait_queue = NULL;
@@ -741,6 +745,7 @@
741 rl->rl_groups[i].lg_list = NULL;745 rl->rl_groups[i].lg_list = NULL;
742 }746 }
743 }747 }
748 rl->valid = 0;
744}749}
745750
746/*751/*
747752
=== modified file 'src/lock_xt.h'
--- src/lock_xt.h 2010-05-06 12:18:50 +0000
+++ src/lock_xt.h 2011-06-15 13:25:27 +0000
@@ -658,6 +658,7 @@
658struct XTLockWait;658struct XTLockWait;
659659
660typedef struct XTRowLocks {660typedef struct XTRowLocks {
661 int valid;
661 XTLockGroupRec rl_groups[XT_ROW_LOCK_GROUP_COUNT];662 XTLockGroupRec rl_groups[XT_ROW_LOCK_GROUP_COUNT];
662663
663 void xt_cancel_temp_lock(XTLockWaitPtr lw);664 void xt_cancel_temp_lock(XTLockWaitPtr lw);
664665
=== modified file 'src/table_xt.cc'
--- src/table_xt.cc 2010-11-10 12:03:11 +0000
+++ src/table_xt.cc 2011-06-15 13:25:27 +0000
@@ -728,7 +728,7 @@
728{728{
729 u_int edx;729 u_int edx;
730 XTTableEntryPtr te_ptr;730 XTTableEntryPtr te_ptr;
731 volatile XTTableHPtr tab;731 volatile XTTableHPtr tab= 0;
732 char path[PATH_MAX];732 char path[PATH_MAX];
733733
734 enter_();734 enter_();
@@ -1134,7 +1134,7 @@
1134 XTOpenFilePtr of_rec, of_ind;1134 XTOpenFilePtr of_rec, of_ind;
1135 XTTableEntryPtr te_ptr;1135 XTTableEntryPtr te_ptr;
1136 size_t tab_format_offset;1136 size_t tab_format_offset;
1137 size_t tab_head_size;1137 size_t tab_head_size= 0;
11381138
1139 enter_();1139 enter_();
11401140
@@ -1757,6 +1757,8 @@
1757 tab_close_mapped_files(self, tab);1757 tab_close_mapped_files(self, tab);
17581758
1759 tab_delete_table_files(self, tab_name, tab_id);1759 tab_delete_table_files(self, tab_name, tab_id);
1760 /* Remove table from "repair-pending" */
1761 xt_tab_table_repaired(tab);
17601762
1761 ASSERT(xt_get_self() == self);1763 ASSERT(xt_get_self() == self);
1762 if ((te_ptr = (XTTableEntryPtr) xt_sl_find(self, db->db_table_by_id, &tab_id))) {1764 if ((te_ptr = (XTTableEntryPtr) xt_sl_find(self, db->db_table_by_id, &tab_id))) {
@@ -4456,10 +4458,10 @@
4456 xtXactID rec_xn_id = 0;4458 xtXactID rec_xn_id = 0;
4457 xtBool wait = FALSE;4459 xtBool wait = FALSE;
4458 xtXactID wait_xn_id = 0;4460 xtXactID wait_xn_id = 0;
4459 xtRowID row_id;4461 xtRowID row_id= 0;
4460 xtRecordID var_rec_id;4462 xtRecordID var_rec_id;
4461 xtXactID xn_id;4463 xtXactID xn_id;
4462 register XTTableHPtr tab;4464 register XTTableHPtr tab = 0;
4463#ifdef TRACE_VARIATIONS_IN_DUP_CHECK4465#ifdef TRACE_VARIATIONS_IN_DUP_CHECK
4464 char t_buf[500];4466 char t_buf[500];
4465 int len;4467 int len;
44664468
=== modified file 'src/xaction_xt.cc'
--- src/xaction_xt.cc 2010-08-31 13:58:00 +0000
+++ src/xaction_xt.cc 2011-06-15 13:25:27 +0000
@@ -1123,7 +1123,6 @@
1123 */1123 */
1124 for (u_int i=0; i<XT_XN_NO_OF_SEGMENTS; i++) {1124 for (u_int i=0; i<XT_XN_NO_OF_SEGMENTS; i++) {
1125 seg = &db->db_xn_idx[i];1125 seg = &db->db_xn_idx[i];
1126 XT_XACT_INIT_LOCK(self, &seg->xs_tab_lock);
1127 seg->xs_last_xn_id = db->db_xn_curr_id;1126 seg->xs_last_xn_id = db->db_xn_curr_id;
1128 }1127 }
11291128
11301129
=== modified file 'src/xt_defs.h'
--- src/xt_defs.h 2010-09-10 14:46:31 +0000
+++ src/xt_defs.h 2011-06-15 13:25:27 +0000
@@ -891,7 +891,7 @@
891#define MX_ULONGLONG_T ulonglong891#define MX_ULONGLONG_T ulonglong
892#define MX_LONGLONG_T longlong892#define MX_LONGLONG_T longlong
893#define MX_CHARSET_INFO CHARSET_INFO893#define MX_CHARSET_INFO CHARSET_INFO
894#ifdef MARIADB_BASE_VERSION894#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID > 50200
895#define MX_CONST_CHARSET_INFO const struct charset_info_st895#define MX_CONST_CHARSET_INFO const struct charset_info_st
896#else896#else
897#define MX_CONST_CHARSET_INFO struct charset_info_st897#define MX_CONST_CHARSET_INFO struct charset_info_st

Subscribers

People subscribed via source and target branches