Commit graph

653 commits

Author SHA1 Message Date
bar@mysql.com
cedafc30e8 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/home/bar/mysql-5.1-new.b17870v1
2006-04-19 09:50:17 +05:00
bar@mysql.com
e8e0d5c5fe bug#17870 Table names conflict with Windows device names
It was impossible to create some table names on Windows
(e.g. LPT1, AUX, COM1, etc).

Fixed to pad dangerous names with thee "at" signs
(e.g. LPT1@@@, AUX@@@, COM1@@@, and so on).
2006-04-11 18:16:14 +05:00
bar@mysql.com
5c0e1d5e4d Merge mysql.com:/usr/home/bar/mysql-5.1-new
into  mysql.com:/usr/home/bar/mysql-5.1-new.b18285
2006-04-11 17:12:29 +05:00
bar@mysql.com
df2d425afd Bug#16233: XML: ExtractValue() fails with special characters
ExtractValue didn't understand tag and attribute names
consisting of "tricky" national letters (e.g. latin accenter letters).
It happened because XPath lex parser recognized only basic
latin letter a..z ad a part of an identifier.

Fixed to recognize all letters by means of new "full ctype" which
was added recently.
2006-04-11 13:25:02 +05:00
bar@mysql.com
9bf1fb4c19 Bug#18285: ExtractValue not returning character data within <![CDATA[]]> as expected 2006-04-07 11:04:33 +05:00
bar@mysql.com
d590331d3c Merge mysql.com:/usr/home/bar/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.1-new
2006-04-05 23:01:10 +05:00
bar@mysql.com
139808f020 ctype-extra.c:
Recreating ctype-extra.c with additional 5.1
  charset, and with additional missing 5.0 charset
  due to bug with too small buffer MAX_BUF.
2006-04-05 19:52:47 +05:00
bar@mysql.com
52220d2d79 conf_to_src.c:
Buffer was too small to load Index.xml.
  So some charsets were not gerenrated.
  Making the buffer bigger, and adding an DBUG_ASSERT,
  to easier catch the problem in the future.
ctype-extra.c:
  Additional charsets were generated.
2006-04-05 19:43:38 +05:00
bar@mysql.com
cbcd9cd575 Merge mysql.com:/usr/home/bar/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.1-new
2006-04-05 19:00:02 +05:00
bar@mysql.com
1c74e21809 After merge fix for Bug#12076 --with-extra-charsets has no effect 2006-04-04 15:40:42 +05:00
bar@mysql.com
26100744eb Merge mysql.com:/usr/home/bar/mysql-4.1.12076
into  mysql.com:/usr/home/bar/mysql-5.0
2006-04-03 17:24:14 +05:00
bar@mysql.com
2c2ee32b93 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.12076
2006-04-03 17:11:54 +05:00
knielsen@mysql.com
8e7907c36e Add embedded server build to the CMake build files. 2006-04-03 10:25:36 +02:00
monty@mysql.com
c04660e85e Cleanup during review of new pushed code 2006-03-30 03:11:37 +03:00
knielsen@mysql.com
cc57e4e01b Manual merge. 2006-03-28 10:07:03 +02:00
knielsen@mysql.com
bc6628d27f Some changes to make it possible to build for Windows with CMake from
a normal 'make dist' source .tar.gz.
2006-03-24 22:50:56 +01:00
bar@mysql.com
94814d735f ctype-utf8.c, ctype-simple.c:
Forgot to include into the previous changeset.
2006-03-23 21:41:29 +04:00
bar@mysql.com
8620ac4d64 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b15376
2006-03-23 14:29:43 +04:00
bar@mysql.com
b2b020b318 Merge mysql.com:/usr/home/bar/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.1-new
2006-03-23 14:14:32 +04:00
bar@mysql.com
296d4b2f2c Bug#15376: Unassigned multibyte codes are converted to U+0000
Mergeing changes into 5.0
2006-03-23 14:03:39 +04:00
bar@mysql.com
1008146d86 Merge mysql.com:/usr/home/bar/mysql-4.1.b15376
into  mysql.com:/usr/home/bar/mysql-5.0
2006-03-23 12:41:28 +04:00
bar@mysql.com
e4b6264f6c Merge mysql.com:/usr/home/bar/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.1-new
2006-03-23 12:22:39 +04:00
bar@mysql.com
6ed5cdfd57 ctype-czech.c:
Fixing wrong min_sort_char.
2006-03-23 12:15:13 +04:00
bar@mysql.com
6ab496ac06 Merge mysql.com:/usr/home/bar/mysql-5.0
into  mysql.com:/usr/home/bar/mysql-5.1-new
2006-03-23 10:19:55 +04:00
bar@mysql.com
82de23010b Merge mysql.com:/usr/home/bar/mysql-4.1.b17374
into  mysql.com:/usr/home/bar/mysql-5.0
2006-03-23 10:17:31 +04:00
bar@mysql.com
da8a68b4ca Bug#17374: select ... like 'A%' operator fails to find value on columuns with key
Fixed that LIKE worked case insensitively for latin2_czech_cs,
which was wrong for a case sensitive collation.
2006-03-20 16:28:25 +04:00
Reggie@xgeek.
11979eec94 Moved cmake scripts into the proper directories 2006-03-15 10:22:12 -06:00
msvensson@shellback.(none)
278802615c Merge shellback.(none):/home/msvensson/mysql/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.1
2006-03-01 15:49:50 +01:00
gluh@eagle.intranet.mysql.r18.ru
4858032176 Fix for bug#17602 Server crash on AVG/SUM over DECIMAL column(2nd ver)
The table may be corrupted and decimal columns may have invalid values in this case.
To prevent crash we need to check that decimal column has allowable value.
In case of invalid value generate warning and set the value to 0.
2006-02-28 13:36:41 +04:00
bar@mysql.com
d7c773834b WL#1386 - CTYPE table for unicode character sets
A prerequisite for several fulltext and XML bugs.
MY_CHARSET_HANDLER now has a new function "ctype"
to detect a type of the next character in a string
(i.e. digit, letter, space, punctuation, control, etc),
which now works correctly for both 8bit and multibyte charsets.
Previously only 8bit charsets worked correctly,
while any multibyte character was considered as letter
in multibyte charsets.
Many files:
  Adding new function
