MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:Martin Skold Date:June 2 2006 5:26am
Subject:bk commit into 4.1 tree (mskold:1.2489) BUG#18864
View as plain text  
Below is the list of changes that have just been committed into a local
4.1 repository of marty. When marty does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2489 06/06/02 07:26:45 mskold@stripped +4 -0
  Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table

  sql/handler.h
    1.144 06/06/02 07:25:57 mskold@stripped +1 -2
    Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table

  sql/ha_ndbcluster.cc
    1.182 06/06/02 07:25:57 mskold@stripped +6 -0
    Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table

  mysql-test/t/ndb_truncate.test
    1.4 06/06/02 07:25:57 mskold@stripped +14 -9
    Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table

  mysql-test/r/ndb_truncate.result
    1.2 06/06/02 07:25:57 mskold@stripped +16 -7
    Bug #18864  TRUNCATE TABLE doesn't reset AUTO_INCREMENT value on ndb table

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	mskold
# Host:	linux.site
# Root:	/home/marty/MySQL/mysql-4.1

--- 1.143/sql/handler.h	2005-09-21 00:18:26 +02:00
+++ 1.144/sql/handler.h	2006-06-02 07:25:57 +02:00
@@ -533,8 +533,7 @@ extern TYPELIB myisam_stats_method_typel
 #define ha_supports_generate(T) (T != DB_TYPE_INNODB && \
                                  T != DB_TYPE_BERKELEY_DB && \
                                  T != DB_TYPE_ARCHIVE_DB && \
-                                 T != DB_TYPE_FEDERATED_DB && \
-                                 T != DB_TYPE_NDBCLUSTER)
+                                 T != DB_TYPE_FEDERATED_DB)
 
 bool ha_caching_allowed(THD* thd, char* table_key,
                         uint key_length, uint8 cache_type);

--- 1.1/mysql-test/r/ndb_truncate.result	2004-08-04 11:28:34 +02:00
+++ 1.2/mysql-test/r/ndb_truncate.result	2006-06-02 07:25:57 +02:00
@@ -1,14 +1,23 @@
-DROP TABLE IF EXISTS t2;
-CREATE TABLE t2 (
-a bigint unsigned NOT NULL PRIMARY KEY,
+DROP TABLE IF EXISTS t1, t2;
+CREATE TABLE t1 (
+a bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
 b int unsigned not null,
 c int unsigned
 ) engine=ndbcluster;
-select count(*) from t2;
+select count(*) from t1;
 count(*)
 5000
-truncate table t2;
-select count(*) from t2;
+select * from t1 order by a limit 2;
+a	b	c
+1	509	2500
+2	510	7
+truncate table t1;
+select count(*) from t1;
 count(*)
 0
-drop table t2;
+insert into t1 values(NULL,1,1),(NULL,2,2);
+select * from t1 order by a;
+a	b	c
+1	1	1
+2	2	2
+drop table t1;

--- 1.3/mysql-test/t/ndb_truncate.test	2005-07-28 02:21:45 +02:00
+++ 1.4/mysql-test/t/ndb_truncate.test	2006-06-02 07:25:57 +02:00
@@ -2,12 +2,11 @@
 -- source include/not_embedded.inc
 
 --disable_warnings
-DROP TABLE IF EXISTS t2;
+DROP TABLE IF EXISTS t1, t2;
 --enable_warnings
 
-
-CREATE TABLE t2 (
-  a bigint unsigned NOT NULL PRIMARY KEY,
+CREATE TABLE t1 (
+  a bigint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
   b int unsigned not null,
   c int unsigned
 ) engine=ndbcluster;
@@ -20,17 +19,23 @@ let $1=500;
 disable_query_log;
 while ($1)
 {
- eval insert into t2 values($1*10, $1+9, 5*$1), ($1*10+1, $1+10, 7),($1*10+2, $1+10, 7*$1), ($1*10+3, $1+10, 10+$1), ($1*10+4, $1+10, 70*$1), ($1*10+5, $1+10, 7), ($1*10+6, $1+10, 9), ($1*10+7, $1+299, 899), ($1*10+8, $1+10, 12), ($1*10+9, $1+10, 14*$1);
+ eval insert into t1 values(NULL, $1+9, 5*$1), (NULL, $1+10, 7),(NULL, $1+10, 7*$1), (NULL, $1+10, 10+$1), (NULL, $1+10, 70*$1), (NULL, $1+10, 7), (NULL, $1+10, 9), (NULL, $1+299, 899), (NULL, $1+10, 12), (NULL, $1+10, 14*$1);
  dec $1;
 }
 enable_query_log;
 
-select count(*) from t2;
+select count(*) from t1;
+
+select * from t1 order by a limit 2;
+
+truncate table t1;
+
+select count(*) from t1;
 
-truncate table t2;
+insert into t1 values(NULL,1,1),(NULL,2,2);
 
-select count(*) from t2;
+select * from t1 order by a;
 
-drop table t2;
+drop table t1;
 
 # End of 4.1 tests

--- 1.181/sql/ha_ndbcluster.cc	2006-05-30 13:20:30 +02:00
+++ 1.182/sql/ha_ndbcluster.cc	2006-06-02 07:25:57 +02:00
@@ -3767,6 +3767,12 @@ int ha_ndbcluster::create(const char *na
   set_dbname(name2);
   set_tabname(name2);    
 
+  if (current_thd->lex->sql_command == SQLCOM_TRUNCATE)
+  {
+    DBUG_PRINT("info", ("Dropping and re-creating table for TRUNCATE"));
+    if ((my_errno= delete_table(name)))
+      DBUG_RETURN(my_errno);
+  }
   if (create_from_engine)
   {
     /*
Thread
bk commit into 4.1 tree (mskold:1.2489) BUG#18864Martin Skold2 Jun