Merge lp:~akopytov/percona-server/bug901775-5.1 into lp:percona-server/5.1

Proposed by Alexey Kopytov
Status: Merged
Approved by: Alexey Kopytov
Approved revision: 412
Merged at revision: 413
Proposed branch: lp:~akopytov/percona-server/bug901775-5.1
Merge into: lp:percona-server/5.1
Diff against target: 90 lines (+19/-5)
4 files modified
Percona-Server/storage/innodb_plugin/dict/dict0load.c (+2/-2)
Percona-Server/storage/innodb_plugin/fil/fil0fil.c (+12/-1)
Percona-Server/storage/innodb_plugin/include/fil0fil.h (+4/-1)
Percona-Server/storage/innodb_plugin/row/row0mysql.c (+1/-1)
To merge this branch: bzr merge lp:~akopytov/percona-server/bug901775-5.1
Reviewer Review Type Date Requested Status
Percona core Pending
Review via email: mp+86991@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Alexey Kopytov (akopytov) wrote :

Was approved previously. Had to recreate the branch to fix a stacked branch problem, so the previous MP is gone.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Percona-Server/storage/innodb_plugin/dict/dict0load.c'
2--- Percona-Server/storage/innodb_plugin/dict/dict0load.c 2011-11-24 02:00:40 +0000
3+++ Percona-Server/storage/innodb_plugin/dict/dict0load.c 2011-12-28 08:15:30 +0000
4@@ -430,7 +430,7 @@
5 object and check that the .ibd file exists. */
6
7 fil_open_single_table_tablespace(FALSE, space_id,
8- flags, name);
9+ flags, name, NULL);
10 }
11
12 mem_free(name);
13@@ -1023,7 +1023,7 @@
14 if (!fil_open_single_table_tablespace(
15 TRUE, space,
16 flags == DICT_TF_COMPACT ? 0 :
17- flags & ~(~0 << DICT_TF_BITS), name)) {
18+ flags & ~(~0 << DICT_TF_BITS), name, NULL)) {
19 /* We failed to find a sensible
20 tablespace file */
21
22
23=== modified file 'Percona-Server/storage/innodb_plugin/fil/fil0fil.c'
24--- Percona-Server/storage/innodb_plugin/fil/fil0fil.c 2011-11-24 02:00:47 +0000
25+++ Percona-Server/storage/innodb_plugin/fil/fil0fil.c 2011-12-28 08:15:30 +0000
26@@ -3124,8 +3124,11 @@
27 accessing the first page of the file */
28 ulint id, /*!< in: space id */
29 ulint flags, /*!< in: tablespace flags */
30- const char* name) /*!< in: table name in the
31+ const char* name, /*!< in: table name in the
32 databasename/tablename format */
33+ trx_t* trx) /*!< in: transaction. This is only used
34+ for IMPORT TABLESPACE, must be NULL
35+ otherwise */
36 {
37 os_file_t file;
38 char* filepath;
39@@ -3342,6 +3345,11 @@
40 /* over write space id of all pages */
41 rec_offs_init(offsets_);
42
43+ /* Unlock the data dictionary to not block queries
44+ accessing other tables */
45+ ut_a(trx);
46+ row_mysql_unlock_data_dictionary(trx);
47+
48 fprintf(stderr, "InnoDB: Progress in %%:");
49
50 for (offset = 0; offset < free_limit_bytes;
51@@ -3543,6 +3551,9 @@
52
53 fprintf(stderr, " done.\n");
54
55+ /* Reacquire the data dictionary lock */
56+ row_mysql_lock_data_dictionary(trx);
57+
58 /* update SYS_INDEXES set root page */
59 index = dict_table_get_first_index(table);
60 while (index) {
61
62=== modified file 'Percona-Server/storage/innodb_plugin/include/fil0fil.h'
63--- Percona-Server/storage/innodb_plugin/include/fil0fil.h 2011-11-24 02:00:41 +0000
64+++ Percona-Server/storage/innodb_plugin/include/fil0fil.h 2011-12-28 08:15:30 +0000
65@@ -473,8 +473,11 @@
66 accessing the first page of the file */
67 ulint id, /*!< in: space id */
68 ulint flags, /*!< in: tablespace flags */
69- const char* name); /*!< in: table name in the
70+ const char* name, /*!< in: table name in the
71 databasename/tablename format */
72+ trx_t* trx); /*!< in: transaction. This is only
73+ used for IMPORT TABLESPACE, must be NULL
74+ otherwise */
75 /********************************************************************//**
76 It is possible, though very improbable, that the lsn's in the tablespace to be
77 imported have risen above the current system lsn, if a lengthy purge, ibuf
78
79=== modified file 'Percona-Server/storage/innodb_plugin/row/row0mysql.c'
80--- Percona-Server/storage/innodb_plugin/row/row0mysql.c 2011-11-24 16:33:30 +0000
81+++ Percona-Server/storage/innodb_plugin/row/row0mysql.c 2011-12-28 08:15:30 +0000
82@@ -2708,7 +2708,7 @@
83 success = fil_open_single_table_tablespace(
84 TRUE, table->space,
85 table->flags == DICT_TF_COMPACT ? 0 : table->flags,
86- table->name);
87+ table->name, trx);
88 if (success) {
89 table->ibd_file_missing = FALSE;
90 table->tablespace_discarded = FALSE;

Subscribers

People subscribed via source and target branches