Commit graph

288 commits

Author SHA1 Message Date
konstantin@mysql.com
568c6e8526 Fix for bug#4912 "mysqld crashs in case a statement is executed
a second time". The bug was caused by incompatibility of
negations elimination algorithm and PS: during first statement 
execute a subtree with negation was replaced with equivalent 
subtree without NOTs.
The problem was that although this transformation was permanent, 
items of the new subtree were created in execute-local memory.
The patch adds means to check if it is the first execute of a
prepared statement, and if this is the case, to allocate items
in memory of the prepared statement.
The implementation:
- backports Item_arena from 5.0
- adds Item_arena::is_stmt_prepare(), 
  Item_arena::is_first_stmt_execute().
- deletes THD::allocate_temporary_pool_for_ps_preparing(),
  THD::free_temporary_pool_for_ps_preparing(); they
  were redundant.
and adds a few invariants:
- thd->free_list never contains junk (= freed items)
- thd->current_arena is never null. If there is no
  prepared statement, it points at the thd. 
The rest of the patch contains mainly mechanical changes and
cleanups.
2004-08-21 02:02:46 +04:00
bar@mysql.com
1cd108ff97 Many files:
LIKE crashed mysqld for binary collations in some cases
2004-08-18 12:07:54 +05:00
sergefp@mysql.com
83dc887b9d Renamed Arg_comparator::compare_int -> compare_int_signed 2004-08-18 02:37:31 +04:00
sergefp@mysql.com
fdb51f67a2 Fix for bug#4488: sign-aware equality check 2004-08-17 02:59:24 +04:00
sergefp@mysql.com
4ddeee9d2f Fix for BUG#4488: first portion: sign aware '<' and '>' comparisons. 2004-08-11 23:08:20 +04:00
serg@serg.mylan
e1e1c39bda cleanup 2004-08-07 23:18:13 +02:00
bell@sanja.is.com.ua
41bd6aa4b6 do not assign values of left expression of IN/ANN/ANY subquery in case of PS preparation (BUG#4403) 2004-07-04 10:40:24 +03:00
dlenev@brandersnatch.localdomain
b20dca925d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into brandersnatch.localdomain:/home/dlenev/src/mysql-4.1-bg4200
2004-06-22 19:28:01 +04:00
dlenev@brandersnatch.localdomain
eea19e5235 Fix for Bug# 4200 "Parse error on LIKE ESCAPE with parameter binding"
Now ESCAPE in LIKE will accept not only string literal but constant 
delimited expression.
2004-06-22 19:27:16 +04:00
bell@sanja.is.com.ua
e71b693115 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-regexp-4.1
2004-06-22 15:17:40 +03:00
bell@sanja.is.com.ua
a19b0f0a8e cleanup for Item_func_regex (Bug #4199) 2004-06-19 13:26:39 +03:00
monty@mysql.com
b11d258835 Merge with 4.0.21 2004-06-18 04:38:58 +03:00
serg@serg.mylan
86e9dc29b0 BUG#3987 - if(int, aggregate(int)) 2004-06-07 12:38:35 +02:00
tsmith@build.mysql.com
8746a7dab4 logging_ok:
Logging to logging@openlogging.org accepted
item_cmpfunc.cc, ctype_recoding.test, ctype_recoding.result:
  Call Item_func_conv_charset::fix_fields() in Item_bool_func2::fix_length_and_dec() (but #3704)
2004-05-10 23:19:50 +02:00
bell@sanja.is.com.ua
a535342d57 after review PS fixes 2004-04-10 01:14:32 +03:00
bell@sanja.is.com.ua
56be6f3f93 merge 2004-04-08 00:19:43 +03:00
bell@sanja.is.com.ua
5e37c41fae new error for unsupported command in PS
fixed IN subselect with basic constant left expression
SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
fixed multiupdate privelege check (BUG#3408)
fixed multiupdate tables check (BUG#3411)
unchecked commands now is rejected by PS protocol to avoid serever crash
fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
2004-04-08 00:16:17 +03:00
monty@mysql.com
42cf92ce37 Fixed many compiler warnings
Fixed bugs in group_concat with ORDER BY and DISTINCT (Bugs #2695, #3381 and #3319)
Fixed crash when doing rollback in slave and the io thread catched up with the sql thread
Set locked_in_memory properly
2004-04-05 13:56:05 +03:00
monty@mysql.com
4bc6b551f8 false/true -> FALSE/TRUE
Fixes after last merge
2004-03-30 02:32:41 +03:00
monty@mysql.com
1448199bd7 Cleanups & safety fixes 2004-03-25 22:11:22 +02:00
bell@sanja.is.com.ua
613104ad25 merge 2004-03-18 15:21:06 +02:00
bell@sanja.is.com.ua
2b45b53066 DBUG_ASSERT(fixed == 1); added to val*
small optimisation in signed_literal
2004-03-18 15:14:36 +02:00
monty@mysql.com
53c810cda4 merge fixes (use old code) 2004-03-18 00:16:04 +02:00
bell@sanja.is.com.ua
8035ce40ec DBUG_ASSERT(fixed == 0) added to fix_fields() 2004-03-17 14:26:26 +02:00
monty@mysql.com
f9ad650490 merge with 4.0 2004-03-17 10:36:12 +02:00
ram@gw.mysql.r18.ru
75ced0832e Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b2885
2004-03-16 12:59:06 +04:00
gluh@gluh.mysql.r18.ru
86211a1b44 Fix for bug #2629 NULLIF() doesn't behave as described in manual 2004-03-16 11:33:03 +04:00
ram@gw.mysql.r18.ru
0aab3a9eba a fix (bug #2885: like datetime) 2004-03-11 18:21:57 +04:00
bell@sanja.is.com.ua
7e48a0f610 merge 2004-03-09 12:52:25 +02:00
bell@sanja.is.com.ua
14b9fa3588 revision of fix_fields() calls (BUG2838) 2004-02-18 01:08:52 +02:00
bell@sanja.is.com.ua
a66b398eb8 merge 2004-02-17 11:12:55 +02:00
monty@mysql.com
f43093ec0e After merge fixes
Added more DBUG statements
Ensure that we are comparing end space with BINARY strings
Use 'any_db' instead of '' to mean any database. (For HANDLER command)
Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
2004-02-16 10:03:25 +02:00
bell@sanja.is.com.ua
272bd74abb memory leacks in PS with subqueries fixed (adddition to fix of BUG#2462) 2004-02-12 03:10:26 +02:00
bell@sanja.is.com.ua
cefdd4fec6 merge 2004-02-09 15:49:11 +02:00
bell@sanja.is.com.ua
e58771bb07 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-prepared-4.1
2004-02-09 14:46:41 +02:00
bell@sanja.is.com.ua
69e2460bd4 fixed subquery with PS (BUG#2462)
fixed UNION preparation
2004-02-08 20:14:13 +02:00
monty@mysql.com
480b082cf4 merge 2004-02-05 18:14:48 +01:00
konstantin@mysql.com
7e9944d3d5 cleanup: #ifdef DELETE_ITEMS removed 2004-02-03 23:34:31 +03:00
bar@bar.intranet.mysql.r18.ru
8f1b5b48cc Bug #2619 ucs2 LIKE comparison fails in some cases 2004-02-03 18:14:23 +04:00
monty@mysql.com
0eb6070068 Code cleanup
Fixed bug in optimizer where it didn't choose right table order in some cases
2004-01-19 23:51:17 +01:00
hf@deer.(none)
1f8eb40310 Code cleanup (working on PS & cleanup() code)
Item & changed with Item* in Item_xxx constructors
tables_list.first -> get_table_list()
2004-01-19 19:53:25 +04:00
hf@deer.(none)
bfe134b86f Fix for prepared statements
Here i added Item_*::cleanup() functions,
removed a lot of ~Item_*'s,
added code to restore order_list and group_list
2003-12-30 14:08:19 +04:00
konstantin@oak.local
d37da004f6 THD::lex now points to THD::main_lex like in 5.0
All tests pass (client_test included)
2003-12-19 20:52:13 +03:00
Sinisa@sinisa.nasamreza.org
35b8a0cde9 Already approved bug fix for #1561.
Bug happens in INTERVAL function when number of compared arguments
is 8 or more.
2003-12-13 17:20:35 +02:00
konstantin@mysql.com
124c4ca346 cleanup: if there is return from if-part, we don't need else statement 2003-12-10 22:26:31 +03:00
monty@mysql.com
55e07608fd Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/my/mysql-4.1
2003-11-20 22:07:02 +02:00
monty@mysql.com
7c6113a39f Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)
2003-11-20 22:06:25 +02:00
bell@sanja.is.com.ua
1d84fa4d4e fixed memory allocation 2003-11-20 14:31:10 +02:00
bell@sanja.is.com.ua
a1272bbfd2 fixed memory allocation problem in IN with const rows 2003-11-19 19:31:19 +02:00
monty@mashka.mysql.fi
0bd17351ca Changed mysql_next_result() to return int instead of bool
Changed ~Item_func_in() to call cleanup() (to fix memory leak)
Fixed test_multi_statements() test in client_test
2003-11-19 17:31:57 +02:00