Commit graph

476 commits

Author SHA1 Message Date
jimw@mysql.com
00d29cd259 Merge mysql.com:/home/jimw/my/mysql-5.0-clean
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2005-12-12 11:57:07 -08:00
igor@rurik.mysql.com
09e6597015 Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-2
2005-12-02 20:42:36 -08:00
jimw@mysql.com
01ac5172dd Merge mysql.com:/home/jimw/my/mysql-5.0-clean
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2005-12-01 15:14:51 -08:00
jimw@mysql.com
fb1200a0a3 Merge mysql.com:/home/jimw/my/mysql-4.1-12612
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-12-01 12:07:25 -08:00
pem@mysql.com
b2a9961abf Merge mysql.com:/usr/local/bk/mysql-5.0
into  mysql.com:/usr/home/pem/mysql-5.1-new
2005-11-28 20:14:12 +01:00
igor@rurik.mysql.com
881e6e681c Fixed bug #15106.
A typo bug caused loss of a predicate of the form field=const in some cases.
2005-11-25 18:51:44 -08: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
igor@rurik.mysql.com
7b1b69a6e7 Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-2
2005-11-22 23:00:57 -08:00
bell@sanja.is.com.ua
806f9e24ff Inefficient usage of String::append() fixed.
Bad examples of usage of a string with its length fixed.
The incorrect length in the trigger file configuration descriptor
  fixed (BUG#14090).
A hook for unknown keys added to the parser to support old .TRG files.
2005-11-20 20:47:07 +02:00
jimw@mysql.com
a6aa8fa6d0 Fix handling of comparisons done by IN() to be consistent with how they
are done for the = operator, such as when doing a comparison with a large
unsigned number that was quoted. (Bug #12612)
2005-11-07 14:59:52 -08:00
igor@rurik.mysql.com
8e8a2d79cc Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-2
2005-11-04 17:54:47 -08:00
evgen@moonbone.local
30fdafea76 Fix bug #14093 Query takes a lot of time when date format is not valid
Invalid date like 2000-02-32 wasn't converted to int, which lead to not
using index and comparison with field as astring, which results in slow
query execution.

convert_constatn_item() and get_mm_leaf() now forces MODE_INVALID_DATES to
allow such conversion.
2005-11-03 13:53:49 +03:00
igor@rurik.mysql.com
a236acce10 Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-2
2005-10-22 19:35:37 -07:00
andrey@lmy004.
991b6f1440 fix for bug #12595 (ESCAPE must be exactly 1 character long)
ESCAPE has length of 1 if specified and sql_mode is NO_BACKSLASH_ESCAPES
or has length of 0 or 1 in every other situation.
(approved patch applied on a up-to-date tree re-commit)
2005-10-21 04:01:52 +03:00
igor@rurik.mysql.com
c136e9c43b Fixed bug #12762:
allowed set functions aggregated in outer subqueries, allowed nested set functions.
2005-10-15 14:32:37 -07:00
msvensson@msdesk.(none)
5da6a6c8a1 Merge msdesk.(none):/home/msvensson/mysql-4.1
into  msdesk.(none):/home/msvensson/mysql-5.0
2005-10-06 14:40:18 +02:00
bar@mysql.com
905c8b8c88 item_cmpfunc.cc:
Wrong variable.
2005-10-06 15:26:59 +05:00
bar@mysql.com
1fb8ea3714 item_cmpfunc.cc:
wrong variable.
2005-10-05 17:33:39 +05:00
bar@mysql.com
7fe434098e Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b13046
2005-09-29 16:07:33 +05:00
kent@mysql.com
656b0cc15a Merge 2005-09-29 03:20:31 +02:00
kent@mysql.com
844d964f2d Many files:
Prefix regex functions/types with "my_" as our
  library is not compatible with normal regex lib.
my_regex.h:
  Rename: regex/regex.h -> regex/my_regex.h
2005-09-29 02:08:24 +02:00
bar@mysql.com
d870612ac0 Bug#13046: LIKE pattern matching using prefix
index doesn't return correct result
item_cmpfunc.cc:
  Use charset of LIKE to decide whether
  to use 8bit or Unicode "escape" value.
  But use charset of "escape" to scan escape character.
strings/ctype-xxx.c:
  We cannot reduce "end" pointer using charpos(),
  because of possible escape characters in the string.
  Limit the loop using count of written characters instead.
ctype_like_escape.inc:
  new file
mysql-test/t/ctype_xxx:
mysql-test/r/ctype_xxx:
  Adding test case.
2005-09-21 23:10:51 +05:00
jani@a193-229-222-105.elisa-laajakaista.fi
e760a58f07 Merged from 4.1 to 5.0. 2005-09-13 01:44:50 +03:00
jani@a193-229-222-105.elisa-laajakaista.fi
01ce8a8aa9 Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
2005-09-12 20:18:49 +03:00
monty@mishka.mysql.com
0965bfa832 Review fixes since last pull
Fix for bug #13025; Server crash in filesort because wrong call to handler::position()
2005-09-12 18:48:17 +03:00
aivanov@mysql.com
29e8b30fc2 Merge mysql.com:/home/alexi/dev/mysql-4.1-12101
into  mysql.com:/home/alexi/dev/mysql-5.0-12101
2005-09-09 19:08:12 +04:00
aivanov@mysql.com
5eae17bc3c BUG #12101: Additional fix. 2005-09-09 19:06:15 +04:00
aivanov@mysql.com
d6398c1aae Merge mysql.com:/home/alexi/mysql-5.0
into  mysql.com:/home/alexi/dev/mysql-5.0-0
2005-09-07 18:58:58 +04:00
aivanov@mysql.com
6ff3befd32 Merge mysql.com:/home/alexi/mysql-4.1
into  mysql.com:/home/alexi/dev/mysql-4.1-0
2005-09-07 18:55:33 +04:00
aivanov@mysql.com
4b245a2803 join_outer.result, opt_range.cc, item_cmpfunc.cc:
Post merge changes
sql_yacc.yy:
  Post merge changes
sql_select.cc:
  Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
   for some expressions (post merge changes).
   The function add_key_fields() is modified. There cannot be NOT before
   BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
   now [NOT]BETWEEN/IN expressions.
2005-09-07 17:42:47 +04:00
bar@mysql.com
d261e1f5c5 Merge mysql.com:/usr/home/bar/mysql-4.1.b12611
into  mysql.com:/usr/home/bar/mysql-5.0
2005-09-07 16:32:15 +05:00
aivanov@mysql.com
2165167200 Merge mysql.com:/home/alexi/dev/mysql-4.1-0
into  mysql.com:/home/alexi/dev/mysql-5.0-0
2005-09-06 23:49:54 +04:00
aivanov@mysql.com
fa51afedeb item_cmpfunc.h:
Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
   for some expressions.
   The classes Item_func_between, Item_func_if, Item_func_in are modified.
   Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
   The class Item_func_opt_neg is added to factor out the functionality
   common for the modified classes Item_func_between and Item_func_in.
item_cmpfunc.cc:
  Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
   for some expressions.
   Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
   Item_func_in::fix_fields(). They correct generic calculation of
   the not_null_tables attribute when it is needed.
   Modified Item_func_between::val_int(), Item_func_in::val_int().
opt_range.cc:
  Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
   for some expressions.
   The function get_mm_tree() is modified. There cannot be NOT before
   BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
   now [NOT]BETWEEN/IN expressions.
sql_yacc.yy:
  Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
   for some expressions.
   Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
join_outer.result:
  Fixed some testcases results (bugs #12101, #12102)
join_outer.test:
  Added testcases for bugs #12101, #12102
2005-09-06 18:03:08 +04:00
bar@mysql.com
d40278e041 func_like.result, func_like.test:
adding test case.
item_cmpfunc.cc:
  Bug#12611
  ESCAPE + LIKE do not work when the escape char is a multibyte one
  Additional fix for 8bit character sets:
  escape character must be converted into
  operation character set.
2005-09-06 16:16:10 +05:00
konstantin@mysql.com
a3ddcdf8fb Rename:
- current_arena to stmt_arena: the thread may have more than one
'current' arenas: one for runtime data, and one for the parsed 
tree of a statement. Only one of them is active at any moment.
- set_item_arena -> set_query_arena, because Item_arena was renamed to 
Query_arena a while ago
- set_n_backup_item_arena -> set_n_backup_active_arena;
the active arena is the arena thd->mem_root and thd->free_list
are currently pointing at.
- restore_backup_item_arena -> restore_active_arena (with the same
rationale)
- change_arena_if_needed -> activate_stmt_arena_if_needed; this
method sets thd->stmt_arena active if it's not done yet.
2005-09-02 17:21:19 +04:00
bar@mysql.com
5d8c5e799e Bug#12611: ESCAPE + LIKE do not work when the escape char is a multibyte one
item_cmpfunc.cc:
  Pass unicode value as "escape" argument to my_wildcmp
  if a multibyte character set is used.
  For single byte character set nothing has changed:
  native (non-unicode) character code is still passed.

ctype_utf8.result, ctype_utf8.test:
  adding test case
2005-08-31 14:04:54 +05:00
monty@mishka.local
d62295e44e Cleanup during review of new pushed code 2005-08-22 01:13:37 +03:00
bell@sanja.is.com.ua
a3724d2546 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug2-5.0
2005-08-19 08:55:38 +03:00
bell@sanja.is.com.ua
fc070c2bcb stop on NULL comparison only if it is allowed (BUG#12509) 2005-08-18 12:07:14 +03:00
jimw@mysql.com
15f97778ff Revert patch for Bug #12595, it causes the sql_mode test to fail. 2005-08-17 19:56:14 -07:00
andrey@lmy004.
7269045b82 after review fix for bug #12595 2005-08-16 20:54:53 +02:00
andrey@lmy004.
a7a762e27d fix for bug #12595 (Escape character has to be exactly one) 2005-08-16 15:39:40 +02:00
acurtis@xiphis.org
b9476f7d50 Merge xiphis.org:/usr/home/antony/work2/mysql-4.1
into  xiphis.org:/usr/home/antony/work2/merge-5.0
2005-08-11 12:18:53 +01:00
igor@rurik.mysql.com
73be194f96 subselect.test, subselect.result:
Added a test case for bug #12392.
item_cmpfunc.cc:
  Fixed bug #12392.
  Missing handling of rows containing NULL components
  when evaluating IN predicates caused a crash.
2005-08-08 16:51:12 -07:00
monty@mishka.local
2278e0319c Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mishka.local:/home/my/mysql-5.0
2005-07-18 19:03:01 +03:00
monty@mishka.local
78c65b5adc Cleanups during review
Changed defaults option --instance to --defaults-group-suffix
Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX
mysql_print_defaults now understands --defaults-group-suffix
Remove usage of my_tempnam() (not safe function)
if( -> if ( and while( to while (
2005-07-18 15:33:18 +03:00
bell@sanja.is.com.ua
8aad35f9d2 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug6-5.0
2005-07-16 00:17:05 +03:00
bell@sanja.is.com.ua
6114bee47c stop evaluation constant functions in WHERE (BUG#4663)
correct value of CURRENT_USER() in SP with "security definer" (BUG#7291)
2005-07-16 00:01:44 +03:00
monty@mysql.com
5b8683db74 After merge fixes 2005-07-04 16:01:04 +03:00