1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-16 00:42:55 +03:00
Files
mariadb/mysql-test/r
unknown e463ee9421 Bug#20404: SHOW CREATE TABLE fails with Turkish I
Problem: SHOW CREATE TABLE printed garbage in table
  name for tables having TURKISH I
  (i.e. LATIN CAPITABLE LETTER I WITH DOT ABOVE)
  when lower-case-table-name=1.
  
  Reason: In some cases during lower/upper conversion in utf8,
  the result string can be shorter the original string
  (including the above letter). Old implementation of caseup_str()
  and casedn_str() didn't handle the result length properly,
  assuming that length cannot change.
  
  This fix changes the result type of cs->cset->casedn_str()
  and cs->cset->caseup_str() from VOID to UINT, to return
  the result length, as well as put '\0' terminator on a 
  proper place.
  
  Also, my_caseup_str_utf8() and my_casedn_str_utf8() were 
  rewritten not to use strlen() for performance purposes.
  It was done with help of adding of new functions - my_utf8_uni_no_range()
  and my_uni_utf8_no_range() - for null terminated strings.



include/m_ctype.h:
  Changeing return type from void to int for caseup_str() and casedn_str()
mysql-test/r/lowercase_table.result:
  Adding test case
mysql-test/t/lowercase_table.test:
  Adding test case
sql/sql_parse.cc:
  Set table->table.length to result of my_casedn_str().
strings/ctype-bin.c:
  Changeing return type from void to int for caseup_str() and casedn_str()
strings/ctype-mb.c:
  Changeing return type from void to int for caseup_str() and casedn_str()
strings/ctype-simple.c:
  Changeing return type from void to int for caseup_str() and casedn_str()
strings/ctype-ucs2.c:
  Changeing return type from void to int for caseup_str() and casedn_str()
strings/ctype-utf8.c:
  Changeing return type from void to int for caseup_str() and casedn_str().
      Optimization, to get rid of strlen():
      Adding my_utf8_uni_no_range() and my_uni_utf8_no_range() - for null
      terninated strings.
2006-10-30 14:40:15 +04:00
..
2006-05-29 16:27:45 +02:00
2006-06-17 02:57:50 +04:00
2006-07-13 20:48:26 -07:00
2006-05-31 22:55:45 -07:00
2006-05-24 17:21:35 +03:00
2006-06-15 01:48:41 +04:00
2006-09-20 12:02:58 +03:00
2006-06-20 00:52:26 +04:00
2006-06-30 02:03:09 +04:00
2006-08-10 12:39:18 -04:00
2006-01-06 00:47:49 +02:00
2006-05-16 22:19:44 -07:00
2006-09-01 05:00:32 +02:00
2006-08-08 12:50:05 +05:00
2006-05-31 22:55:45 -07:00
2006-03-06 23:43:47 +01:00
2005-12-06 21:28:13 +01:00
2006-07-14 05:56:30 -07:00
2006-02-07 19:57:31 +01:00
2006-05-31 22:55:45 -07:00
2006-09-18 12:14:27 +02:00
2006-10-19 18:48:37 +05:00
2006-06-17 02:57:50 +04:00
2006-09-21 13:38:01 +02:00
2006-09-21 00:59:48 +02:00
2006-04-27 21:59:04 +09:30
2006-06-01 16:51:19 -07:00
2006-06-01 16:51:19 -07:00
2006-06-30 02:03:09 +04:00
2006-06-09 19:29:39 -07:00
2006-09-05 19:07:55 +03:00
2006-03-31 21:26:17 -08:00