Makefile.am:
  Adding build rules for uctypedump,
  a dump tool to create my_uctype.h
  using Unicode Character Database file.
m_ctype.h:
  Adding declaration of my_uni_ctype,
  ctype data for Unicode.
  Adding new member into MY_CHARSET_HANDLER
Makefile.am:
  Adding my_uctype.h into noinst_HEADERS
my_uctype.h, uctypedump.c:
  new files:
  ctype data for unicode,
  and the tool to generate it from 
  a Unicode Character Database file.
2006-02-02 10:07:47 +04:00
bar@mysql.com
0e665a7aa5 sql_show.cc:
Don't display charsets/collations with HIDDEN flag.
ctype-utf8.c:
  Adding HIDDEN flag to "filename"
  Changeing ID to 17 which was previosly
  used by deprecated "win1251", removed in 4.1.
charset-def.c:
  Adding "filename" as a hidden charset, for test purposes.
m_ctype.h:
  Adding MY_CS_HIDDEN flag,
  to hide charsets and collations from
  being displayed in SHOW.
2006-01-18 12:27:02 +04:00
evgen@moonbone.local
7f0aa55e36 Manually merged 2006-01-16 16:57:15 +03:00
bar@mysql.com
949aced164 Merge mysql.com:/usr/home/bar/mysql-4.1.b15377
into  mysql.com:/usr/home/bar/mysql-5.0
2006-01-13 16:39:33 +04:00
bar@mysql.com
78e93fbbcf Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b15377
2006-01-13 14:22:53 +04:00
bar@mysql.com
6ff211329f WL#1324 table name to file name encoding
- Encoding itself, implemented as a charset
  "filename". Originally planned to use '.'
  as an escape character, but now changed to '@'
  for two reasons: "ls" does not return
  file names starting with '.' considering them
  as a kind of hidden files; some platforms
  do not allow several dots in a file name.
- replacing many calls of my_snprintf() and
  strnxmov() to the new build_table_filename().
- Adding MY_APPEND_EXT mysys flag, to append
  an extention rather that replace it.
- Replacing all numeric constants in fn_format
  flag arguments to their mysys definitions, e.g.
  MY_UNPACK_FILENAME,
- Predictability in several function/methods:
  when a table name can appear with or withot .frm
  extension. Some functions/methods were changed
  so accept names strictly with .frm, other - strictly
  without .frm extensions. Several DBUG_ASSERTs were
  added to check whether an extension is passed.
Many files:
  table name to file name encoding
mysql_priv.h:
  Prototypes for new table name encoding tools.
ctype-utf8.c:
  Implementing "filename" charset for
  table name to file name encoding.
row0mysql.c:
  Fixing table name prefix.
mf_format.c:
  Adding MY_APPEND_EXT processing.
Many files:
  Fixing tests.
my_sys.h:
  Adding new flag to append rather than replace an extension.
m_ctype.h:
  Adding "filename" charset definition.
2005-12-31 09:01:26 +04:00
evgen@moonbone.local
5a3ce237af Merge moonbone.local:/work/14583-bug-5.0-mysql
into moonbone.local:/work/14583-bug-5.1-new-mysql
2005-12-28 19:47:56 +03:00
evgen@moonbone.local
45abf0dabd Manual merge 2005-12-28 17:23:08 +03:00
stewart@mysql.com
cac298e07b Merge mysql.com:/home/stewart/Documents/MySQL/5.0/main
into  mysql.com:/home/stewart/Documents/MySQL/5.1/new
2005-12-28 13:55:59 +11:00
evgen@moonbone.local
d91cbf34ff Fix bug#14583
When InnoDB compares varchar field in ucs2 with given key using bin collation,
it calls my_strnncollsp_ucs2_bin() to perform comparison.
Because field length was lesser than length of key field should be padded
with trailing spaces in order to get correct result. 
Because  my_strnncollsp_ucs2_bin() was calling my_strnncollp_ucs2_bin(), which
doesn't pads field, wrong comparison result was returned. This results in
wrong result set.

my_strnncollsp_ucs2_bin() now compares fields like my_strnncollsp_ucs2 do,
but using binary collation.
2005-12-27 20:16:59 +03:00
serg@serg.mylan
5bde71e4cb Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2005-12-24 11:00:31 +01:00
serg@serg.mylan
c063819075 locking issues,
test for LONGLONG_MIN in decimal.c
2005-12-23 20:50:28 +01:00
bar@mysql.com
7f843ffe87 ctype_uca.result, ctype_uca.test:
Adding test case.
charset-def.c:
  Initialize new collation.
ctype-uca.c:
  Adding simplified Hungarian collation.
2005-12-23 14:20:00 +04:00
bar@mysql.com
519f9d628c Adding XPath support: ExtractValue and UpdateXML functions.
libmysqld/Makefile.am:
sql/Makefile.am:
  Adding new source files.
  Adding new file into build process.
include/my_xml.h:
strings/xml.c:
  Adding new XML parse flags to skip text normalization and 
  to use relative tag names. Adding enum for XML token types.
sql/lex.h:
  Making parser aware of new SQL functions.
sqll/item_create.h, sql/item_create.cc:
  Adding creators for ExtractValue and UpdateXML.
sql/item.h:
  Adding new Item types: nodeset and nodeset comparator.
sql/item_xmlfunc.h
sql/item_xmlfunc.cc
  Adding new classes implementing XPath functions.
mysql-test/t/xml.test, mysql-test/r/xml.result:
  New files: adding test case
2005-12-21 17:13:52 +04:00
bar@mysql.com
9ac6e558d4 Bug#15375 Unassigned multibyte codes are broken
into parts when converting to Unicode.
m_ctype.h:
  Reorganizing mb_wc return codes to be able
  to return "an unassigned N-byte-long character".
sql_string.cc:
  Adding code to detect and properly handle
  unassigned characters (i.e. the those character
  which are correctly formed according to the 
  character specifications, but don't have Unicode
  mapping).
Many files:
  Fixing conversion function to return new codes.
ctype_ujis.test, ctype_gbk.test, ctype_big5.test:
  Adding a test case.
ctype_ujis.result, ctype_gbk.result, ctype_big5.result:
  Fixing results accordingly.
2005-12-12 21:42:09 +04:00
bar@mysql.com
b99f9ab723 Bug#15377 Valid multibyte sequences are truncated on INSERT
ctype-euc_kr.c:
ctype-gb2312.c:
  Adding specific well_formed_length functions
  for gb2312 and euckr, to allow storing characters
  which are correct according to the character set
  specifications but just don't have Unicode mapping.
  Previously only those which have Unicode mapping
  could be stored, while unassigned characters lead
  to data truncation.
Many files:
  new file
2005-12-09 16:37:58 +04:00
monty@mysql.com
4575a662cb Merge mysql.com:/home/my/mysql-5.1
into  mysql.com:/home/my/mysql-5.1-TDC
2005-11-23 22:58:53 +02:00
monty@mysql.com
e42c980967 Table definition cache, part 2
The table opening process now works the following way:
- Create common TABLE_SHARE object
- Read the .frm file and unpack it into the TABLE_SHARE object
- Create a TABLE object based on the information in the TABLE_SHARE
  object and open a handler to the table object

Other noteworthy changes:
- In TABLE_SHARE the most common strings are now LEX_STRING's
- Better error message when table is not found
- Variable table_cache is now renamed 'table_open_cache'
- New variable 'table_definition_cache' that is the number of table defintions that will be cached
- strxnmov() calls are now fixed to avoid overflows
- strxnmov() will now always add one end \0 to result
- engine objects are now created with a TABLE_SHARE object instead of a TABLE object.
- After creating a field object one must call field->init(table) before using it

- For a busy system this change will give you:
 - Less memory usage for table object
 - Faster opening of tables (if it's has been in use or is in table definition cache)
 - Allow you to cache many table definitions objects
 - Faster drop of table
2005-11-23 22:45:02 +02:00
monty@mysql.com
e05630b17f Moved long running query to type_newdecimal-big.test
Removed warnings that depends on floating point comparisions in type_newdecimal.test which caused failures in some setups
2005-11-23 20:16:06 +02:00
guilhem@mysql.com
2f95fc2701 Merge mysql.com:/home/mysql_src/mysql-5.0
into  mysql.com:/home/mysql_src/mysql-5.1-merge-of-5.0 (not all files are good,
I'll fix; I'll ask some devs to check their part)
2005-11-18 16:38:01 +01:00
holyfoot@mysql.com
bbc26a63b2 merging 2005-11-10 16:32:49 +04:00