From d3f1a6f0cb4d906ef57a7fb741cabd052b266c94 Mon Sep 17 00:00:00 2001 From: "wax@kishkin.ru" <> Date: Tue, 10 Aug 2004 15:48:22 +0600 Subject: [PATCH 1/6] BUG#4315 BUG#4535 BUG#4686 --- mysql-test/r/func_gconcat.result | 30 +++++++++++++++++++++++++++ mysql-test/t/func_gconcat.test | 35 ++++++++++++++++++++++++++++++++ sql/item_sum.cc | 19 +++++++++++++---- 3 files changed, 80 insertions(+), 4 deletions(-) diff --git a/mysql-test/r/func_gconcat.result b/mysql-test/r/func_gconcat.result index 0c8054c1f03..1ddbc18d965 100644 --- a/mysql-test/r/func_gconcat.result +++ b/mysql-test/r/func_gconcat.result @@ -321,3 +321,33 @@ HAVING LEFT(names, 1) ='J'; names John###Anna###Bill DROP TABLE t1; +CREATE TABLE t1 ( a int, b TEXT ); +INSERT INTO t1 VALUES (1,'First Row'), (2,'Second Row'); +SELECT GROUP_CONCAT(b ORDER BY b) FROM t1 GROUP BY a; +GROUP_CONCAT(b ORDER BY b) +First Row +Second Row +DROP TABLE t1; +CREATE TABLE t1 (a_id tinyint(4) NOT NULL default '0', PRIMARY KEY (a_id)) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO t1 VALUES (1),(2),(3); +CREATE TABLE t2 (b_id tinyint(4) NOT NULL default '0',b_a tinyint(4) NOT NULL default '0', PRIMARY KEY (b_id), KEY (b_a), +CONSTRAINT fk_b_a FOREIGN KEY (b_a) REFERENCES t1 (a_id) ON DELETE CASCADE ON UPDATE NO ACTION) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO t2 VALUES (1,1),(2,1),(3,1),(4,2),(5,2); +SELECT * FROM (SELECT t1.*,GROUP_CONCAT(t2.b_id SEPARATOR ',') as b_list FROM (t1 LEFT JOIN (t2) on t1.a_id = t2.b_a) GROUP BY t1.a_id ) AS xyz; +a_id b_list +1 1,2,3 +2 4,5 +3 NULL +DROP TABLE t2; +DROP TABLE t1; +CREATE TABLE t1 (A_ID INT NOT NULL,A_DESC CHAR(3) NOT NULL,PRIMARY KEY (A_ID)); +INSERT INTO t1 VALUES (1,'ABC'), (2,'EFG'), (3,'HIJ'); +CREATE TABLE t2 (A_ID INT NOT NULL,B_DESC CHAR(3) NOT NULL,PRIMARY KEY (A_ID,B_DESC)); +INSERT INTO t2 VALUES (1,'A'),(1,'B'),(3,'F'); +SELECT t1.A_ID, GROUP_CONCAT(t2.B_DESC) AS B_DESC FROM t1 LEFT JOIN t2 ON t1.A_ID=t2.A_ID GROUP BY t1.A_ID ORDER BY t1.A_DESC; +A_ID B_DESC +1 A,B +2 NULL +3 F +DROP TABLE t1; +DROP TABLE t2; diff --git a/mysql-test/t/func_gconcat.test b/mysql-test/t/func_gconcat.test index 62343fa2af8..d27e5d7d77f 100644 --- a/mysql-test/t/func_gconcat.test +++ b/mysql-test/t/func_gconcat.test @@ -201,3 +201,38 @@ SELECT GROUP_CONCAT(a SEPARATOR '||') AS names FROM t1 SELECT GROUP_CONCAT(a SEPARATOR '###') AS names FROM t1 HAVING LEFT(names, 1) ='J'; DROP TABLE t1; + +# +# check blobs +# + +CREATE TABLE t1 ( a int, b TEXT ); +INSERT INTO t1 VALUES (1,'First Row'), (2,'Second Row'); +SELECT GROUP_CONCAT(b ORDER BY b) FROM t1 GROUP BY a; +DROP TABLE t1; + +# +# check null values #1 +# + +CREATE TABLE t1 (a_id tinyint(4) NOT NULL default '0', PRIMARY KEY (a_id)) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO t1 VALUES (1),(2),(3); +CREATE TABLE t2 (b_id tinyint(4) NOT NULL default '0',b_a tinyint(4) NOT NULL default '0', PRIMARY KEY (b_id), KEY (b_a), + CONSTRAINT fk_b_a FOREIGN KEY (b_a) REFERENCES t1 (a_id) ON DELETE CASCADE ON UPDATE NO ACTION) ENGINE=InnoDB DEFAULT CHARSET=latin1; +INSERT INTO t2 VALUES (1,1),(2,1),(3,1),(4,2),(5,2); +SELECT * FROM (SELECT t1.*,GROUP_CONCAT(t2.b_id SEPARATOR ',') as b_list FROM (t1 LEFT JOIN (t2) on t1.a_id = t2.b_a) GROUP BY t1.a_id ) AS xyz; +DROP TABLE t2; +DROP TABLE t1; + +# +# check null values #2 +# + +CREATE TABLE t1 (A_ID INT NOT NULL,A_DESC CHAR(3) NOT NULL,PRIMARY KEY (A_ID)); +INSERT INTO t1 VALUES (1,'ABC'), (2,'EFG'), (3,'HIJ'); +CREATE TABLE t2 (A_ID INT NOT NULL,B_DESC CHAR(3) NOT NULL,PRIMARY KEY (A_ID,B_DESC)); +INSERT INTO t2 VALUES (1,'A'),(1,'B'),(3,'F'); +SELECT t1.A_ID, GROUP_CONCAT(t2.B_DESC) AS B_DESC FROM t1 LEFT JOIN t2 ON t1.A_ID=t2.A_ID GROUP BY t1.A_ID ORDER BY t1.A_DESC; +DROP TABLE t1; +DROP TABLE t2; + diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 7a8e15e0a9d..b7eb1b7219b 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -1966,14 +1966,13 @@ Item_func_group_concat::fix_fields(THD *thd, TABLE_LIST *tables, Item **ref) Fix fields for select list and ORDER clause */ - for (i= 0 ; i < arg_count ; i++) + for (uint i=0 ; i < arg_count ; i++) { if (args[i]->fix_fields(thd, tables, args + i) || args[i]->check_cols(1)) return 1; - if (i < arg_count_field && args[i]->maybe_null) - maybe_null= 0; + maybe_null |= args[i]->maybe_null; } - + result_field= 0; null_value= 1; max_length= group_concat_max_len; @@ -1993,6 +1992,8 @@ bool Item_func_group_concat::setup(THD *thd) uint const_fields; byte *record; qsort_cmp2 compare_key; + Copy_field *ptr; + Copy_field *end; DBUG_ENTER("Item_func_group_concat::setup"); if (select_lex->linkage == GLOBAL_OPTIONS_TYPE) @@ -2054,6 +2055,16 @@ bool Item_func_group_concat::setup(THD *thd) key_length= table->reclength; record= table->record[0]; + /* + We need to store value of blob in buffer of a record instead of a pointer of + one. + */ + ptr=tmp_table_param->copy_field; + end=tmp_table_param->copy_field_end; + + for (; ptr != end; ptr++) + ptr->set(ptr->to_field,ptr->from_field,1); + /* Offset to first result field in table */ field_list_offset= table->fields - (list.elements - const_fields); From 3a55c4bcaea1f0f91b74fce56d6c6b04b60ed350 Mon Sep 17 00:00:00 2001 From: "wax@kishkin.ru" <> Date: Wed, 11 Aug 2004 15:15:37 +0600 Subject: [PATCH 2/6] BUG#4315 BUG#4535 BUG#4686 --- sql/item_sum.cc | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/sql/item_sum.cc b/sql/item_sum.cc index b7eb1b7219b..c256055d5bb 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -1966,13 +1966,14 @@ Item_func_group_concat::fix_fields(THD *thd, TABLE_LIST *tables, Item **ref) Fix fields for select list and ORDER clause */ - for (uint i=0 ; i < arg_count ; i++) + for (i=0 ; i < arg_count ; i++) { if (args[i]->fix_fields(thd, tables, args + i) || args[i]->check_cols(1)) return 1; - maybe_null |= args[i]->maybe_null; + if (i < arg_count_field) + maybe_null |= args[i]->maybe_null; } - + result_field= 0; null_value= 1; max_length= group_concat_max_len; @@ -1992,8 +1993,6 @@ bool Item_func_group_concat::setup(THD *thd) uint const_fields; byte *record; qsort_cmp2 compare_key; - Copy_field *ptr; - Copy_field *end; DBUG_ENTER("Item_func_group_concat::setup"); if (select_lex->linkage == GLOBAL_OPTIONS_TYPE) @@ -2044,10 +2043,13 @@ bool Item_func_group_concat::setup(THD *thd) Note that in the table, we first have the ORDER BY fields, then the field list. + + We need to set set_sum_field in true for storing value of blob in buffer + of a record instead of a pointer of one. */ - if (!(table=create_tmp_table(thd, tmp_table_param, all_fields, 0, - 0, 0, 0,select_lex->options | thd->options, - (char *) ""))) + if (!(table=create_tmp_table(thd, tmp_table_param, all_fields, + (ORDER*) 0, 0, TRUE,select_lex->options | thd->options, + HA_POS_ERROR,(char *) ""))) DBUG_RETURN(1); table->file->extra(HA_EXTRA_NO_ROWS); table->no_rows= 1; @@ -2055,16 +2057,6 @@ bool Item_func_group_concat::setup(THD *thd) key_length= table->reclength; record= table->record[0]; - /* - We need to store value of blob in buffer of a record instead of a pointer of - one. - */ - ptr=tmp_table_param->copy_field; - end=tmp_table_param->copy_field_end; - - for (; ptr != end; ptr++) - ptr->set(ptr->to_field,ptr->from_field,1); - /* Offset to first result field in table */ field_list_offset= table->fields - (list.elements - const_fields); From a554f7756d12c2fa17b4dde1f8eeafe091cdfa8a Mon Sep 17 00:00:00 2001 From: "bar@mysql.com" <> Date: Wed, 11 Aug 2004 18:06:20 +0500 Subject: [PATCH 3/6] ctype_uca.test, ctype_uca.result, ctype-uca.c: Slovak collation didn't work: typo fix in the tailoring rules --- mysql-test/r/ctype_uca.result | 110 ++++++++++++++++++++++++++++++++++ mysql-test/t/ctype_uca.test | 2 +- strings/ctype-uca.c | 2 +- 3 files changed, 112 insertions(+), 2 deletions(-) diff --git a/mysql-test/r/ctype_uca.result b/mysql-test/r/ctype_uca.result index 2fd654da434..94fe15fed26 100644 --- a/mysql-test/r/ctype_uca.result +++ b/mysql-test/r/ctype_uca.result @@ -1548,6 +1548,116 @@ Z,z,Ź,ź,Ż,ż ǁ ǂ ǃ +select group_concat(c1 order by c1) from t1 group by c1 collate utf8_slovak_ci; +group_concat(c1 order by c1) +÷ +× +A,a,À,Á,Â,Ã,Å,à,á,â,ã,å,Ā,ā,Ă,ă,Ą,ą,Ǎ,ǎ,Ǟ,ǟ,Ǡ,ǡ,Ǻ,ǻ +AA,Aa,aA,aa +Ä,ä +Æ,æ,Ǣ,ǣ,Ǽ,ǽ +B,b +ƀ +Ɓ +Ƃ,ƃ +C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ +cH +Č,č +Ƈ,ƈ +D,d,Ď,ď +DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz +Đ,đ +Ɖ +Ɗ +Ƌ,ƌ +Ð,ð +E,e,È,É,Ê,Ë,è,é,ê,ë,Ē,ē,Ĕ,ĕ,Ė,ė,Ę,ę,Ě,ě +Ǝ,ǝ +Ə +Ɛ +F,f +Ƒ,ƒ +G,g,Ĝ,ĝ,Ğ,ğ,Ġ,ġ,Ģ,ģ,Ǧ,ǧ,Ǵ,ǵ +Ǥ,ǥ +Ɠ +Ɣ +Ƣ,ƣ +H,h,Ĥ,ĥ +CH,Ch,ch +ƕ,Ƕ +Ħ,ħ +I,i,Ì,Í,Î,Ï,ì,í,î,ï,Ĩ,ĩ,Ī,ī,Ĭ,ĭ,Į,į,İ,Ǐ,ǐ +IJ,Ij,iJ,ij,IJ,ij +ı +Ɨ +Ɩ +J,j,Ĵ,ĵ,ǰ +K,k,Ķ,ķ,Ǩ,ǩ +Ƙ,ƙ +L,l,Ĺ,ĺ,Ļ,ļ,Ľ,ľ +Ŀ,ŀ +LJ,Lj,lJ,lj,LJ,Lj,lj +LL,Ll,lL,ll +Ł,ł +ƚ +ƛ +M,m +N,n,Ñ,ñ,Ń,ń,Ņ,ņ,Ň,ň,Ǹ,ǹ +NJ,Nj,nJ,nj,NJ,Nj,nj +Ɲ +ƞ +Ŋ,ŋ +O,o,Ò,Ó,Õ,Ö,ò,ó,õ,ö,Ō,ō,Ŏ,ŏ,Ő,ő,Ơ,ơ,Ǒ,ǒ,Ǫ,ǫ,Ǭ,ǭ +OE,Oe,oE,oe,Œ,œ +Ô,ô +Ø,ø,Ǿ,ǿ +Ɔ +Ɵ +P,p +Ƥ,ƥ +Q,q +ĸ +R,r,Ŕ,ŕ,Ŗ,ŗ,Ř,ř +RR,Rr,rR,rr +Ʀ +S,s,Ś,ś,Ŝ,ŝ,Ş,ş,ſ +SS,Ss,sS,ss,ß +Š,š +Ʃ +ƪ +T,t,Ţ,ţ,Ť,ť +ƾ +Ŧ,ŧ +ƫ +Ƭ,ƭ +Ʈ +U,u,Ù,Ú,Û,Ü,ù,ú,û,ü,Ũ,ũ,Ū,ū,Ŭ,ŭ,Ů,ů,Ű,ű,Ų,ų,Ư,ư,Ǔ,ǔ,Ǖ,ǖ,Ǘ,ǘ,Ǚ,ǚ,Ǜ,ǜ +Ɯ +Ʊ +V,v +Ʋ +W,w,Ŵ,ŵ +X,x +Y,y,Ý,ý,ÿ,Ŷ,ŷ,Ÿ +Ƴ,ƴ +Z,z,Ź,ź,Ż,ż +ƍ +Ž,ž +Ƶ,ƶ +Ʒ,Ǯ,ǯ +Ƹ,ƹ +ƺ +Þ,þ +ƿ,Ƿ +ƻ +Ƨ,ƨ +Ƽ,ƽ +Ƅ,ƅ +ʼn +ǀ +ǁ +ǂ +ǃ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_spanish2_ci; group_concat(c1 order by c1) ÷ diff --git a/mysql-test/t/ctype_uca.test b/mysql-test/t/ctype_uca.test index 0ab46a5a637..187d21f9ab7 100644 --- a/mysql-test/t/ctype_uca.test +++ b/mysql-test/t/ctype_uca.test @@ -176,7 +176,7 @@ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_turkish_ci; select group_concat(c1 order by c1) from t1 group by c1 collate utf8_czech_ci; select group_concat(c1 order by c1) from t1 group by c1 collate utf8_danish_ci; select group_concat(c1 order by c1) from t1 group by c1 collate utf8_lithuanian_ci; ---select group_concat(c1 order by c1) from t1 group by c1 collate utf8_slovak_ci; +select group_concat(c1 order by c1) from t1 group by c1 collate utf8_slovak_ci; select group_concat(c1 order by c1) from t1 group by c1 collate utf8_spanish2_ci; select group_concat(c1 order by c1) from t1 group by c1 collate utf8_roman_ci; diff --git a/strings/ctype-uca.c b/strings/ctype-uca.c index 1b49abd0fbb..cecc3be5045 100644 --- a/strings/ctype-uca.c +++ b/strings/ctype-uca.c @@ -6645,7 +6645,7 @@ static const char slovak[]= "& H < ch <<< Ch <<< CH" "& O < \\u00F4 <<< \\u00D4" "& S < \\u0161 <<< \\u0160" - "& Z < \\u017E <<< \\017D"; + "& Z < \\u017E <<< \\u017D"; static const char spanish2[]= /* Also good for Asturian and Galician */ "&C < ch <<< Ch <<< CH" From dd8c87f7a5221a3e70d6e20a5e9d25995b3a1f8d Mon Sep 17 00:00:00 2001 From: "serg@serg.mylan" <> Date: Wed, 11 Aug 2004 15:25:02 +0200 Subject: [PATCH 4/6] bug fixed: when inited=0, can_be_used should be 0 too. (BUG#4901) --- mysys/mf_keycache.c | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/mysys/mf_keycache.c b/mysys/mf_keycache.c index 32b3154b8ed..de3bfc5d30b 100644 --- a/mysys/mf_keycache.c +++ b/mysys/mf_keycache.c @@ -29,10 +29,10 @@ to disk, if neccessary. This is handled in find_key_block(). With the new free list, the blocks can have three temperatures: hot, warm and cold (which is free). This is remembered in the block header - by the enum BLOCK_TEMPERATURE temperature variable. Remembering the - temperature is neccessary to correctly count the number of warm blocks, - which is required to decide when blocks are allowed to become hot. Whenever - a block is inserted to another (sub-)chain, we take the old and new + by the enum BLOCK_TEMPERATURE temperature variable. Remembering the + temperature is neccessary to correctly count the number of warm blocks, + which is required to decide when blocks are allowed to become hot. Whenever + a block is inserted to another (sub-)chain, we take the old and new temperature into account to decide if we got one more or less warm block. blocks_unused is the sum of never used blocks in the pool and of currently free blocks. blocks_used is the number of blocks fetched from the pool and @@ -475,13 +475,13 @@ int resize_key_cache(KEY_CACHE *keycache, uint key_cache_block_size, if (!keycache->key_cache_inited) DBUG_RETURN(keycache->disk_blocks); - + if(key_cache_block_size == keycache->key_cache_block_size && use_mem == keycache->key_cache_mem_size) { change_key_cache_param(keycache, division_limit, age_threshold); DBUG_RETURN(keycache->disk_blocks); - } + } keycache_pthread_mutex_lock(&keycache->cache_lock); @@ -504,7 +504,7 @@ int resize_key_cache(KEY_CACHE *keycache, uint key_cache_block_size, goto finish; } keycache->resize_in_flush= 0; - keycache->can_be_used= 0; + keycache->can_be_used= 0; while (keycache->cnt_for_resize_op) { keycache_pthread_cond_wait(&thread->suspend, &keycache->cache_lock); @@ -540,9 +540,9 @@ static inline void inc_counter_for_resize_op(KEY_CACHE *keycache) */ static inline void dec_counter_for_resize_op(KEY_CACHE *keycache) { - struct st_my_thread_var *last_thread; + struct st_my_thread_var *last_thread; if (!--keycache->cnt_for_resize_op && - (last_thread= keycache->resize_queue.last_thread)) + (last_thread= keycache->resize_queue.last_thread)) keycache_pthread_cond_signal(&last_thread->next->suspend); } @@ -551,7 +551,7 @@ static inline void dec_counter_for_resize_op(KEY_CACHE *keycache) SYNOPSIS change_key_cache_param() - keycache pointer to a key cache data structure + keycache pointer to a key cache data structure division_limit new division limit (if not zero) age_threshold new age threshold (if not zero) @@ -625,7 +625,7 @@ writes: %ld r_requests: %ld reads: %ld", if (cleanup) { pthread_mutex_destroy(&keycache->cache_lock); - keycache->key_cache_inited= 0; + keycache->key_cache_inited= keycache->can_be_used= 0; KEYCACHE_DEBUG_CLOSE; } DBUG_VOID_RETURN; @@ -1315,7 +1315,7 @@ restart: return 0; } if (!(block->status & BLOCK_IN_FLUSH)) - { + { hash_link->requests--; /* Remove block to invalidate the page in the block buffer @@ -1326,9 +1326,9 @@ restart: buffer. Still we are guaranteed not to have any readers of the key part we are writing into until the block is removed from the cache as we set the BLOCL_REASSIGNED - flag (see the code below that handles reading requests). + flag (see the code below that handles reading requests). */ - free_block(keycache, block); + free_block(keycache, block); return 0; } /* Wait intil the page is flushed on disk */ @@ -1348,7 +1348,7 @@ restart: free_block(keycache, block); return 0; } - + if (page_status == PAGE_READ && (block->status & (BLOCK_IN_SWITCH | BLOCK_REASSIGNED))) { @@ -1693,7 +1693,7 @@ byte *key_cache_read(KEY_CACHE *keycache, do { keycache_pthread_mutex_lock(&keycache->cache_lock); - if (!keycache->can_be_used) + if (!keycache->can_be_used) { keycache_pthread_mutex_unlock(&keycache->cache_lock); goto no_key_cache; @@ -1829,7 +1829,7 @@ int key_cache_insert(KEY_CACHE *keycache, { uint offset; keycache_pthread_mutex_lock(&keycache->cache_lock); - if (!keycache->can_be_used) + if (!keycache->can_be_used) { keycache_pthread_mutex_unlock(&keycache->cache_lock); DBUG_RETURN(0); @@ -1873,7 +1873,7 @@ int key_cache_insert(KEY_CACHE *keycache, error= (block->status & BLOCK_ERROR); - dec_counter_for_resize_op(keycache); + dec_counter_for_resize_op(keycache); keycache_pthread_mutex_unlock(&keycache->cache_lock); @@ -1953,7 +1953,7 @@ int key_cache_write(KEY_CACHE *keycache, { uint offset; keycache_pthread_mutex_lock(&keycache->cache_lock); - if (!keycache->can_be_used) + if (!keycache->can_be_used) { keycache_pthread_mutex_unlock(&keycache->cache_lock); goto no_key_cache; @@ -2028,7 +2028,7 @@ int key_cache_write(KEY_CACHE *keycache, dec_counter_for_resize_op(keycache); keycache_pthread_mutex_unlock(&keycache->cache_lock); - + next_block: buff+= read_length; filepos+= read_length; @@ -2149,7 +2149,7 @@ static int flush_cached_blocks(KEY_CACHE *keycache, if (!last_errno) last_errno= errno ? errno : -1; } - /* + /* Let to proceed for possible waiting requests to write to the block page. It might happen only during an operation to resize the key cache. */ From 0db8ff2eda3466eb378bab969a8d05b0a203801d Mon Sep 17 00:00:00 2001 From: "bar@mysql.com" <> Date: Thu, 12 Aug 2004 10:46:16 +0500 Subject: [PATCH 5/6] Bug#5005 collation cp852_bin makes server crash ctype-simple.c: Check that unicode map was loaded cp852.xml: Missing cp852_bin was added. --- sql/share/charsets/cp852.xml | 2 ++ strings/ctype-simple.c | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/sql/share/charsets/cp852.xml b/sql/share/charsets/cp852.xml index ee434859233..958587d0399 100644 --- a/sql/share/charsets/cp852.xml +++ b/sql/share/charsets/cp852.xml @@ -114,6 +114,8 @@ + + diff --git a/strings/ctype-simple.c b/strings/ctype-simple.c index 8e295b9e13e..fbe702d27ad 100644 --- a/strings/ctype-simple.c +++ b/strings/ctype-simple.c @@ -1171,6 +1171,15 @@ static my_bool create_fromuni(CHARSET_INFO *cs, void *(*alloc)(uint)) uni_idx idx[PLANE_NUM]; int i,n; + /* + Check that Unicode map is loaded. + It can be not loaded when the collation is + listed in Index.xml but not specified + in the character set specific XML file. + */ + if (!cs->tab_to_uni) + return TRUE; + /* Clear plane statistics */ bzero(idx,sizeof(idx)); From d913e55e1b66746ac8a93d050fea9a931acf43df Mon Sep 17 00:00:00 2001 From: "joreland@mysql.com" <> Date: Thu, 12 Aug 2004 07:48:18 +0200 Subject: [PATCH 6/6] Add ndb binaries to ignore list --- .bzrignore | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.bzrignore b/.bzrignore index d1364b0219d..141ba2625c0 100644 --- a/.bzrignore +++ b/.bzrignore @@ -792,3 +792,16 @@ libmysql/my_time.c libmysqld/my_time.c sql/mysql_tzinfo_to_sql sql/mysql_tzinfo_to_sql.cc +ndb/src/cw/cpcd/ndb_cpcd +ndb/src/kernel/ndbd +ndb/src/kernel/blocks/backup/restore/ndb_restore +ndb/src/mgmclient/ndb_mgm +ndb/src/mgmsrv/ndb_mgmd +ndb/tools/ndb_delete_all +ndb/tools/ndb_desc +ndb/tools/ndb_drop_index +ndb/tools/ndb_drop_table +ndb/tools/ndb_select_all +ndb/tools/ndb_select_count +ndb/tools/ndb_show_tables +ndb/tools/ndb_waiter