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
55824f59
Commit
55824f59
authored
Feb 17, 2005
by
msvensson@neptunus.(none)
Browse files
Options
Browse Files
Download
Plain Diff
Merged test case
parents
10ab1c55
a004533a
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
79 additions
and
26 deletions
+79
-26
BitKeeper/etc/logging_ok
BitKeeper/etc/logging_ok
+1
-0
mysql-test/r/ndb_autodiscover.result
mysql-test/r/ndb_autodiscover.result
+18
-1
mysql-test/t/ndb_autodiscover.test
mysql-test/t/ndb_autodiscover.test
+22
-0
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+23
-25
sql/sql_table.cc
sql/sql_table.cc
+15
-0
No files found.
BitKeeper/etc/logging_ok
View file @
55824f59
...
...
@@ -155,6 +155,7 @@ mronstrom@mysql.com
mskold@bk-internal.mysql.com
mskold@mysql.com
msvensson@build.mysql.com
msvensson@neptunus.(none)
msvensson@neptunus.homeip.net
mwagner@cash.mwagner.org
mwagner@evoq.mwagner.org
...
...
mysql-test/r/ndb_autodiscover.result
View file @
55824f59
...
...
@@ -167,8 +167,25 @@ show status like 'handler_discover%';
Variable_name Value
Handler_discover 0
drop table t4;
ERROR 42S02: Unknown table 't4'
create table t4(
id int not null primary key,
name char(27)
) engine=ndb;
insert into t4 values (1, "Automatic");
select * from t4;
id name
1 Automatic
select * from t4;
ERROR 42S02: Table 'test.t4' doesn't exist
drop table if exists t4;
Warnings:
Note 1051 Unknown table 't4'
drop table t5;
ERROR 42S02: Unknown table 't5'
drop table if exists t5;
Warnings:
Error 1296 Got error 709 'No such table existed' from NDB
Note 1051 Unknown table 't5'
flush status;
create table t4(
id int not null primary key,
...
...
mysql-test/t/ndb_autodiscover.test
View file @
55824f59
...
...
@@ -209,8 +209,30 @@ select * from t4;
select
*
from
t4
;
show
status
like
'handler_discover%'
;
--
error
1051
drop
table
t4
;
create
table
t4
(
id
int
not
null
primary
key
,
name
char
(
27
)
)
engine
=
ndb
;
insert
into
t4
values
(
1
,
"Automatic"
);
select
*
from
t4
;
# Remove the table from NDB
system
exec
$NDB_TOOLS_DIR
/
ndb_drop_table
--
no
-
defaults
-
d
test
t4
>>
$NDB_TOOLS_OUTPUT
;
--
error
1146
select
*
from
t4
;
drop
table
if
exists
t4
;
# Test that dropping a table that does not exists
# on disk or in NDB gives same result as above
--
error
1051
drop
table
t5
;
drop
table
if
exists
t5
;
#######################################################
# Test that a table that has been dropped from NDB
...
...
sql/ha_ndbcluster.cc
View file @
55824f59
...
...
@@ -157,7 +157,7 @@ static const err_code_mapping err_map[]=
{
721
,
HA_ERR_TABLE_EXIST
,
1
},
{
4244
,
HA_ERR_TABLE_EXIST
,
1
},
{
709
,
HA_ERR_NO_SUCH_TABLE
,
1
},
{
709
,
HA_ERR_NO_SUCH_TABLE
,
0
},
{
284
,
HA_ERR_NO_SUCH_TABLE
,
1
},
{
266
,
HA_ERR_LOCK_WAIT_TIMEOUT
,
1
},
...
...
@@ -2362,14 +2362,13 @@ void ha_ndbcluster::print_results()
char
buf_type
[
MAX_FIELD_WIDTH
],
buf_val
[
MAX_FIELD_WIDTH
];
String
type
(
buf_type
,
sizeof
(
buf_type
),
&
my_charset_bin
);
String
val
(
buf_val
,
sizeof
(
buf_val
),
&
my_charset_bin
);
for
(
uint
f
=
0
;
f
<
table
->
s
->
fields
;
f
++
)
for
(
uint
f
=
0
;
f
<
table
->
s
->
fields
;
f
++
)
{
/* Use DBUG_PRINT since DBUG_FILE cannot be filtered out */
char
buf
[
2000
];
Field
*
field
;
void
*
ptr
;
NdbValue
value
;
NdbBlob
*
ndb_blob
;
buf
[
0
]
=
0
;
field
=
table
->
field
[
f
];
...
...
@@ -2383,7 +2382,6 @@ void ha_ndbcluster::print_results()
if
(
!
(
field
->
flags
&
BLOB_FLAG
))
{
ndb_blob
=
NULL
;
if
(
value
.
rec
->
isNULL
())
{
my_snprintf
(
buf
,
sizeof
(
buf
),
"NULL"
);
...
...
@@ -2397,7 +2395,7 @@ void ha_ndbcluster::print_results()
}
else
{
ndb_blob
=
value
.
blob
;
NdbBlob
*
ndb_blob
=
value
.
blob
;
bool
isNull
=
TRUE
;
ndb_blob
->
getNull
(
isNull
);
if
(
isNull
)
{
...
...
@@ -3994,26 +3992,30 @@ int ha_ndbcluster::alter_table_name(const char *to)
/*
Delete a table from NDB Cluster
Delete table from NDB Cluster
*/
int
ha_ndbcluster
::
delete_table
(
const
char
*
name
)
{
DBUG_ENTER
(
"delete_table"
);
DBUG_ENTER
(
"
ha_ndbcluster::
delete_table"
);
DBUG_PRINT
(
"enter"
,
(
"name: %s"
,
name
));
set_dbname
(
name
);
set_tabname
(
name
);
if
(
check_ndb_connection
())
DBUG_RETURN
(
HA_ERR_NO_CONNECTION
);
// Remove .ndb file
/* Call ancestor function to delete .ndb file */
handler
::
delete_table
(
name
);
/* Drop the table from NDB */
DBUG_RETURN
(
drop_table
());
}
/*
Drop
a
table in NDB Cluster
Drop table in NDB Cluster
*/
int
ha_ndbcluster
::
drop_table
()
...
...
@@ -4024,15 +4026,9 @@ int ha_ndbcluster::drop_table()
DBUG_ENTER
(
"drop_table"
);
DBUG_PRINT
(
"enter"
,
(
"Deleting %s"
,
m_tabname
));
release_metadata
();
if
(
dict
->
dropTable
(
m_tabname
))
{
const
NdbError
err
=
dict
->
getNdbError
();
if
(
err
.
code
==
709
)
;
// 709: No such table existed
else
ERR_RETURN
(
dict
->
getNdbError
());
}
release_metadata
();
DBUG_RETURN
(
0
);
}
...
...
@@ -4510,17 +4506,19 @@ int ndbcluster_find_files(THD *thd,const char *db,const char *path,
List_iterator_fast
<
char
>
it3
(
delete_list
);
while
((
file_name
=
it3
++
))
{
DBUG_PRINT
(
"info"
,
(
"Remove table %s/%s"
,
db
,
file_name
));
DBUG_PRINT
(
"info"
,
(
"Remove table %s/%s"
,
db
,
file_name
));
// Delete the table and all related files
TABLE_LIST
table_list
;
bzero
((
char
*
)
&
table_list
,
sizeof
(
table_list
));
table_list
.
db
=
(
char
*
)
db
;
table_list
.
alias
=
table_list
.
table_name
=
(
char
*
)
file_name
;
(
void
)
mysql_rm_table_part2
(
thd
,
&
table_list
,
/* if_exists */
TRUE
,
/* if_exists */
FALSE
,
/* drop_temporary */
FALSE
,
/* drop_view */
FALSE
,
/* dont_log_query*/
TRUE
);
/* Clear error message that is returned when table is deleted */
thd
->
clear_error
();
}
}
...
...
sql/sql_table.cc
View file @
55824f59
...
...
@@ -249,6 +249,21 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists,
if
(
!
(
error
=
my_delete
(
path
,
MYF
(
MY_WME
))))
some_tables_deleted
=
1
;
}
if
(
error
==
HA_ERR_NO_SUCH_TABLE
)
{
/* The table did not exist in engine */
if
(
if_exists
)
{
push_warning_printf
(
thd
,
MYSQL_ERROR
::
WARN_LEVEL_NOTE
,
ER_BAD_TABLE_ERROR
,
ER
(
ER_BAD_TABLE_ERROR
),
table
->
table_name
);
error
=
0
;
}
/* Delete the table definition file */
strmov
(
end
,
reg_ext
);
if
(
!
(
my_delete
(
path
,
MYF
(
MY_WME
))))
some_tables_deleted
=
1
;
}
}
if
(
error
)
{
...
...
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