Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
226e2be1
Commit
226e2be1
authored
Dec 20, 2006
by
mskold/marty@linux.site
Browse files
Options
Browse Files
Download
Plain Diff
Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-ndb
into mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
parents
74a5079f
3587ee8e
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
61 additions
and
26 deletions
+61
-26
include/my_base.h
include/my_base.h
+8
-0
mysql-test/r/ndb_dd_alter.result
mysql-test/r/ndb_dd_alter.result
+10
-4
mysql-test/r/ndb_dd_disk2memory.result
mysql-test/r/ndb_dd_disk2memory.result
+2
-2
mysql-test/r/rpl_ndb_dd_advance.result
mysql-test/r/rpl_ndb_dd_advance.result
+6
-6
mysql-test/t/ndb_dd_alter.test
mysql-test/t/ndb_dd_alter.test
+4
-0
mysql-test/t/ndb_dd_disk2memory.test
mysql-test/t/ndb_dd_disk2memory.test
+1
-1
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+11
-5
sql/ha_ndbcluster.h
sql/ha_ndbcluster.h
+1
-1
sql/handler.h
sql/handler.h
+2
-2
sql/sql_show.cc
sql/sql_show.cc
+2
-2
sql/sql_table.cc
sql/sql_table.cc
+10
-1
sql/sql_yacc.yy
sql/sql_yacc.yy
+4
-2
No files found.
include/my_base.h
View file @
226e2be1
...
...
@@ -96,6 +96,14 @@ enum ha_key_alg {
HA_KEY_ALG_FULLTEXT
=
4
/* FULLTEXT (MyISAM tables) */
};
/* Storage media types */
enum
ha_storage_media
{
HA_SM_DEFAULT
=
0
,
/* Not specified (engine default) */
HA_SM_DISK
=
1
,
/* DISK storage */
HA_SM_MEMORY
=
2
/* MAIN MEMORY storage */
};
/* The following is parameter to ha_extra() */
enum
ha_extra_function
{
...
...
mysql-test/r/ndb_dd_alter.result
View file @
226e2be1
...
...
@@ -282,7 +282,13 @@ a1
18
19
20
SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0';
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
NULL test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default ts
ALTER TABLE test.t1 ADD a2 FLOAT, ADD a3 DOUBLE;
SELECT * FROM information_schema.partitions WHERE table_name= 't1' AND partition_name = 'p0';
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PARTITION_NAME SUBPARTITION_NAME PARTITION_ORDINAL_POSITION SUBPARTITION_ORDINAL_POSITION PARTITION_METHOD SUBPARTITION_METHOD PARTITION_EXPRESSION SUBPARTITION_EXPRESSION PARTITION_DESCRIPTION TABLE_ROWS AVG_ROW_LENGTH DATA_LENGTH MAX_DATA_LENGTH INDEX_LENGTH DATA_FREE CREATE_TIME UPDATE_TIME CHECK_TIME CHECKSUM PARTITION_COMMENT NODEGROUP TABLESPACE_NAME
NULL test t1 p0 NULL 1 NULL KEY NULL NULL NULL 0 0 0 NULL 0 0 NULL NULL NULL NULL default default ts
SELECT * FROM test.t1 ORDER BY a1;
a1 a2 a3
1 2.2345 20000001
...
...
@@ -369,7 +375,7 @@ t1 CREATE TABLE `t1` (
`a13` text,
`a14` blob,
PRIMARY KEY (`a1`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE ts STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
ALTER TABLE test.t1 ADD INDEX a2_i (a2), ADD INDEX a3_i (a3);
SHOW CREATE TABLE test.t1;
Table Create Table
...
...
@@ -391,7 +397,7 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`a1`),
KEY `a2_i` (`a2`),
KEY `a3_i` (`a3`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE ts STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
ALTER TABLE test.t1 DROP INDEX a2_i;
SHOW CREATE TABLE test.t1;
Table Create Table
...
...
@@ -412,7 +418,7 @@ t1 CREATE TABLE `t1` (
`a14` blob,
PRIMARY KEY (`a1`),
KEY `a3_i` (`a3`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE ts STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
ALTER TABLE test.t1 DROP a14;
ALTER TABLE test.t1 DROP a13;
ALTER TABLE test.t1 DROP a12;
...
...
@@ -432,7 +438,7 @@ t1 CREATE TABLE `t1` (
`a4` bit(1) DEFAULT NULL,
`a5` tinyint(4) DEFAULT NULL,
KEY `a3_i` (`a3`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE ts STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
DROP TABLE test.t1;
ALTER TABLESPACE ts
DROP DATAFILE './table_space/datafile.dat'
...
...
mysql-test/r/ndb_dd_disk2memory.result
View file @
226e2be1
...
...
@@ -237,7 +237,7 @@ t2 CREATE TABLE `t2` (
`c2` int(11) NOT NULL,
PRIMARY KEY (`pk2`)
) /*!50100 TABLESPACE table_space1 STORAGE DISK */ ENGINE=ndbcluster DEFAULT CHARSET=latin1
ALTER TABLE test.t1 ENGINE=NDBCLUSTER;
ALTER TABLE test.t1
STORAGE MEMORY
ENGINE=NDBCLUSTER;
SHOW CREATE TABLE test.t1;
Table Create Table
t1 CREATE TABLE `t1` (
...
...
@@ -341,7 +341,7 @@ t1 CREATE TABLE `t1` (
KEY `a2` (`a2`),
KEY `a3` (`a3`),
KEY `a8` (`a8`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE table_space1 STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
Table Create Table
t2 CREATE TABLE `t2` (
`b1` smallint(6) NOT NULL,
...
...
mysql-test/r/rpl_ndb_dd_advance.result
View file @
226e2be1
...
...
@@ -70,7 +70,7 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`c1`),
KEY `t1_i` (`c2`,`c3`),
KEY `c5` (`c5`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE ts1 STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
**** Show first set of ALTERs on SLAVE ****
SHOW CREATE TABLE t1;
Table Create Table
...
...
@@ -83,7 +83,7 @@ t1 CREATE TABLE `t1` (
PRIMARY KEY (`c1`),
KEY `t1_i` (`c2`,`c3`),
KEY `c5` (`c5`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE ts1 STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
**** Second set of alters test 1 ****
ALTER TABLE t1 RENAME t2;
ALTER TABLE t2 DROP INDEX c5;
...
...
@@ -102,7 +102,7 @@ t1 CREATE TABLE `t1` (
`c5` double DEFAULT NULL,
PRIMARY KEY (`c1`),
KEY `t1_i` (`c2`,`c3`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE ts1 STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
**** Show second set of ALTERs on SLAVE ****
SHOW CREATE TABLE t1;
Table Create Table
...
...
@@ -114,7 +114,7 @@ t1 CREATE TABLE `t1` (
`c5` double DEFAULT NULL,
PRIMARY KEY (`c1`),
KEY `t1_i` (`c2`,`c3`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE ts1 STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
**** Third and last set of alters for test1 ****
ALTER TABLE t1 CHANGE c1 c1 DOUBLE;
ALTER TABLE t1 CHANGE c2 c2 DECIMAL(10,2);
...
...
@@ -136,7 +136,7 @@ t1 CREATE TABLE `t1` (
`c5` double DEFAULT NULL,
PRIMARY KEY (`c1`),
KEY `t1_i` (`c2`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE ts1 STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
SELECT * FROM t1 ORDER BY c1 LIMIT 5;
c1 c2 c3 c5
1 2.00 b1b1b1b1b1b1b1b1b1b1 NULL
...
...
@@ -154,7 +154,7 @@ t1 CREATE TABLE `t1` (
`c5` double DEFAULT NULL,
PRIMARY KEY (`c1`),
KEY `t1_i` (`c2`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
)
/*!50100 TABLESPACE ts1 STORAGE DISK */
ENGINE=ndbcluster DEFAULT CHARSET=latin1
SELECT * FROM t1 where c1 = 1;
c1 c2 c3 c5
1 2.00 b1b1b1b1b1b1b1b1b1b1 NULL
...
...
mysql-test/t/ndb_dd_alter.test
View file @
226e2be1
...
...
@@ -156,8 +156,12 @@ enable_query_log;
SELECT
*
FROM
test
.
t1
ORDER
BY
a1
;
SELECT
*
FROM
information_schema
.
partitions
WHERE
table_name
=
't1'
AND
partition_name
=
'p0'
;
ALTER
TABLE
test
.
t1
ADD
a2
FLOAT
,
ADD
a3
DOUBLE
;
SELECT
*
FROM
information_schema
.
partitions
WHERE
table_name
=
't1'
AND
partition_name
=
'p0'
;
let
$
1
=
20
;
disable_query_log
;
while
(
$
1
)
...
...
mysql-test/t/ndb_dd_disk2memory.test
View file @
226e2be1
...
...
@@ -111,7 +111,7 @@ SHOW CREATE TABLE test.t1;
ALTER
TABLE
test
.
t2
TABLESPACE
table_space1
STORAGE
DISK
ENGINE
=
NDB
;
SHOW
CREATE
TABLE
test
.
t2
;
ALTER
TABLE
test
.
t1
ENGINE
=
NDBCLUSTER
;
ALTER
TABLE
test
.
t1
STORAGE
MEMORY
ENGINE
=
NDBCLUSTER
;
SHOW
CREATE
TABLE
test
.
t1
;
--
echo
######################### End Test Section 2 #################
...
...
sql/ha_ndbcluster.cc
View file @
226e2be1
...
...
@@ -4807,7 +4807,7 @@ int ha_ndbcluster::create(const char *name,
if
((
my_errno
=
create_ndb_column
(
col
,
field
,
info
)))
DBUG_RETURN
(
my_errno
);
if
(
info
->
stor
e_on_disk
||
getenv
(
"NDB_DEFAULT_DISK"
))
if
(
info
->
stor
age_media
==
HA_SM_DISK
||
getenv
(
"NDB_DEFAULT_DISK"
))
col
.
setStorageType
(
NdbDictionary
::
Column
::
StorageTypeDisk
);
else
col
.
setStorageType
(
NdbDictionary
::
Column
::
StorageTypeMemory
);
...
...
@@ -4827,7 +4827,7 @@ int ha_ndbcluster::create(const char *name,
NdbDictionary
::
Column
::
StorageTypeMemory
);
}
if
(
info
->
stor
e_on_disk
)
if
(
info
->
stor
age_media
==
HA_SM_DISK
)
{
if
(
info
->
tablespace
)
tab
.
setTablespace
(
info
->
tablespace
);
...
...
@@ -4837,7 +4837,7 @@ int ha_ndbcluster::create(const char *name,
else
if
(
info
->
tablespace
)
{
tab
.
setTablespace
(
info
->
tablespace
);
info
->
stor
e_on_disk
=
true
;
//if use tablespace, that also means store on disk
info
->
stor
age_media
=
HA_SM_DISK
;
//if use tablespace, that also means store on disk
}
// No primary key, create shadow key as 64 bit, auto increment
...
...
@@ -9949,7 +9949,7 @@ int ha_ndbcluster::generate_scan_filter_from_key(NdbScanOperation *op,
/*
get table space info for SHOW CREATE TABLE
*/
char
*
ha_ndbcluster
::
get_tablespace_name
(
THD
*
thd
)
char
*
ha_ndbcluster
::
get_tablespace_name
(
THD
*
thd
,
char
*
name
,
uint
name_len
)
{
Ndb
*
ndb
=
check_ndb_in_thd
(
thd
);
NDBDICT
*
ndbdict
=
ndb
->
getDictionary
();
...
...
@@ -9967,7 +9967,13 @@ char* ha_ndbcluster::get_tablespace_name(THD *thd)
ndberr
=
ndbdict
->
getNdbError
();
if
(
ndberr
.
classification
!=
NdbError
::
NoError
)
goto
err
;
return
(
my_strdup
(
ts
.
getName
(),
MYF
(
0
)));
if
(
name
)
{
strxnmov
(
name
,
name_len
,
ts
.
getName
(),
NullS
);
return
name
;
}
else
return
(
my_strdup
(
ts
.
getName
(),
MYF
(
0
)));
}
err:
if
(
ndberr
.
status
==
NdbError
::
TemporaryError
)
...
...
sql/ha_ndbcluster.h
View file @
226e2be1
...
...
@@ -824,7 +824,7 @@ static void set_tabname(const char *pathname, char *tabname);
uint
set_up_partition_info
(
partition_info
*
part_info
,
TABLE
*
table
,
void
*
tab
);
char
*
get_tablespace_name
(
THD
*
thd
);
char
*
get_tablespace_name
(
THD
*
thd
,
char
*
name
,
uint
name_len
);
int
set_range_data
(
void
*
tab
,
partition_info
*
part_info
);
int
set_list_data
(
void
*
tab
,
partition_info
*
part_info
);
int
complemented_read
(
const
byte
*
old_data
,
byte
*
new_data
,
...
...
sql/handler.h
View file @
226e2be1
...
...
@@ -764,7 +764,7 @@ typedef struct st_ha_create_information
bool
table_existed
;
/* 1 in create if table existed */
bool
frm_only
;
/* 1 if no ha_create_table() */
bool
varchar
;
/* 1 if table has a VARCHAR */
bool
store_on_disk
;
/* 1 if table stored on disk
*/
enum
ha_storage_media
storage_media
;
/* DEFAULT, DISK or MEMORY
*/
}
HA_CREATE_INFO
;
...
...
@@ -1410,7 +1410,7 @@ class handler :public Sql_alloc
{
return
FALSE
;
}
virtual
char
*
get_foreign_key_create_info
()
{
return
(
NULL
);}
/* gets foreign key create string from InnoDB */
virtual
char
*
get_tablespace_name
(
THD
*
thd
)
virtual
char
*
get_tablespace_name
(
THD
*
thd
,
char
*
name
,
uint
name_len
)
{
return
(
NULL
);}
/* gets tablespace name from handler */
/* used in ALTER TABLE; 1 if changing storage engine is allowed */
virtual
bool
can_switch_engines
()
{
return
1
;
}
...
...
sql/sql_show.cc
View file @
226e2be1
...
...
@@ -1267,7 +1267,7 @@ int store_create_info(THD *thd, TABLE_LIST *table_list, String *packet,
to the CREATE TABLE statement
*/
if
((
for_str
=
file
->
get_tablespace_name
(
thd
)))
if
((
for_str
=
file
->
get_tablespace_name
(
thd
,
0
,
0
)))
{
packet
->
append
(
STRING_WITH_LEN
(
" /*!50100 TABLESPACE "
));
packet
->
append
(
for_str
,
strlen
(
for_str
));
...
...
@@ -3974,7 +3974,7 @@ static void store_schema_partitions_record(THD *thd, TABLE *schema_table,
strlen
(
part_elem
->
tablespace_name
),
cs
);
else
{
char
*
ts
=
showing_table
->
file
->
get_tablespace_name
(
thd
);
char
*
ts
=
showing_table
->
file
->
get_tablespace_name
(
thd
,
0
,
0
);
if
(
ts
)
{
table
->
field
[
24
]
->
store
(
ts
,
strlen
(
ts
),
cs
);
...
...
sql/sql_table.cc
View file @
226e2be1
...
...
@@ -5307,7 +5307,7 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
int
error
;
char
tmp_name
[
80
],
old_name
[
32
],
new_name_buff
[
FN_REFLEN
];
char
new_alias_buff
[
FN_REFLEN
],
*
table_name
,
*
db
,
*
new_alias
,
*
alias
;
char
index_file
[
FN_REFLEN
],
data_file
[
FN_REFLEN
];
char
index_file
[
FN_REFLEN
],
data_file
[
FN_REFLEN
]
,
tablespace
[
FN_LEN
]
;
char
path
[
FN_REFLEN
];
char
reg_path
[
FN_REFLEN
+
1
];
ha_rows
copied
,
deleted
;
...
...
@@ -5630,6 +5630,15 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name,
if
(
!
(
used_fields
&
HA_CREATE_USED_KEY_BLOCK_SIZE
))
create_info
->
key_block_size
=
table
->
s
->
key_block_size
;
if
(
!
create_info
->
tablespace
&&
create_info
->
storage_media
!=
HA_SM_MEMORY
)
{
/*
Regular alter table of disk stored table (no tablespace/storage change)
Copy tablespace name
*/
if
((
table
->
file
->
get_tablespace_name
(
thd
,
tablespace
,
FN_LEN
)))
create_info
->
tablespace
=
tablespace
;
}
restore_record
(
table
,
s
->
default_values
);
// Empty record for DEFAULT
List_iterator
<
Alter_drop
>
drop_it
(
alter_info
->
drop_list
);
List_iterator
<
create_field
>
def_it
(
fields
);
...
...
sql/sql_yacc.yy
View file @
226e2be1
...
...
@@ -3947,8 +3947,8 @@ create_table_option:
| DATA_SYM DIRECTORY_SYM opt_equal TEXT_STRING_sys { Lex->create_info.data_file_name= $4.str; Lex->create_info.used_fields|= HA_CREATE_USED_DATADIR; }
| INDEX_SYM DIRECTORY_SYM opt_equal TEXT_STRING_sys { Lex->create_info.index_file_name= $4.str; Lex->create_info.used_fields|= HA_CREATE_USED_INDEXDIR; }
| TABLESPACE ident {Lex->create_info.tablespace= $2.str;}
| STORAGE_SYM DISK_SYM {Lex->create_info.stor
e_on_disk= TRUE
;}
| STORAGE_SYM MEMORY_SYM {Lex->create_info.stor
e_on_disk= FALSE
;}
| STORAGE_SYM DISK_SYM {Lex->create_info.stor
age_media= HA_SM_DISK
;}
| STORAGE_SYM MEMORY_SYM {Lex->create_info.stor
age_media= HA_SM_MEMORY
;}
| CONNECTION_SYM opt_equal TEXT_STRING_sys { Lex->create_info.connect_string.str= $3.str; Lex->create_info.connect_string.length= $3.length; Lex->create_info.used_fields|= HA_CREATE_USED_CONNECTION; }
| KEY_BLOCK_SIZE opt_equal ulong_num
{
...
...
@@ -4690,6 +4690,7 @@ alter:
lex->alter_info.reset();
lex->alter_info.flags= 0;
lex->no_write_to_binlog= 0;
lex->create_info.storage_media= HA_SM_DEFAULT;
}
alter_commands
{}
...
...
@@ -8342,6 +8343,7 @@ show_param:
if (!lex->select_lex.add_table_to_list(YYTHD, $3, NULL,0))
YYABORT;
lex->only_view= 0;
lex->create_info.storage_media= HA_SM_DEFAULT;
}
| CREATE VIEW_SYM table_ident
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment